Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Организация ЭВМ и систем. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Разбиение процедуры на этапы и выбор длительности такта производится со-
гласно условиям
 󰇛
 

󰇜
     (3)
      (4)
В силу цикличности рабочего процесса в последнем неравенстве принимаем
 

.
Если для каких-либо смежных этапов второе условие не выполняется, то их следует объединить в один этап, либо наиболее длинный этап разбить на несколько этапов. В последнем случае заново выбирается tT и вновь проверяется условие
 󰇝
󰇞
    
На рисунке 2.7 показана временная диаграмма выполнения команд на позици­онном синхронном конвейере.
Рисунок 2.7 – Временная диаграмма выполнения команд
После достижения полной загрузки всех сегментов, обрабатывается одновре-
менно столько команд, сколько имеется в конвейере обработки блоков (позиций).
Коэффициент совмещения операций определяет конвейер и равен количеству одновременно выполняемых этапов обработки информации.
Номинальная производительность синхронного конвейера при его полной за-
грузке


 
.
Найдём соотношение производительности процессора при конвейерной обра-
ботке и при последовательном выполнении этапов рабочего цикла.
31
Из (1) и (3) имеем
 а из (1) и (4) получаем

Из (5) и (6) получаем
󰇛


 
 
󰇜

(5)

 
(6)




 
 
