Основы информатики
p align="left">Структ схема КП показ на рис.РгЗП - рег запросов прер-ий, исп для хранения кода ЗП. Строится на Д-триггерах, имеющих возможность блокировки. СВЛ - схема выделения левой единицы. Преобразует код запроса прер-ий в унитарный код путем оставления крайней левой единицы в коде ЗП. ШП - шифратор приоритетов. Преобразует унитарный код с выхода СВЛ в двоичный код вектора прер-ий, к-ый исп-ся процессором для нахождения адреса ячейки памяти дескрипторной таблицы, по к-ому в ОП хранится ССП прерыв-щей прогр-ы. СР - схема сравнения. Сравнение кода вектора прер-ий и кода, поступ-щего из РТС. РТС - регистр технического состояния, к-ый хранит код текущего состояния (КТС). ТЗП - триггер запросов прер-ий. Реализован как Д-триггер с прямым динамическим управлением и с конъюнктивной записью по информ-му входу Д. ТБП - триггер блокировки прер-я. Реализован как DRS-тг, запись инф-ии в к-ый может осуществляться сигналом низкого уровня на входе S, либо синхронно при наличии на входе С перепада из 1 в 0 35.Конвейерная обработка (КО) КО позаоляет совместить во времени отдельные операции рабочего цикла процессора и яв. Одним из способов организации параллельных процессов выч-ных систем. Для КО рабочий цикл процессора разбивается на отдельные этапы каждый из которых выполняется отдельным автономным устр-вом в составе процессора ЭВМ. Совмещая во времени работу этих устройств можно обеспечить повышение производительности процессора. Основными этапами выполнения команды в раб. Цикле процессора: --выборка команды (ВК) --дешифрация --||-- (ДК) --выборка операндов (ВО) --исполнение команды (ИК) Указанные этапы выполняются послед. Во времени [ВК][ДК][ВО][ИК] В случае обычного процессора в нём в любой заданный момент времени обрабатывается только одна команда, для кот. выполняется последовательность этапов, представленная выше. После выполнения донной команды это повторяется дальше и т. д. Временная диаграмма выполнния команды для обычного процессора имеет вид:(см. рис.). tпос=tвк+tдк+tво+tис 4tT=tпос - длительность такта (один этап выполняется за один такт) P=1/tпос=1/4tТ (операций / с) производительность КО позволяет совместить различные этапы когда одна команда выбирается, др. декодируется, для 3-ей выбираются операнды, а 4-ая исполняется. Для реализации такого порядка обработки в составе процессора имеются спец. устр-ва, функционирование во времени к-ых совмещается. Операционное устройство исполняет первую команду, реализуя этап ИК, устр-во ВО обеспечивает этап ВО для 2-ой команды, устр-во декодирования обеспечивает этап ДК для 3-ей команды и устр-во ВК обеспечивает этап для 4-ой команды. В этом случае временная диаграмма исполнения после-сти команд имеет вид:(см. рис.) Как видно из временной диаграммы, начиная с момента t0 конвейер полностью заполнен и в каждом последующем такте выполняется одна команда программы. Это означает, что время выполнения команды : tконв=tT , а pконв=1/tT (1) Видно, что pконв> pпост На самом деле производительность процессора при конвейерной обработке не строго определяется соотношением (1). Это связано с простоями конвейера, к-ые возникают при выполнении команд условного перехода и прерываниях. Наиболее негативное влияние на конвейерную обработку оказывают команды условных переходов, т.к. процессор до получения рез-та анализа условия не может знать какую последовательность команд он должен выполнять следующей. Для повышения производительности конвейера при выполнении команд условных переходов совр МП содержат спец блоки ветвлений. К к-ые одноврем загружаются обе ветви, по к-ым может пойти процесс при выполнении команды условного перехода. В этом случае после получения рез-та анализа условия, процессор сразу же может приступить к обработки ветви, т.к. эти команды имеются уже в процессоре. В 32 битовых МП Intel, начиная с 386 бок ВК осущ опережающую выборку, помещая в очередь команд 16 байт (3-7 коинд). Суперскалярные процессоры (СП) Современные МП яв суперскалярными. Суперскалярность означает способность процессора одновременно выполнять 2 и более команд. Это обеспечивается использованием процессора параллельных конвейеров. 36. Микропроцессор Pentium (общая ха-ка, структура) Объединяет на одном кристале 3,1 млн транзисторов. Имеет тактовую частоту 60МГц. В Pentium впервые были использованы 2 параллельных конвейера и ряд новых архитектурных решений, к-ые позволили увеличить производительность Pentium, так что она ув в 2,6 раза. Производительность Pentium 112 MIPS. Основными архитектурными решениями, позволившими ув производительность Pentium по сравнению с предшествующими яв: - Суперскалярная структура - Использование раздельного кэширования (т.е. отдельное хранение команд и данных) - Предсказание правильного адреса перехода - Использование блока вычислений с плавающей точкой встроенного процессора - Использование внешней 64-битовой шины данных. Структура МП: КПК - Кэш-память команд КПД - Кэш память данных БПАП - блок предсказания адреса переходов БВУ - блок выборки с упреждением АЛУ - целочисленные АЛУ для выполнения операций над адресами и целочисленными данными в форме с фиксироаной точкой БР - блок регистров, содержит 64 битовые регистры, к-ые могут использоваться как буфер и для др целей БВПТ - блок вычислений с плавающей точкой БШИ - блок шинного интерфейса 37. Микропроцессор Pentium (организация конвейера, кэш команд и данных, блок предсказания адреса переходов) 3. D2 - второе декодирование (вычисление адресов операндов и их выборка) 4. ИК - исполнение команды 5. ЗБ - запись в буфер результата Этапы ВК и D1 в Pentium являются общими для обоих конвейеров. На этих этапах выбираются и декодируются по 2 команды, предназначенные для работы в конвейерах. Структура конвейерной обработки: В Pentium используется 2 конвейера U и V. V конвейер имеет некот. ограничения по сравнению с U конвейером. На этапе исполнения команды проверяются 2 след. команды, подлежащие исполнению. Если допускается их одновременное исполнение, то они запускаются в U и V конвейер. Если допускается выполнение только одной команды, она запускается в U конвейер, V конвейер при этом простаивает. На этапе повторного декодирования D2 используется целочисленное АЛУ, каждый конвейер имеет свое АЛУ. АЛУ выполняет операции аппаратного, без привлечения микропрограммного управления, широкоиспользовавшегося в 16битовых процессорах и ниже, это повышает производительность конвейера. Блоки КПК и КПД. Эти блоки обеспечивают раздельное кеширование команд (КПК) и данных (КПД). Раздельное хранение программ и данных в МП Pentium и в последующих поколениях исключает конфликты при одновременном обращении по шине для чтения или записи данных и команд. МП Pentium имеет встроенную 8Кбайтную КПК и КПД. КПК и КПД имеют наборно-ассоциативную структуру с длиной строки КЭШа 32 байта. КПД имеет отдельные интерфейсы, кот. позволяют одновременно обеспечивать данными 2 команды, выполняемые в конвейере. Блоки БВУ и БПАП. БВУ используется для предвыборки команд из КПК. Он состоит из 4-ех независимых буферов длиной 32 байта. Для загрузки конвейера осуществляется выборка двух команд из КПК, для временного хранения кот. используются 2 буфера БВУ. БВУ работает совместно с БПАП. БПАП отслеживает команды, кот. загружаются в БВУ, если среди них не всречается команд переходов, программа выполняется в естественном порядке следования команд. В том случае, если появляется команда перехода, БПАП предсказывает адрес перехода. Практически это осуществляется след. образом: если переход предсказывается, БПАП запоминает команду перехода и ее адрес и загружает в свободный буфер БВУ ветвь перехода, т.е. последовательность команд, начиная с команды, хранящейся по адресу перехода. В том случае, если переход предсказан неправильно, конвейер очищается, программа возвращается к точке, из кот. был вызван неправильный переход и продолжает выполняться в естественном порядке следования команд. Для этого потребуется определенное время, кот. реализуется ввиде так наз. штрафных циклов конвейера. При неправильном предсказании перехода U - 3 штрафных цикла, V - 4 цикла. 38. Принципы динамического исполнения программ Современные процессоры реализуют динамическое выполнение программ, которое базируется на трех компонентах: 1) предсказании адреса перехода, 2) анализе потока данных, 3) опережающем или внеочередном исполнении программы. Предсказание адреса перехода. Механизм пр.а.п. основывается на запоминании адреса перехода и анализе предыстории перехода, для чего процессор использует БАП, в котором запоминаются адреса переходов и специальные биты предыстории, которые несут информацию о том, имел ли место переход с данным адресом ранее. Это дает процессору возможность, не дожидаясь завершения анализа выполнения условия перехода, направлять в конвейер команды, начиная с адреса перехода. Это уменьшает простой и повышает производительность. Естественно если переход предсказан не правильно, то потребуется перегрузка конвейера. Наиболее эффективное предсказание перехода выполняется для циклов. Для современных процессоров вероятность правильного предсказания - 0.9. БПАП содержит БАП, который реализован как ассоциативная память. Каждая ячейка такой памяти способна хранить адрес перехода и биты предыстории. Когда команда условного перехода по какому либо адресу встречается первый раз, адрес перехода заносится в БАП и осуществляется установка определенных битов предыстории. Для каждой команды условного перехода осуществляется сравнение адреса перехода, указанного в команде с содержимым ячеек БАП. Если оказывается, что переход по такому адресу имел место, то по определённому алгоритму анализируются биты предыстории и предсказывается или не предсказывается переход. В микропроцессоре Pentium Pro БАП содержит 512 ячеек памяти и использует 4-х битовый код предыстории, который позволяет фиксировать до 4-х переходов. Анализ потока данных и опережающее выполнение команд. В процессе выполнения программы процессор анализирует связи между командами и доступность операндов для команды. В соответствии с результатом такого анализа обеспечивается направление команд на исполнение, если все операнды оказываются доступными. Это позволяет осуществлять неупорядоченное выполнение команд. Опережающее выполнение команд позволяет эффективно заполнять конвейер процессора, уменьшить простой. 39. Микропроцессор Pentium Pro (общая ха-ка, структура) Микропроцессор интегрирует 5,5 млн. транзисторов, самый слабый на частоте 150МГц имеет вторичную КЭШ 256кбайт и напряжение питания 3,1В. Понижение напряжения питания в микропроцессоре ПентиумПРО и последующих поколений связана с необходимостью снижения энерговыделения для обеспечения нормального теплового режима процессора при растущей степени интеграции и рабочей частоте. Чем больше частота, тем больше потерь. Новым архитектурным решением, используемым в микропроцессоре ПентиумПРО является то, что он выполняет программу, отличную от ее выполнения в микропроцессорах предшествующих поколений. ПентиумПРО разбивает программу на отдельные фрагменты и выполняет их в наиболее оптимальной последовательности с точки зрения обеспечения минимума затрат времени и ресурсов системы. Эта последовательность может существенно отличаться от последовательности следовательности команд в программе. На заключительном этапе спец.блоки микропроцессора упорядочивают результаты в том порядке, что они соответствуют порядку выполнения программы. Другим новым архитектурным решением является использование КЭШ 2-го уровня и раздельных шин связи. Одна шина связи-системная и используется для взаимодействия микропроцессора с ОП и внешними устройствами, другая- используется для обмена процессора с КЭШ 2-го уровня. Обмен осуществляется параллельными 64-битовыми кодами. В микропроцессоре ПентиумПРО используется 3 параллельных конвейера, которые позволяют выполнять до 3-х команд за 1 такт. В отличие от микропроцессоров Пентиум(5 ступ.) конвейер микропроцессора ПентиумПРО включают 14 ступеней. Одновременно в конвейере происходит обработка 3-х команд, которые в блоке декодирования разбивают на простейшие микрооперации. То есть одновременно в блоке декодирования могут выдавать до 6 микроопераций. Не упорядоченное ядро процессора осуществляет подключение микроопераций к исполнительным устройствам (АЛУ для операций с фиксированной точкой, блок выполнения с плавающей запятой, блок цепи ветвления и др.) и обеспечивает выполнение микроопераций наиболее оптимальным образом, причем порядок выполнения микроопераций может отличаться от порядка, предписываемого командами программ. На этапе исполнения микроопераций может осуществляться дополнительная конвейеризация. Так конвейеризация может иметь место при выполнении арифметических операций, операций с плавающей с плавающей запятой. 40. Блок упорядоченной обработки процессора Pentium Pro Структура блока: БВДК - взаимодействует с кеш - памятью команд через блок шинного интерфейса. На этом этапе выборки команд этот блок учитывает предсказание адреса переходов которые используют буфер адреса перехода. ДК - декодер, состоит из 4-х автономно работающих устройств трансл. Команд в программе в послед. микрокоманд. ДК использует два блока простой обработки которые используются для обработки команд транслируемых в одну микрокоманду. Блок сложной обработки используется для декодирования сложных команд которые транслируются в несколько микрокоманд (до 4-х) если команда транслируется в большее число микрокоманд дополнительно используется блок упорядочения микрокоманд. В любой момент времени работают три блока обработки, которые наполняют командами три параллельно работающих конвейера. ТПР - таблица псевдонимов регистров предназначена для реализации виртуальных регистров предназначыннных для реализации виртуальной многозадачности. На этом этапе выборки команд БВДК извлекает из КПК с учётом предсказания адреса перехода, для чего используется БАП, блок команд длинной 64байта. Затем используя указатель текущей команды выбирает из 64-б. блока 16-и байтовый блок команд который выравнивается и пересылается в ДК. Выборка 64-б., а не 16 нужных для ДК определяется тем, что длинна строки кеш 32б. и чтоб не делать дополнительного обращения к памяти если 16-б. блок находится в двух соседних строках кеш. 16-б. блок поступивший в ДК обрабатывает тремя ранее упомянутыми блоками в результате чего за один такт может генерироватся до шести микрокоманд. ТПР осуществляет преобразование логических адресов регистров в физич. адр. регистров в БРР. Необходимость использования БРР и ТПР связано с тем что ко-во регистров опред. прогр. Моделью в процессоре intel, недостаточно для организации динмического выполнения программ. После завершения этапа упорядоченной обработки программы, микрокоманды пересылаются в БДК и БВПК, где также фиксируется код статуса команд. 41. Блок обработки с изменением последовательности процессора Pentium Pro Этот блок представляет неупорядоченное ядро в процессоре Pentium Pro. БДК - блок диспетчер команд, в котором микрокоманды ожидают своей очеди на исполнение. Имеется три типа исполняемых устройств (блоки неупорядоченной обработки). БОП - блок операции с памятью, который содержит буфер данных, блок генерации адр. записи, блок генерации адр. считывания. БЦО - блок целочисленных операций. БОПЗ - блок операций с плавающей запятой. Используемые блок состоят из ряда автономных модулей, которые обеспеч. Паралельную работу трёх конвейеров процессора. Микрокоманды находящиеся в БДК направлены на исполнение когда для них оказываются доступны все операнды и свободны соответствующие операц. блоки предназначены для исполнения этих команд. Если команда поступившая а БДК имеет все необходимые операнды она направляется на исполнение. Результат выполнения микрокоманд пересылается другим микрокомандам для которых они являются операндами, а также фиксируются в БРР и в БВПК для дальнейшего восстановления последовательности команд. Для команд пересыски исп. БОП, а также для исключ, нарушений правил доступа к памяти - блок упорядоченого обращения к памяти (БУОП). 42. Блок вывода и внешняя шина процессора Pentium Pro Блок вывода вкл. два осн. блока: Блок восстановления последовательности команд; Блок реальных регистров. Основное назначение блока - организовать правильный вывод рез-тов и удаление команд из конвейера в соответствии с программой выполняемой процессором. Блок восстановления последовательности команд состоит из 40 элементов которые могут хранить 254б. каждый. Каждый такой элемент может фиксировать одну команду, два её операнда, рез-тат выполнения, спец. код статуса команды. Биты этого кода несут информацию о том, выполняется ли эта команда, доступны ли вве операнды для команды. Восстановление порядка вывода результата и выполненных команд из конвейера обеспечивается тем, что элементы БВПК загружаются командами определённым образм, а именно так, как они следуют в выполняемой программе. На этом этапе вывода рез-та анализир. Статус команд хранящихся в БВПК и в соответствии с ним формируется очередь команд на удаление из конвейера и очередь вывода рез-тов в соответствии с порядком следования команд. Шина процессора При организации шины исп. новое решение. исп. кеш L2 емкостью 256-512 кб. интегр. непоср. в процессоре. Это снижает число обращений по шине ОП и тем самым повышает производительность. Также как и в Pentium исп. 64б. (8бит коррекция ошибок: всего 72). Шина адреса - 36бит. Внешняя шина использует концепцию транзакций, суть которой закл. В том что процессор может посылать ряд последоват. запросов по шине к устройствам подключ. к ней, не дожидаясь ответов на эти запросы. Когда ответ будет подготовлен контроллер памяти сообщит об этом процессору и перешлёт ответ. 43. Процессор Pentium 4 (общая характеристика, новые архитектурные решения) Предназначен для работы с такими процессами: обработка графики, потоков видео и звука, мультимедиа. Изготовляется по 0.18 мкн технологии, 1.3-1.6 ГГц, напряжения питания - 1.6 В. Используются архитектурные решения, найденные ранее. Раздельный КЭШ команд и данных, суперскалярный, предсказание адреса перехода, динамическое исполнение команд. Новшеством является: 1) Большая глубина конвейера - 20-тистадийный, 2) Уникальный алгоритм предсказания адреса перехода, 3) Использование специализированного КЭШа. - trace cash - он хранит декодирование команды, 3) Целочисленное АЛУ процессора PIV работает на вдвое большей частоте, чем сам процессор, 5) Применение расширенного набора команд для обработки потоковых данных, 6) Новая системная шина с повышенной частотой 400-800 MHz. 44. Структура и функционирование процессора Pentium 4 БШИ - блок шинного интерфейса, предназначен для обмена процессора через системную шину с ОП и устройствами ВВ. Шина данных двунаправленная 64 бита, шина адреса 41 бит. КЭШ L2 используется для совместного хранения команд и данных. Интегрируется в кристалл процессора. Имеет наборную организацию с длиной строки КЭШ 128 байт и 8-ю областями ассоциативности. БТАД - блок трансляции адреса данных - проявление гарвардской структуры, т. е. разделение потока команд и данных PIV начинается после КЭШа L2, данные и команды по отдельным каналам передаются в КЭШ L1 битрейс КЭШ. Команды поступают на декодер (ДК) и осуществляется их декодирование, при этом используется блок трансляции адреса команд БТАК и блок трассировки и предсказания ветвления БТПВ. Команды в ДК преобразовываются в последовательность микрокоманд. Это новое архитектурное решение, отличающее PIV от процессоров предшествующих поколений. Хранение декодированных команд позволяет сэкономить время на процессе декодирования, когда поступает команда программы, которая ранее выполнялась, например, цикл. В этом случае БТПВ просто извлекает из КЭШ последовательность микрокоманд данной команды и направляет их на дальнейшую обработку. КЭШ микрокоманд может хранить 12 тысяч микрокоманд, поэтому если она заполняла КЭШ, то практически для каждой вновь поступающей команды можно найти её закодированный вариант. В том случае, если встречалась команда условного перехода, БТПВ включает механизм предсказания перехода. БПАП в PIV содержит БАВ способный запоминать свыше 4000 переходов. Команды, выходящие из КЭШ поступают на БРасР (блок распределения регистров), где для них выделяются регистры, необходимые в блоках зарезервированных регистров, операционные части конвейера процессора. Регистры по внутренней шине данных ШД связаны с операционным устройством процессора. В PIV используется в БРЗ 32 битные регистры для операций с плавающей точкой, а также введены расширенные 128 битные регистры, которые могут одновременно хранить по 2 операнда с плавающей точкой. Команды, прошедшие БРасР и получившие необходимые для их выполнения регистры, помещаются в очередь на выполнение. Динамическое выполнение программы реализуется блоком распределения команд (БРасК), который анализирует поток микрокоманд, определяет связи между микрокомандами, наличие у микрокоманд операндов, и с учетом этих данных и наличия свободных исполнительных устройств направляет эти команды на выполнение. В PIV очередь микрокоманд расширена до 126. Обработка команд осуществляется автономно с параллельно работающими арифметическими блоками, которые включают 4-е АЛУ для операций с фиксированной точкой. АЛУ блок MMX, который предназначен для обработки нескольких целочисленных операндов с помощью одной микрокоманды. Для групповой обработки с плавающей запятой используется блок SSE, тоже одной командой. Операнды для операционных блоков поставляются из БРЗ, либо из КЭША данных L1 и записываемых в неё формируются буфером формирования адреса БФА. БФА при обращении к памяти одновременно выдает адреса двух операндов, один для загрузки операнда в БРЗ, другой - из БРЗ в память. Опережающее динамическое исполнение команд, не требующих операндов, позволяет эффективно наполнить 20-ти стадийный конвейер. 45. общая характеристика и классификация АЛУ процессора АЛУ выполняет основные операции обработки многоразрядных кодов. К этим операциям относятся операции двоичной арифметики над числами с фиксированной точкой, а также над числами с плавающей точкой, операции десятичной арифметики над двоично-десятичными числами, операции индексной арифметики, операции над цифровыми полями, операции специальной арифметики, логические операции. Основными узлами АЛУ являются сумматоры, поскольку все основные операции выполняются на сумматорах: сложение, вычитание (как сложение в доп. коде), умножение (последовательность операций сложения и сдвига), деление (последовательность операций вычитания и сдвига). Различают АЛУ целочисленные и для операций над числами с плавающей точкой. Целочисленные АЛУ выполняют арифметические операции над числами в формате с фикс. точкой как в знаковом формате, так и в беззнаковом, логические операции, индексные, и некоторые операции специальной арифметики. АЛУ -- для операций над числами в формате с плавающей точкой (ч.с.п.т.) выполняют опер над ч.с.п.т. и некоторые операции специальной арифметики. 46. Сложение и вычитание чисел в формате с фиксированной точкой При выполнении операций сложения используется дополнительный код чисел, операция выполняется совместно над знаковыми и цифровыми битами числа. (переводится в дополнительный код и складывается в столбик) Операция вычитания чисел с фиксированной точкой также реализуется в дополнительном коде и сводится к операции сложения, для чего вычитаемое преобразуется в АЛУ в дополнительный код и складывается с уменьшаемым. (переводим вычитаемее в обратный код, прибавляем 1, и складываем в столбик с уменьшаемым) 47. Структура АЛУ для сложения и вычитания чисел с фиксированной точкой Функцию по преобразованию информации в процессоре выполняет АЛУ. АЛУ выполняет арифметические и логические операции много разрядных двоичных кодов, называемые операндами. Современные ЭВМ в составе процессора содержат целочисленные АЛУ для операций над целыми числами со знаком и без знака (числа с фиксированной точкой), логические операции, устройства десятичной арифметики, устройства выполнения операций с плавающей точкой. Основным исполнительным узлом АЛУ ЭВМ является много разрядный параллельный сумматор. Это связано с тем, что всю совокупность операций в двоичной арифметике можно свести к операциям сложения и сдвига. Целочисленые АЛУ. В почве операндов таких АЛУ используются целые двоичные числа, представленные в форме с фиксированной точкой в обратном или дополнительном коде. Всю совокупность арифм. операций АЛУ выполняет исп. сумматор, поэтому все операции двоичной арифметики сводятся к выполнению операций сложения и сдвига. Для выполнения операций сложения и вычитания в целочисл. АЛУ исп. обратный и дополн. коды. Операции выпол. над всеми цифровыми разрядами числа, а также и над знаковым разрядом. АЛУ должно предусматривать цикл. перенос из знакового бита р-та, значение прибавляется к мл. биту р-та, если исп. обратный код. Целоч. АЛУ, вып. опер. сложения в доп. коде циклический перенос не исп. При вып. операции сложения может возникать переполнение, кот. должно учитыв. при работе АЛУ. Признаком переполнения явл. разные значения переноса из ст. цифрового бита числа и знакового бита числа, если разный перенос, то переполнение. При выполнении опер. вычитания в целоч. АЛУ она сводится к опер. сложения. Для чего вычитаемое преобр. АЛУ в обратный или доп. код и складыв. с уменьшаемым в доп. коде. Переполнение фиксируется также. Цел. АЛУ могут выполнять и опер. над числами без знака. В этом случае операнды всегда положительны. Алу фиксирует переполнение по наличию переноса из старшего бита р-та. В случае вычитания переполнение не возникает, однако р-т может быть как полож., так и отр. Признаком полож. р-та явл. наличие переноса из ст. бита р-та, если перенос отсутствует, то р-т отрицательный. По этим признакам формируется признак полож. или отр. р-та. Структура АЛУ для слож. и выч. (см. рис. 1) РгА, РгВ - входные буферные n - разрядные регистры - сумматоры. РгСМ - выходной рег. сумматора. Рг 1 - входной рег. АЛУ предусм. передачу его содержимого в РгА в прямом или инверсном коде ПР - комбинационная схема для формирования признака р-та. Работа АЛУ. Данные в АЛУ поступают по ШИвх в доп. коде из ОП или РОН процессора. Первый операнд командой ПрРгВ (при вычитании - уменьшаемое) заносится в рег. РгВ. Второй операнд командой ПрРг1 (при вычитании - вычитаемое) заносится в рег. Рг1, откуда при выполнении сложения командой ПрРгАП передается в прямом коде в РгА. При вычитании ком. ПрРгАИ передается в инверсном виде в РгА. Операнды с выходов РгА и РгВ поступают на сумматор, где складываются, при выч. к р-ту присум. 1. Р-т с вых. сумматора командой ПрРгСМ записывается в РгСМ и выставляется на ШИвых , откуда может быть передан в РОН или ОП. При выполнении операций сложения и вычитания АЛУ формирует признак р-та, для чего исп. комбинационная схема ПР. Признак р-та формируется в виде двух битового кодав соотв с 0 - 00, <0 - 01, >0 - 10, переполнение - 11. 48. Алгоритм умножения и структура АЛУ для умножения чисел с фиксированной точкой Операция умножения сводится к выполнению последовательных операций сложения и сдвига. АЛУ для умножения n-разрядных чисел должно предусматривать 2n-разрядов для результата. Поскольку в сомножителях старшие биты - знаковые, после выполнения операции умножения множимого на все цифровые биты множителя, цифра старшего бита произведения будет располагаться в бите (2n-1). Для правильного расположения произведения в разрядной сетке после выполнения умножения требуется дополнительный сдвиг вправо на один быт, чтобы располагаться в бите (2n-2). Может быть реализовано в прямом и обратном коде. Наиболее просто реализовать, преобразовав сомножители к без знаковой форме. В зависимости от того как осуществляется умножение (начиная с младшей/старшей цифры множителя; со сдвигом вправо/влево суммы частичных произведений) существует 4 способа умножения двоичных чисел. Рассмотрим алгоритм умножения двоичных чисел с младших цифр множителя при неподвижном множимом и сумма частичных произведений сдвигается вправо. Алгоритм состоит в следующем : Складываются по модулю 2 знаковые биты сомножителей (это дает знак результата); Сомножители из дополнительного кода преобразуются в беззнаковую форму (в модуль числа); Сумма частичных произведений устанавливается равной нулю; Анализируется (начиная с младшего разряда) текущая цифра множителя. Если она равна 1, к сумме частичных произведений прибавляется множимое, если =0 - ничего не прибавляется, либо прибавляются нули. Осуществляется сдвиг суммы частичных произведений вправо на один бит Пункты 4 и 5 повторяются до тех пор, пока не будет выполнено умножение на все цифровые биты множителя. Результат сдвигается на 1 бит вправо для правильного расположения произведения в разрядной сетке Беззнаковый результат преобразуется в дополнительный код с учетом знака произведения, полученного в пункте 1. Структура АЛУ для умножения чисел АЛУ реализующая рассмотренный выше алгоритм имеет следующую структуру В структуре АЛУ не показаны блоки обеспечивающие вычисление знака произведения и преобразования сомножителей из дополнительного кода в беззнаковую форму. Будем предполагать, что такие блоки есть, так что сомножители по шине ШИВх приходят уже в беззнаковой форме. В схеме отсутствуют также цепи считывания результата в ОП. Множимое хранится в регистрах Рг1 и РгА, множители - в Рг2 и Рг2'; частичные произведения - РгВ и РгСм. СЧЦ - счетчик циклов, хранит количество циклов умножения, выполняемых в пунктах 4 и 5. ПРИНЦИП РАБОТЫ Работа начинается с загрузки сомножителей. По команде ПрРг1 множимое загружается с ШИВх в Рг1, по команде ПрРг2 - множитель загружается в Рг2. В СЧЦ командой СЧЦ:=n-1 загружается количество циклов умножения, а в РгВ по команде РгВ:=0 начальное значение суммы частичных произведений. Анализируется младший бит Рг2. Если он равен 0, то в РгА заносится 0 (РгА:=0), если равен 1 - из Рг1 в РгА передается множимое. Осуществляется сдвиг множителя вправо на 1 бит (Рг2':=П(1)Рг2, Рг2:=Рг2'). В освободившийся старший бит Рг2' передается цифра младшего разряда суммы частичных произведений с выхода сумматора (Рг2'[n-1]:=СМ[0]). Затем осуществляется сдвиг суммы частичных произведений вправо на один бит (РгСМ:=П(1)СМ). После чего содержимое РгСМ передается во входной регистр сумматора РгВ (РгВ:=РгСМ). После выполнения этих операций на входе сумматора (выход РгВ) оказывается сдвинутое на один бит вправо частичное произведение, а в младшем бите Рг2 следующая цифра множителя. После этого ПР уменьшает содержимое счетчика циклов на 1 (СЧЦ:=СЧЦ-1). ПР анализирует содержимое СЧЦ, и если он не равен 0 продолжает повторение цикла умножения в соответствии с операциями описанными выше. Если СЧЦ=0, умножение завершено. АЛУ выполняет дополнительный сдвиг произведения вправо на 1 бит для правильного расположения его в разрядной сетке (). После выполнения этих команд старшие биты -разрядного произведения окажутся в регистре РгВ, а младшие в Рг2, откуда могут быть считаны, преобразованы в дополнительный код и переданы в ОП. Рассмотренное функционирование АЛУ требует микропрограммного управления, т.е. устройство управления для таких АЛУ должно содержать блоки микропрограммного управления, в котором в ПЗУ хранится микропрограмма состоящая из последовательности микрокоманд обеспечивающих функционирование АЛУ в соответствии с рассмотренным алгоритмом. Это снижает быстродействие, т.к. требует довольно большие затраты времени на дешифрацию команд и выработку сигнала для устройств АЛУ. Кроме того реализация алгоритма умножения требует не менее () такта. 49. Аппаратная реализация умножения чисел с фиксированной точкой В современных ЭВМ для ускорения операции умножения используется ее аппаратная реализация. В качестве примере такой реализации рассмотрим матричный умножитель. Он позволяет выполнять операцию умножения за 1 такт и требует для реализации сумматор и логические элементы. Однобитовая операция умножения совпадает с логической операцией конъюнкции. И может быть реализована с помощью логического элемента «И». Для построения многоразрядных умножителей (например 4- и 2-разрядных) требуется 8 двухвходовых логических элементов «И» и 4-разрядный сумматор. Умножение осуществляется за 1 такт. 50. Алгоритм деления и структура АЛУ для деления чисел с фиксированной точкой Операция деления в двоичной ариф. сводится к выполнения операций вычитанию из делимого делителя и сдвига. Текущая цифра частного определяется по знаку рез-та вычитания : 1 - если рез-т положителен и 0 -рез-т отриц. При выполнении вычитания неподвижными м. оставаться частичные остатки, а делитель сдвигаться вправо, либо наоборот, но остатки сдвиг-ся влево. Деление м. производиться как восстан-ем остатка, так и без восстан-я. При реализации АЛУ для деления чисел фиксир. точкой, для делимого выделяется 2n разрядов, для делителя и частного n разрядов. Старший бит в операндах имеет 2n-1 цифровых разрядов, а делитель и частное n-1. Для размещения в разрядной сетке частного операций z=x/y, z<2n-1 для размещения в разрядной сетке, поэтому цифра частного, получаемого пои первом вычитании д.б. =0( частич. остаток отриц.). Первое вычит-е делителя из делимого рассматр-ся как пробное. Операция деления не вып-ся, если рез-т этого деления положителен. Перед вып-ем операции дел-я, делитель располаг-ся относит. делимого т.обр., что его младший бит(0-ой)распол-ся по n-1 битам делимого. Рассм. алг. деления чисел с фиксир. точкой с восст-ем остатка неподвижным делителем ичастичн. Остатками, сдвигаемыми влево. Алг. использует модульную форму представления операндов: 1. по mod 2 складыв-ся знак. биты операндов. Рез-т дает знак частного и остатка берутся модули делимого и делителя 2. делитель и делимое передаются в АЛУ т. обр., что на входе сумматора младш разряд делителя и n-1 разряд делителя(это м. осущ-ся сдвигом делимого влево на 1 бит) 3. из делимого а в последствии из част остатков, выч-ся делитель( практ-и это осущ. дополнит кода делителя). Активизируется знак рез-та: <0 - текущая цифра частного 0; >0 - 1.При вычит-и модулей чисел о положит разнице свидет наличие переноса из старш бита рез-та, об отриц - отсутствие такого переноса. 4. При <0( част остатке) производ-ся его восст-е путем прибавл-я прямого кода делителя. 5. Част остаток сдвигается влево на 1 бит. 6. Пункты 4,5,6 вып-ся пока не получены все цифры частного. Структура АЛУ, реализующего данный алг, показана на рис: Делитель размещается в PгY . В PгХ1 - старшие разряды делимого, а в PгХ2 - младшие. В структуре не показаны цепи перелачи операндов в АЛУ и рез-та в ОП, а такжеустр-во, преобразующее операнды в модульную форму,рез-т в код, используемый в ОП. PгХ3 дополнительный регистр, к-ый используется для операции деления. Работа АЛУ начинаеися с его начальной установки: В РгY передается модуль делителя; РгX1 старшие биты модуля делимого; РгX2 - младшие биты модуля делимого. 51. особенности арифметических операций над числами с плавающей точкой Числа с плавающей точкой имеют в компьютерном виде особое представление: в них мантисса и порядок хранятся раздельно, и операции над ними выполняются пораздельности. Т.е. при сложении чисел одинакового порядка складываются только мантиссы, а порядок остается. При сложении чисел с разными порядками необходимо привести числа к представлению с одинаковым порядком. При умножении чисел с плавающей точкой складываются порядки, а мантиссы умножаются. При делении вычитается порядок делителя из порядка делимого. После выполнения любой операции над числами в формате с плавающей точкой необходимо нормализовать результат -- привести к виду, в котором в первом бите мантиссы находится 1.
Страницы: 1, 2, 3
|