p align="left">Каждый такой элемент может фиксировать одну команду, два её операнда, рез-тат выполнения, спец. код статуса команды. Биты этого кода несут информацию о том, выполняется ли эта команда, доступны ли вве операнды для команды. Восстановление порядка вывода результата и выполненных команд из конвейера обеспечивается тем, что элементы БВПК загружаются командами определённым образм, а именно так, как они следуют в выполняемой программе. На этом этапе вывода рез-та анализир. Статус команд хранящихся в БВПК и в соответствии с ним формируется очередь команд на удаление из конвейера и очередь вывода рез-тов в соответствии с порядком следования команд. Шина процессора При организации шины исп. новое решение. исп. кеш 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, 4, 5, 6, 7, 8
|