Фактически, увеличение реальной эффективности процессора ограничится из­за применения простого конвейера.
В процессе выполнения некоторых операций, таких как передача данных,
определенные этапы в общем цикле работы отсутствуют, что приводит к простою
отдельных блоков конвейера. Для выполнения условного перехода на основе ре-
зультата предыдущей операции требуется задержка (простой конвейера на несколь-
ко тактов), пока не будет сформирован признак результата (который формируется на
более поздних этапах) предыдущей операции. Если Pm – вероятность выборной ко-
манды, вызывающей задержку конвейера на m тактов (m = 1, 2, ... k), то действи-
тельная производительность конвейера определяется как


 


 
2.8.2 Асинхронный конвейер команд. В асинхронном конвейере команд, при
существенном влиянии длительности выполнения процедур на различных этапах в
зависимости от типа команды и характеристик операндов, применяется соответ-
ствующий метод конвейеризации. В таком методе конвейера отсутствует ожидание
завершения выполнения операции в каждом блоке на каждом такте работы. Вместо
этого информация передается с одного блока конвейера на следующий блок, когда
текущий блок завершает обработку своей команды, и следующий блок полностью
освобождается от обработки предыдущей команды.
Управление передачей информации между соседними блоками в асинхронном
конвейере осуществляется с применением двух триггеров:
1) готовности блока (сигнализирует о завершении операции в блоке);
32
2) освобождения последующего блока.
Этап
1 2 3 4 … i … n n+1
n+2
n+3
СП
a1b1 a2b2
a3b
3 а4b4
aibi
anbn
ВП
a1b1 a2b
2 а3b3
a
i-1bi-1
an-1bn-1
anbn
СМ
a1b
1 а2b2
a
n-2bn-2
a
n-1bn-1
anbn
НР
C1
C
i-3
C
n-3 Cn-2 Cn-1 Cn
2.8.3 Конвейер арифметических операций на примере сложения чисел с пла-
вающей точкой.
Рассмотрим конвейер арифметических операций на примере сложения чисел с
плавающей точкой. Эту операцию можно разделить на четыре последовательно ис-
полняемых этапа (шага):
1) сравнение порядков (СП) – время выполнения 120 нс;
2) выравнивание порядков (ВП) – время выполнения 80 нс;
3) сложение мантисс (СМ) – время выполнения 140 нс;
4) нормализация результата (НР) – время выполнения 60 нс.
Следовательно, в составе процессора необходимо иметь четыре последова-
тельно включенных операционных блока, как показано на рисунке 2.8.
Рисунок 2.8 – Структурная схема конвейера
Временная диаграмма при сложении двух векторов А и В, содержащих по n элементов с плавающей точкой приведена на рисунке 2.9.
Рисунок 2.9 – Временная диаграмма сложения двух векторов
Чтобы не создавались очереди операндов на обработку, часто принимают вре-
мя выполнения всех этапов одинаковым, и оно равно максимальному значению (из
всех времен выполнения этапов). Пусть =140 нс. Первый результат будет получен
33
через 1404=560 нс, это несколько больше, чем если бы время выполнения этапов не
выравнивалось, но все последующие результаты будут выдаваться через 140 нс.
Следовательно, общее время сложения двух векторов с использованием конвейера
Т
= (n+m-1)∙ , без конвейера Т0=ni,
к
где n – количество элементов; m – число этапов операции.
Для n=25 получим Т
= (25+3)∙140=3920 нс, Т
к
=25∙400=10000 нс.
0
Время выполнения каждого этапа может быть принято одинаковым (но это не
обязательно и не всегда делается).
Следовательно, в конвейере операций происходит параллельная обработка m
пар операндов, а в конвейере команд происходит совмещение во времени выполне-
ния i операций (i - число этапов, на которое разбито выполнение команды).
В ВС часто одновременно используются конвейер команд и конвейер опера-
ций или несколько параллельно работающих конвейеров, в результате чего может
быть получена очень высокая производительность системы. По этому принципу
строятся самые быстродействующие ВС.
2.9 Микропрограммная интерпретация языка команд ЭВМ
С целью более детального анализа функционирования центрального процес-
сора (ЦП) мы применим метод микропрограммного уровня рассмотрения рабочего
процесса электронно-вычислительных машин (ЭВМ) и будем использовать язык
микроопераций для описания этого процесса. Такой подход позволит представить
микропрограммирование как средство интерпретации языка машинных команд
ЭВМ [6].
Для более наглядного изложения материала мы ограничимся рассмотрением
простой структуры 8-разрядного процессора (рисунок 2.10).
34
Рисунок 2.10 – Структура учебного процессора и формат его команды
Процессор содержит 8-разрядные АЛУ, блок регистров (аккумулятор Акк, ре-
гистр адреса команды РгАК, регистр временного хранения РгВрХр), основную па-
мять ОП (ширина выборки хранения-8 бит) с адресным и информационным реги-
страми РгАОП и РгИОП, управляющую память (память микропрограмм) УП с реги-
стром адреса микрокоманды РгАМк и регистром микрокоманд РгМк, узел форми-
рования адреса микрокоманды УФАМк. На схеме показаны связи между упомяну-
тыми функциональными блоками. Таким образом, введен в рассмотрение некоторый
учебный процессор, или микропроцессор.
Примем для данного процессора двухбайтный одноадресный формат коман-
ды, показанный на вышеприведенном рисунке. Команда размещается в двух после-
довательных ячейках ОП.
Реализуем в процессоре следующий набор машинных команд [А – адрес 8­битной ячейки ОП, (А) – содержимое ячейки] (таблица 2.1).
35
Наименование команды
Описание команды
Сложение
Акк:=Акк+(А)
Вычитание
Акк:=Акк-(А)
Загрузка
Акк:=(А)
Запоминание
(А):=Акк
Безусловный переход
Передача управления по адресу А
Условный переход
Переход по адресу А, если Акк=0
Сохранение естественного порядка выборки команд,
если Акк≠0
1. РгИОП:=РгZ;
Микрооперации межрегистровых пе-
редач (РгZ -любой регистр из блока
регистров)
2. РгАОП:=РгZ;
3. РгZ:=РгИОП;
4. РгZ=Акк;
Микрооперации управления коммута-
тором выбора регистра в блоке реги-
стров
5. РгZ=РгАК
6. РгZ=РгВрХр
7. РгИОП:=ОП [РгАОП];
Микрооперация чтения и записи в ОП
8. ОП [РгАОП]:=РгИОП;
9. Акк:=Акк+РгZ;
Микрооперации в АЛУ (РгZ - любой
регистр из блока регистров)
10. Акк:=Акк-РгZ;
11. Акк:=РгZ;
12. РгZ:=Акк;
13. Акк:=РгZ+1;
14. РгАМк:=РгАМк+1;
Микрооперации формирования адре-
са следующей микрокоманды
15. РгАМк:=РгИОП <в РгИОП первый
байт команды – код операции>;
или РгАМк:=результат дешифрации
Коп в РгИОП;
16. РгАМк:=Константа <в РгАМк пе­редается содержимое из следующей по
порядку ячейки УП>;
17. если Акк=0, то РгАМк:=РгАМк+2 иначе РгАМк:=РгАМк+1;
Таблица 2.1 – Набор машинных команд
Приведенные команды реализуются в принятой структуре процессора с по-
мощью, например, следующего набора микроопераций (таблица 2.2).
Таблица 2.2 – Набор микроопераций, реализующий приведенные команды
36
В рамках микрокоманд могут быть объединены различные микрооперации.
0 0 1 0 0 0 0 0
0 0 1 0 0 1 0 0
0 0 0 0 0 0
0 0 0 0 0 1
0 0 0 0 1 0
Например, в микрокоманде, предназначенной для передачи байта из аккумулятора в
регистр информации (РгИОП), совмещаются две микрооперации: одна инициирует процесс передачи, а другая осуществляет выбор аккумулятора из блока регистров.
Теперь перейдем к разработке микропрограмм для отдельных процедур и опе-
раций. Выполнение любой команды начинается с процедуры выборки команды из
оперативной памяти (ОП) по адресу, хранящемуся в Регистре адреса команды
(РгАК). Данную общую процедуру можно представить в виде отдельной микропро-
граммы.
2.9.1 Микропрограмма процедуры выборки команды.
Адрес УП
000 РгАОП := РгАК <загрузка адреса команды в РгАОП>;
001 РгИОП := ОП [РгАОП] <чтение Коп (первого байта) команды в РгИОП>;
002 РгВрХр := Акк <сохранение содержимого Акк>;
003 Акк := РгАК+1 <формирование адреса второго байта команды>;
004 РгАК := Акк <передача адреса второго байта команды в РгАК>;
005 Акк := РгВрХр <восстановление содержимого Акк>;
006 РгАМк := результат дешифрации Коп в РгИОП <формирование в РгАМк
начального адреса в УП микропрограммы операции, соответствующей КОП коман-
ды >.
2.9.2 Микрокоманды регистровых передач.
РгИОП := РгZ РгZ := РгИОП
РгZ := РгИОП
2.9.3 Микрокоманды операций в ОП.
Чтение микрокоманды АЛУ Запись микрокоманды АЛУ
Выбор РгZ
37
Акк := Акк + РгZ
0 1 0 0 1 1
0 1 0 0 1 0
0 1 0 0 1 1
0 1 0 0 0 0
0 1 1 0 0 0 0 0
0 1 1 0 0 1 0 0
0 1 1 0 1 0 0 0
0 1 0 1 0 0
Акк := Акк - РгZ Акк := РгZ РгZ := Акк
Акк:=РгZ+1
Выбор РгZ
2.9.4 Микрокоманды управления последовательностью выборки микрокоманд. РгАМк := дешифрация КОП в РгИОП РгАМк := константа Ветвление в микропрограмме по условию Акк=0
2.9.5 Коды микрокоманд учебного процессора.
Микропрограмма команды «Сложение».
ния>;
РгАОП := РгАК <загрузка адреса операнда>; РгИОП := ОП[РгАОП] <чтение адреса операнда>; РгВрХр := Акк <сохранение содержимого Акк>; Акк := РгАК+1 <формирование продвинутого адреса команды>; РгАК := Акк; Акк := РгВрХр <восстановление содержимого Акк>; РгВрХр := РгИОП <загрузка адреса операнда для временного хране-
РгАОП := РгВрХр <передача адреса операнда>; РгИОП := ОП[РгАОП] <загрузка операнда>; РгВрХр := РгИОП <чтение операнда из ОП>; Акк := Акк+РгВрХр; <в Акк образуется сумма>; РгАМК := 0 <занесение константы 0-переход к микропрограмме
выборки следующей команды>;
Микропрограмма команды условного перехода, если Акк=0. РгАОП := РгАК <загрузка адреса перехода – второго байта команды
условного перехода>;
38
РгИОП := ОП [РгАОП] <чтение адреса перехода>; РгВрХр := Акк; Акк := РгАК+1; РгАК := Акк <образование в РгАК адреса следующей команды
при естественном порядке выборки>;
Акк := РгВрХр; если Акк = 0 то РгАМК := РгАМК + 2 иначе РгАМК := РгАМК+1; РгАМК := 0 <возврат к микропрограмме выборки команды>; Микропрограммы остальных команд вы можете составить сами.
2.10 Вопросы для закрепления материала по второму разделу
1. Назначение центральных устройств ЭВМ.
2. Что такое функциональная организация ЭВМ?
3. Что такое структурная организация ЭВМ?
4. Декомпозиция вычислительного устройства на операционные и управляю- щие блоки.
5. Назовите два основных типа управляющих блоков в цифровых устройствах и их отличие.
6. Логическая схема функционирования ЭВМ.
7. Дайте понятия команды, операции, операндов, программы.
8. Состав процессора и назначение его отдельных компонентов.
9. Что такое рабочий цикл процессора? Приведите пример.
10. Приведите структуру современной ЭВМ класса больших ЭВМ (мэйнфрей- мов).
11. Приведите структуру мини- и микро- ЭВМ.
12. Что такое микропрограммная интерпретация языка команд ЭВМ?
39
3 Арифметические основы ЭВМ
3.1 Системы счисления, применяемые в ЭВМ
3.1.1 Двоичная система счисления. Система счисления, известная как двоич-
ная, базируется на числе 2 в качестве основания. В данной системе для отображения
разрядов используются лишь две цифры – 0 и 1. Применение двоичной системы
счисления в контексте электронных вычислительных устройств (ЭВМ) обосновано
логическими особенностями электронных компонентов, входящих в состав аппара-
туры компьютеров. Эти компоненты могут различать лишь два состояния – наличие
сигнала (1) или его отсутствие (0). Двоичная система счисления обладает рядом
преимуществ, которые делают ее удобной для представления информации в ЭВМ:
простота выполнения арифметических и логических операций, что облегча-
ет разработку устройств, осуществляющих эти операции;
возможность применения аппаратных методов алгебры логики для анализа
и синтеза операционных устройств.
Для представления чисел в двоичной системе счисления используется прин-
цип, согласно которому каждому разряду двоичного числа соответствует опреде-
ленная степень числа два (вес разряда). Тогда, например, такое двоичное число, как 11011 можно представить следующим образом

               
󰇛󰇜
,
или
                    
󰇛󰇜
.
Здесь и в дальнейшем справа внизу от числа записывается основание системы
счисления, в которой записано число. Это позволяет различать, например, числа
1001
(2)
= 9
и 1001
(10)
(10)
.
Аналогичным образом в десятичной системе счисления можно представить и
действительное двоичное число, например

                
󰇛󰇜
 
󰇛󰇜
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]