- •Общие сведения о эвм
- •Этапы развития эвм
- •1.2 Характеристики эвм
- •1.3 Классификация средств эвт
- •1.4 Структуры эвм
- •1.4.1 Обобщенная структура эвм
- •1.4.2 Структура эвм на основе общей шины
- •Структура эвм на основе множества шин
- •1.5 Контрольные вопросы
- •Архитектура классической эвм
- •Принцип программного управления
- •Принцип хранимой в памяти программы
- •Обобщенный формат команд
- •Способы адресации команд
- •Процессоры с принудительным порядком выполнения команд
- •Процессоры с естественной адресацией команд Упрощенная структура процессора с естественной адресацией команд приведена на рисунке 2.2.
- •2.5 Способы адресации операндов
- •Прямая адресация
- •2.5.2 Регистровая адресация
- •Косвенная адресация
- •Непосредственная адресация
- •Неявная адресация
- •Относительная (базовая) адресация
- •Индексная (автоинкрементная или автодекрементная) адресация
- •2.6 Контрольные вопросы
- •3. Запоминающие устройства эвм
- •3.1 Основные понятия
- •Классификация зу
- •3.3 Озу с произвольным доступом
- •3.4 Организация микросхем sram
- •3.5 Организация динамической памяти
- •3.6 Особенности микросхем синхронной динамической памяти
- •Основные характеристики зу
- •3.8 Озу магазинного типа (стековая память)
- •Ассоциативные зу
- •3.10 Контрольные вопросы
- •4.1 Обобщенные структуры процессоров с непосредственными и магистральными связями
- •4.2 Декомпозиция процессора на уа и оу
- •4.3 Арифметико- логические устройства
- •4.3.1 Классификация арифметико-логических устройств
- •4.3.2 Алу для сложения и вычитания чисел с фиксированной запятой
- •4.3.3 Алу для умножения двоичных чисел
- •4.3.4 Методы ускорения умножения
- •4.3.5 Особенности операций десятичной арифметики
- •4.3.6 Операции над числами с плавающей запятой
- •4.4 Устройства управления
- •4.4.1 Классификация уу
- •4.4.2 Аппаратные уу
- •4.4.3 Микропрограммные уу
- •4.5. Структурно - функциональная организация классического процессора
- •4.6 Рабочий цикл процессора
- •4.7 Понятие о слове состояния процессора
- •4.8 Процедура выполнения команд перехода (условного и безусловного)
- •4.9 Процедура выполнения команд вызова подпрограмм
- •4.10 Контрольные вопросы
- •Системы прерывания программ
- •5.1 Общие сведения
- •5.2 Характеристики систем прерываний
- •5.3 Схема выполнения процедуры прерывания
- •5.4 Способы реализации систем прерываний
- •5.4.1 Схема прерывания с опросом по вектору
- •5.4.2 Прерывания с программно - управляемым приоритетом
- •5.5 Контрольные вопросы
- •6. Организация ввода-вывода
- •6.1 Общие сведения о вводе-выводе в эвм
- •6.2 Основные способы ввода-вывода
- •6.2.1 Программно - управляемый ввод - вывод
- •6.2.2 Ввод - вывод с прерыванием программы
- •6.2.3 Ввод - вывод в режиме пдп
- •6.3 Интерфейсы
- •6.3.1 Характеристики интерфейсов
- •6.3.2 Шины интерфейсов ввода-вывода
- •6.3.2.1 Синхронные шины
- •6.3.2.2 Асинхронные шины
- •6.4 Контрольные вопросы
- •7. Организация памяти эвм с магистральной архитектурой
- •7.1 Организация адресного пространства памяти и ввода-вывода. Изолированная и совмещенная адресные пространства
- •7.1.1 Изолированное адресное пространство памяти и ввода- вывода
- •7.1.2. Совмещенное адресное пространство памяти и ввода- вывода
- •7.2 Организация пзу. Проектирование памяти эвм
- •7.3 Построение оперативной памяти на микросхемах статического типа
- •7.4 Построение оперативной памяти на микросхемах dram
- •7.5 Память с чередованием адресов
- •7.6 Регенерация динамической памяти
- •Кэш прямого отображения
- •7.7.2 Наборно- ассоциативный кэш
- •Контрольные вопросы
- •8 Организация пк
- •8.1 Структурная схема системной платы эвм ibm pc/at 286
- •8.1.1 Система шин системной платы эвм ibm pc/at 286
- •8.1.2 Состав и назначение основных устройств системной платы эвм ibm pc/at 286
- •8.1.2.1 Назначение и характеристики процессора и сопроцессора
- •8.1.2.2 Назначение и характеристики генераторов тактовых сигналов
- •8.1.2.3 Назначение шинных формирователей
- •8.1.2.4 Формирование управляющих сигналов и работа подсистемы памяти
- •8.1.2.5 Назначение и характеристики периферийных устройств системной платы
- •8.1.2.6 Назначение пзу bios
- •8.1.3 Шина isa
- •8.1.3.1 Особенности шины isa
- •8.1.3.2 Основные сигналы шины isa
- •8.1.3.3 Шинные циклы магистрали isa
- •8.1.3.4 Электрические и конструктивные характеристики шины isa
- •8.1.3.5 Конвейеризация шины
- •8.2 Структурная схема системной платы эвм ibm pc/at Pentium
- •8.2.1 Локальные шины ввода -вывода
- •8.2.2 Состав и назначение основных устройств системной платы эвм ibm pc/at Pentium
- •8.3 Основные сигналы шинного интерфейса процессора Pentium
- •8.4 Организация шины pci
- •8.4.1 Общая характеристика шины pci
- •8.4.2 Основные сигналы шины
- •8.4.3 Протокол шины pci
- •8.5 Контрольные вопросы
- •Библиографический список
4.3.2 Алу для сложения и вычитания чисел с фиксированной запятой
Операция сложения в АЛУ обычно сводится к арифметическому сложению кодов чисел путём применения инверсных кодов - дополнительного или обратного для представления отрицательных чисел. Обратный код имеет два представления нуля (+0, -0), что затрудняет анализ результата операции. Поэтому чаще используется дополнительный код.
Алгоритмы выполнения в АЛУ арифметических операций зависят от того, в каком виде хранятся в памяти ЭВМ отрицательные числа - в прямом или дополнительном. В последнем случае сокращается время выполнения операции за счёт исключения преобразования получаемого в АЛУ дополнительного кода отрицательного результата в прямой код, при этом несколько усложняется операция умножения.
Алгоритм сложения двоичных чисел с фиксированной запятой, при использовании дополнительного кода для представления отрицательных чисел, заключается в следующем. Производится сложение двоичных кодов, включая разряды знаков. Если при этом возникает перенос из знакового разряда суммы при отсутствии переноса в этот разряд, или возникает перенос в знаковый разряд при отсутствии переноса из разряда знака, то происходит переполнение разрядной сетки. Такой результат получается как при отрицательной, так и положительной суммах. Если нет переносов из знакового и в знаковый разряд суммы или есть оба эти переноса, то переполнения нет. Если получен 0 в знаковом разряде, то сумма положительна и представлена в прямом коде. Если получена 1 в знаковом разряде, то сумма отрицательна и представлена в дополнительном коде.
На рис. 4.4 представлена упрощённая структурная схема
Рисунок 4.4- Структура АЛУ для операций сложения и вычитания
АЛУ для операций сложения и вычитания n-разрядных (нулевой разряд знаковый) двоичных чисел с фиксированной запятой. Предполагается, что отрицательные числа хранятся в памяти в дополнительном коде.
В состав АЛУ входят n-разрядный параллельный комбинационный сумматор См, регистр сумматора РгСМ, входные регистры сумматора РгA и РгB, входной регистр АЛУ Рг1.
Операнды читаются из оперативной памяти и поступают в АЛУ по входной ШД (в дальнейшем- ШВХ). Для рассматриваемой структуры АЛУ положительные числа должны быть представлены прямым кодом, а отрицательные - дополнительным. Первый операнд размещается в РгB (первое слагаемое или уменьшаемое), а второй в РгА (второе слагаемое или вычитаемое); Рг1 связан с РгA цепями прямой и инверсной передачи кода. Прямая передача используется при операции сложения, а инверсная - при операции вычитания. Результат операции выдается из АЛУ в оперативную память по выходной ШД (в дальнейшем- ШВЫХ).
При выполнении операции в АЛУ помимо результата операции формируется код признака результата ПР, который, например, может принимать следующие значения :
Результат операции |
Признак результата (ПР) |
0 |
00 |
<0 |
01 |
>0 |
10 |
Переполнение |
11 |
Примем, что код признака результата формируется комбинационной схемой выделения признаков СхПр, на входы которой поступают сигналы, соответствующие значениям всех разрядов сумматора, а также сигналы переносов из знакового разряда ПнСм[0] и в знаковый из старшего цифрового разряда ПнСм [1]. Признак переполнения (ПР=11) формируется, если булева функция ПнСм[0]ПнСм[1]vПнСм[0]ПнСм[1]=1.
Признак нулевого значения результата (ПР=00)формируется если
.
Условия выработки признаков положительного и отрицательного результатов имеют соответственно вид:
См[0](ПнСм[0]ПнСм[1]vПнСм[0]ПнСм[1]);
См[0](ПнСм[0]ПнСм[1]vПнСм[0]ПнСм[1]).
При выполнении операции сложения поступившие в АЛУ коды операндов находятся во входных регистрах РгВ и РгА сумматора. Код суммы формируется на выходах схемы СМ и фиксируется в регистре сумматора РгСм.
Операция вычитания операнда Y из операнда X Z=X-Y=X+(-Y) сводится к изменению знака вычитаемого Y и последующим применением операции сложения к операндам X и (-У). Изменению знака соответствует следующая процедура: принятый в Рг1 код числа передается в РгA по цепи инверсной передачи кода (линия с кружком на рисунке 4.4), а при сложении осуществляется подсуммирование 1 в младший разряд сумматора.
Передачи информации в регистрах АЛУ производятся отдельными микрооперациями, инициируемыми показанными на рис. 4.3.2 управляющими сигналами yi. Например, слово из Рг1 в РгА может быть передано в прямом (управляющий сигнал y3) или в инверсном (управляющий сигнал y4) кодах. Пусть для рассматриваемого АЛУ имеется набор следующих микроопераций:
y1: Pr B := ШВХ; прием 1-го операнда в Рг В с входной ШД.
y2: Pr 1 := ШВХ; прием 2-го операнда в Рг 1 с входной ШД.
y3: Pr A := Pr 1; прямая передача 2-го операнда из Рг1 в РгА.
y4: ; инверсная передача 2-го операнда из Рг1 в РгА.
y5: CM := CM+1;
y6: Pr CM := CM; передача результата из сумматора в Рг СМ.
y7: РгПр := Cx.Пр.; регистру признаков присвоить значение признака результата.
y8: ШВЫХ := Pr CM; передача результата из РгСМ на выходную ШД.
Ниже приведены описания микропрограмм сложения и вычитания на языке регистровых передач, причем микрооперация y7 состоит в выдаче в регистр признаков (находится в управляющем устройстве) кода признака и в формировании запроса прерывания при переполнении разрядной сетки.
Микропрограмма сложения :
y1: Pr B := ШВХ; прием 1-го операнда в Pr B.
y2: Pr 1 := ШВХ; прием 2-го операнда в Pr 1.
y3: Pr A:= Pr 1; прямая передача 2-го операнда в РгА.
y6: Pr См:= Pr A + Pr B.
y7: РгПр:=СхПр; регистру признаков присваивается значение полученного признака результата, причем если Пр = 11, то прерывание программы по переполнению, иначе
y8: ШВЫХ := Pr См.
Микропрограмма вычитания :
y1: Pr B := ШВХ
y2: Pr 1 := ШВХ
y4:
y5: Pr См := Pr A + Pr B +1
y7: РгПр:=СхПр
Если Пр = 11, то прерывание программы по переполнению, иначе
y8: ШВЫХ := Pr См