Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Центральные и переферийные устройства электронно вычислительных средств.pdf
Скачиваний:
284
Добавлен:
02.05.2014
Размер:
6.14 Mб
Скачать

Глава 4. Тенденции развития архитектуры и аппаратного обеспечения ЭВС

64

Пример 4.2. Выполняется следующая последовательность команд:

 

Мнемокод

Комментарий

Необходимые этапы и блоки

 

INC R2

Инкремент регистра 2

а), б), д)

 

MOVE R3, @ R2

Пересылка операнда из R3

а), б), в), г), д)

 

 

по адресу, наход. в R2

 

 

DIV R4, R3

Деление содержимого R4

а), б), д), е)

 

 

на содержимое R3

 

 

Выполнение во времени команд приведено на рис. 4.4.

При выполнении команды пересылки MOVE используется содержимое регистра R2, которое формируется лишь по окончании его обработки командой инкремента, поэтому два цикла - четвертый и пятый затрачены на ожидание. Конвейер останавливается на время двух этапов арифметической обработки, происходящей на этапе команды деления.

Для грубой оценки повышения производительности при использовании конвейеризации принимается, что самым медленным участком конвейера является блок (д), в котором происходит выполнение операции, предписываемой командой. Увеличение производительности равно сумме средних значений времени работы всех блоков конвейера, деленной на среднюю величину времени работы самого медленного участка конвейера для заданной комбинации команд.

При выполнении команд переходов или обращений к подпрограммам нарушается последовательность событий. Тогда необходимо конвейер частично или полностью опорожнить от команд, выполнение которых началось, и повторно его заполнить. При выполнении «коротких» команд некоторые блоки конвейера не используются. Кроме того, одни из блоков работают медленнее других, снижая производительность конвейера. Доля команд, на которых нарушается естественная последовательность выполнения программ, обычно составляет 15 - 30% от общего количества.

Недостатком вычислительных средств с конвейерной обработкой является сложность управляющего устройства - управляющего процессора. Он должен вести учёт операций, выполняемых одновременно.

Конвейерная обработка применяется в ВС, построенных на базе секционированных многокристальных МП типа К 1810, К 1804, в супер-ЭВМ Сrау 4-MР и других.

4.4. Архитектура процессоров с сокращенным набором команд

Набор команд центрального процессорного устройства - операционного процессора микропроцессорных комплектов содержит от 90 до 303 команд (супермини-ЭВМ VAX 11/ 780). Компьютеры с сокращенным набором команд - КСНК, или, иначе RISC-процессоры (от Reduced instruction set command) содержат 30 - 50 команд в наборе. Это достигается тем, что для выполнения наиболее часто встречающихся в алгоритмах микропрограммного управления переходов в устройство управления введены некоторые дополнительные средства. Наиболее часто повторяющиеся переходы приведены на рис. 4.5:

а) безусловный переход от адреса А i по адресу А j ,

б) условный переход по адресу Aj при выполнении некоторого условия С и по адресу Ак при невыполнении этого условия,

в), г) выполнение циклов по условию - реализуется с использованием условного перехода по условию (в) или с помощью стека (г), то есть безадресной памяти,

д) выполнение циклов по заданному числу их повторений. Реализуется со счётчиком R числа повторений N, входящим в состав устройства управления,

е) условный переход к микропрограмме А j и возврат из неё по значениям условий С, ж) условный переход к микропрограмме Аj и возврат из нее по счётчику количества циклов, з) безусловный переход к микропрограмме Аj и возврат после её выполнения к основ-

ной программе, и) повторение выполнений микрокоманды подачей нулевого сигнала в счётчик/

инкрементор адреса.

Глава 4. Тенденции развития архитектуры и аппаратного обеспечения ЭВС

65

α

β

a)

α

C

ϕ

Ai

 

 

 

 

 

 

Ai

 

 

 

α

 

да

 

 

 

 

нет

 

 

 

 

 

Aj

 

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

β

 

Aj

 

γ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б)

Ai

да Ai+1 стек

A:=Aj

β Aj

γ

C

 

A:=стек

 

l

Ak

 

 

 

 

 

 

 

 

 

 

 

 

е)

Ai+1

 

α

Ai

 

 

α

Aj

 

α

Aj

 

