Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем (2005) (1186253), страница 21
Текст из файла (страница 21)
И, во-вторых, упростить структуру процессора. Этим технология VLIW отличается от суперскалярности. В последнем случае отбор групп одновременно выполняемых командпроисходит непосредственно в ходе выполнения прикладной программы (а не заранее). Из-за чего усложняется структура процессора и замедляется скорость его работы.Технология VLIW появилась в результате работ, проведенныхкорпорациями HP и Intel.Арифметико-логическое устройство (АЛУ)Arithmetic and Logical Unit (ALU) — компонента процессора, выполняющая арифметические и логические операции над данными.АЛУ реализует важную часть процесса обработки данных.
Оназаключается в выполнении набора простых операций. Арифметической операцией называют процедуру обработки данных, аргументыи результат которой являются числами (сложение, вычитание, умножение, деление). Логической операцией именуют процедуру, осуществляющую построение сложного высказывания (операции И,ИЛИ, НЕ, ...). АЛУ состоит из регистров, сумматора с соответствующими логическими схемами и блока управления выполняемымпроцессом. Устройство работает в соответствии с сообщаемыми емуименами (кодами) операций, которые при пересылке данных нужновыполнить над переменными, помещаемыми в регистры.2.2.
Процессор, структура и функционирование113АЛУ классифицируются следующим образом:1. По способу действий над операндами:• АЛУ последовательного действия;• параллельного действия.В последовательных АЛУ действия над операндами производятся последовательно разряд за разрядом начиная с младшего. В параллельных АЛУ все разряды операндов обрабатываются одновременно.2. По виду обрабатываемых чисел АЛУ могут производить операции над двоичными числами с фиксированной или плавающей запятой и над двоично-десятичными числами.
В последнем случае каждая десятичная цифра записывается четырьмя разрядами двоичного кода:20030010 0000 0000 ООНАЛУ при действии над двоично-десятичными числами должнысодержать схему десятичной коррекции. Схема десятичной коррекции преобразует полученный результат таким образом, чтобы каждый двоично-десятичный разряд не содержал цифру больше 9.При записи числа с фиксированной запятой запятая фиксируется после младшего разряда, если число целое, и перед старшим,если число меньше 1.При записи чисел с плавающей запятой выделяется целая часть,которая называется мантиссой, и показатель степени, который характеризует положение запятой.3. По организации действий над операндами:• блочные;• многофункциональные АЛУ.В блочных АЛУ отдельные блоки предназначены для действийнад двоично-десятичными числами, отдельно для действий над числами с фиксированной запятой, отдельно с плавающей запятой.В многофункциональных АЛУ одни и те же блоки обрабатывают числа с фиксированной запятой, плавающей запятой и двоично-десятичные числа (рис.
2.6).Клапаны К1 и К2 объединяют сумматоры 1, 2 и 3 для действийнад числами с фиксированной запятой.Для действий над числами с плавающей запятой клапан К2 объединяет сумматоры 2 и 3 для обработки мантисс, а клапан К1 отсоединяет первый сумматор от второго. Сумматор 1 обрабатывает порядки.Глава 2. Архитектура и структура ВМ и системРЕГИСТР 1Устройствоуправления->•>>>ivSM1К1>ъiгkгSM2АSM3К21LРЕГИСТР 2->Рис.
2.6. Многофункциональное АЛУ4 /То структуре:• АЛУ с непосредственными связями;• многосвязные.В многосвязных АЛУ входы и выходы регистров приемников иисточников информации подсоединяются к одной шине. Распределение входных и выходных сигналов происходит под действиемуправляющих сигналов.В АЛУ с непосредственной связью вход регистра приемникасвязан с выходом регистра источника операндов и регистра, в котором происходит обработка (рис. 2.7).Регистр 1Устройствоуправления->>гРегистр 2 ~~*->> k,->11гРегистр 3 ~^Рис. 2.7. АЛУ с непосредственной связьюНапример, в этой схеме суммирование происходит так: операнды подаются в регистр I.
Регистр 2 является накапливающим сумматором или автоматом с памятью. Он суммирует слагаемые, поступающие в разные моменты времени и передает результат в регистр 3.Умножение в этом АЛУ происходит так: множимое помещают врегистр 4, множитель — в регистр I. Регистры 2 и 3 являются, кроме того, сдвигающими регистрами. В зависимости от содержимогоразряда множителя, множимое сдвигается на один разряд, еслимножитель содержит 1, и на два, если множитель содержит 0. Этичастные произведения суммируются в регистре 2.2.3. Технологии повышения производительности процессоров1152.3.
Технологии повышения производительностипроцессоровКонвейерная обработка команд (pipelining). СуперскаляризацияРассмотрим процесс выполнения процессором команды для коротких (с фиксированной запятой или логические) операций. Как обэтом говорилось выше, обработка команды, или цикл процессора,может быть разделена на несколько основных этапов, которые можно назвать микрокомандами, которых известно пять основных типов.Каждая операция требует для своего выполнения времени, равного такту генератора процессора (tick of the internal clock). Отметим, что к длинным операциям (плавающая точка) это не имеет отношения — там другая арифметика. Очевидно, что при тактовойчастоте в 100 МГц быстродействие составит 20 миллионов операцийв секунду.Все этапы команды задействуются только один раз и всегда водном и том же порядке: одна за другой.
Это, в частности, означает,что если первая микрокоманда выполнила свою работу и передаларезультаты второй, то для выполнения текущей команды она больше не понадобится, и, следовательно, может приступить к выполнению следующей команды.Конвейеризация осуществляет многопоточную параллельную обработку команд, так что в каждый момент одна из команд считывается, другая декодируется и т. д., и всего в обработке одновременно находится пять команд. Таким образом, на выходе конвейера на каждомтакте процессора появляется результат обработки одной команды(одна команда в один такт).
Первая инструкция может считаться выполненной, когда завершат работу все пять микрокоманд.Такая технология обработки команд носит название конвейерной(pipeline) обработки. Каждая часть устройства называется ступеньюконвейера, а общее число ступеней — длиной линии конвейера.С ростом числа линий конвейера и увеличением числа ступенейна линии (табл. 2.1) увеличивается пропускная способность процессора при неизменной тактовой частоте.
Процессоры с несколькимилиниями конвейера получили название суперскалярных. Pentium —первый суперскалярный процессор Intel. Здесь две линии, что позволяет ему при одинаковых частотах быть вдвое производительнейJ80486, выполняя сразу две инструкции за такт.Во многих вычислительных системах, наряду с конвейером команд, используются конвейеры данных.116Глава 2. Архитектура и структура ВМ и системТаблица 2.1.
Характеристики конвейеров процессоров IntelПроцессорЙ0486 Pentium Pentium Pro Pentium MMX Pentium IIЧисло линий123Длина линии5514Pentium IIIPentium IV23336142031 (HyperPipehne)Сочетание этих двух конвейеров дает возможность достичь оченьвысокой производительности на определенных классах задач, особенно если используется несколько различных конвейерных процессоров, способных работать одновременно и независимо друг от друга.Одной из наиболее высокопроизводительных вычислительныхконвейерных систем считается CRAY. В этой системе конвейерныйпринцип обработки используется в максимальной степени.
Имеетсякак конвейер команд, так и конвейер арифметических и логическихопераций. В системе широко применяется совмещенная обработкаинформации несколькими устройствами. Максимальная пиковаяпроизводительность процессора может составлять 12 Гфлопс.Матричные и векторные процессорыВ отличие от скалярных и даже суперскалярных процессоровданные устройства манипулируют массивами данных и предназначены для обработки изображений, матриц и массивов данных. Частным случаем векторного процессора является процессор изображений, который предназначен для обработки сигналов, поступающихот датчиков-формирователей изображения.Матричный процессор имеет архитектуру, рассчитанную на обработку числовых массивов. Архитектура процессора включает в себяматрицу процессорных элементов, например 64 х 64, работающиходновременно.
Постпроцессор предназначен для реализации некоторых специальных функций, например управления базой данных.Векторный процессор обеспечивает параллельное выполнениеоперации над массивами данных, векторами. Он характеризуетсяспециальной архитектурой, построенной на группе параллельно работающих процессорных элементов (рис. 2.8, 2.9).Векторная обработка увеличивает производительность процессора за счет того, что обработка целого набора данных (вектора)производится одной командой. Векторные компьютеры манипулируют массивами сходных данных подобно тому, как скалярные машины обрабатывают отдельные элементы таких массивов. В этомслучае каждый элемент вектора надо рассматривать как отдельный2.3.