β

Aj

 

Aj

стек

 

R:=N

 

Ak

C

нет

 

 

β

Aj+1

 

β

Aj+1

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

γ

Ak

 

 

γ

A:=стек

 

γ

 

 

в)

 

 

 

C

нет

R:=R-1

 

 

 

 

 

г)

 

 

 

 

 

 

да

 

 

нет

 

 

 

 

 

 

 

 

R=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

α

Ai-1

 

 

 

 

 

ϕ

Ak

 

 

 

 

 

 

 

 

 

R:=N

 

 

 

 

 

 

 

д)

 

β

 

R:=R-1

α

 

Ai

 

 

 

 

 

 

 

 

R=0

нет

A

стек

Ai+1

стек

Aj

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A:=Aj

 

 

 

 

 

A:=Aj

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

γ

 

 

 

 

 

β

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ϕ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A:=стек

A

i+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l

Ai+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A:=стек

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ж)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

γ

 

з)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4.5. Переходы в алгоритмах микропрограммного управления КСНК

Для выполнения этих переходов устройство управления должно содержать: средства мультиплексирования внутренних источников адреса (переходы типа а) - е) и и), регистр управления микропрограммного счётчика с инкрементором и детектором нуля (д), сумматор (в) - д), средства маскирования полей адреса (в зоне адреса в формате микрокоманды). Маскирование - логическая операция над байтом, словом или полем данных с целью модификации или выделения их части. Для этого битовая комбинация той же длины, что и выделяемая комбинация, генерируется и хранится в регистре, как маска. Маска используется для подавления некоторых разрядов данных, установки их в «0», для выявления признаков высокого приоритета в байтах состояния или в операциях обработки прерывания.

Если сократить набор команд, можно снизить сложность и стоимость ЭВМ. У КСНК получается регулярная структура простых команд, поэтому комбинация из нескольких команд выполняется быстрее, чем одна, эквивалентная этой комбинации сложная команда. Такие ЭВМ работают быстрее, команда выполняется за один машинный цикл, тогда как в других машинах - за несколько машинных циклов. Большинство операций в КСНК - типа «регистр - регистр», а обращения к основной памяти происходят только для выполнения простых операций загрузки в регистр и занесения в память. Уменьшается число логических вентилей и объём микропрограммного ПЗУ, необходимых для декодирования и реализации сложных комаед, поэтому размеры МП с RISC-архитектурой меньше и, соответственно, стоимость

Глава 4. Тенденции развития архитектуры и аппаратного обеспечения ЭВС

66

тоже ниже. Так, RISC-процессору, состоящему из 50.000 транзисторов, соответствует 32разрядный МП традиционной архитектуры на 150.000 транзисторов. Цикл разработки RISCпроцессора короче, чем у МП традиционной архитектуры. Так, МП ARM фирмы Acorn был разработан всего за 18 месяцев.

Программы, написанные на языках высокого уровня, о помощью программы компилятора транслируются в абсолютный машинный двоичный код или иногда в язык Ассемблера. В табл. 4.1 представлены полученные из наблюдений частоты выполнения команд в ЭВМ со сложным набором команд.

Таблица 4.1. Частота выполнения команд

 

 

 

 

Операции

Команды языков

Машинные команды, %

Обращение к памяти, %

 

высокого уровня, %

 

 

 

 

 

Паскаль

Си

Паскаль

Си

Паскаль

Си

1. Вызов, возврат,

15

12

31

33

44

45

запоминание и

 

 

 

 

 

 

восстановление

 

 

 

 

 

 

2. Цикл

5

3

42

32

33

26

3. Присвоение

45

38

13

13

14

15

4. Условные

29

43

11

21

7

13

5. Другие

6

4

2

1

2

1

 

 

 

 

 

 

 

Затем разработчиками была предпринята попытка исключения тех команд, без которых можно обойтись, повысив скорость выполнения наиболее часто используемых команд путем реализации управляющего прцессора частично на ПЗУ микрокоманд (от 256 до 4К 40-битных слов), а частично на блоках с «жёсткой» логикой управления.

KСHK типа III-83 - K1883 был выпущен совместно СССР и ГДР на базе 8• n-разрядных секций с микропрограммным управлением, выполненных по n-МДП технологии. Фирмой TI&CОC в 1988 году выпущен RISC-процессор с конвейерной обработкой, производительностью 200• 106 оп/с на базе арсенид-галлиевых интегральных микросхем.

4.5. Применение кэш-памяти и повышение пропускной способности

Для выполнения конвейерной обработки в MПC команды и/или данные, заранее выбранные из общей памяти (опережающая выборка), размещаются в промежуточном ЗУ - кэш-памяти (от английского сасh - карман). Это быстродействующее ЗУ в одном кристалле с МП либо внешнее по отношению к нему представляет собой высокоскоростной буфер между процессором и низкоскоростной внешней памятью - ВЗУ.

На рис. 4.6 представлена структурная схема RISC-процессора типа Ridge System 32; кэш-память ёмкостью 4К имеет время доступа tдост=120нс. В кэше хранятся: команды, данные; организация кэш-памяти - с произвольной выборкой, поэтому в ней размещают командные циклы с входящими в них командами переходов. Это позволяет избежать большого числа циклов ожидания при работе с памятью через системную шину.

Блок выборки команд осуществляет опережающую выборку команд из основной памяти или из кэша и помещает их в дополнительное буферное ЗУ - БЗУ. Команды, выполнявшиеся последними, остаются в кэше, чтобы обеспечить быстрый доступ к ним при выполнении циклов. Конвейеризация совмещает операции выборки, декодирования и собственно выполнение операции. В среднем в каждом цикле выполняется одна команда, для чего потребовалось больное число регистров РОН. Обращение считается удачным, если необходимая информация находится в кэше. При ёмкости кэша 4К и длине строки 4 байта вероятность удачного обращения Рудач=80%, при удвоении строки Рудач=85%, при следующем удвоении длины строки кэша Рудач повышается лишь до 87%.

Глава 4. Тенденции развития архитектуры и аппаратного обеспечения ЭВС

67

 

 

 

 

 

 

 

ВЗУ

 

 

 

 

 

 

 

 

 

 

 

 

системная шина процессор - память

 

 

 

 

 

 

 

Кэш-память

 

 

 

 

команд

 

 

АЛУ

 

Буферн. ЗУ

УУ

РОН РОН

Рг результ.

УУ РОН

 

УУ РОН

 

 

 

Блок выборки

 

Блок выполнения команд

 

команд

 

 

 

 

Рис. 4.6. Архитектура КСНК с кэш-памятью типа Ridge System 32

Строка 1

25-разрядный

7 бит

16-разрядное

16-разрядное

досто-

 

тег

верности

слово

слово

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Строка 64

Рис. 4.7. Кэш-память микропроцессора типа МС68020

Полная производительность памяти есть функция времени доступа к кэшу - tдост кэш, вероятности удачных обращений Рудач и времени обращения к основной памяти, которое происходит при неудачном обращении к кэшу:

tдост ср=(Рудач tдост кэш) + Рнеуд (tдост взу + tдост кэш).

Пример 4.2. Рассчитать среднее время доступа МП с кэш-памятью при вероятности удачных обращений 80%, времени доступа кэш-памяти 120 нс, вероятности обращения к основной памяти 20% и временем доступа к ней 600 нс.

Подставив заданные значения в предыдущую формулу, получим, что tдост пам ср =240 нс.

Применение кэш-памяти высвобождает часть пропускной способности, что будет показано на примере 4.3. Пропускная способность шины обозначается W и измеряется в Мбайт/с либо в Бодах, причём 1 Бод=1 бит/с:

W=К• Спересылц• n,

где К - коэффициент использования шины, Спересыл - объём пересылаемой информации в байтах, n - количество циклов на одну пересылку.

Пример 4.3. При каждом обращении к памяти пересылается 4 байта, на что затрачивается 3 синхроцикла длительностью 60 нс. В МП без кэша К=82%, а в МП МС68020 фирмы Моторола, содержащей кэш, К=65% за счёт того, что Рудач=100%. Рассчитать необходимую пропускную способность шины в том и другом случае.

После вычислений по формуле, получаем, что

Wбез кэш=18,2 М/с, Wс кэш=14,4 М/с.

Высвобожденная таким образом часть пропускной способности шины может быть использована процессором или другим устройством МПС.