- •Содержание
- •Введение
- •1 Цель курсового проектирования
- •2 Задание на курсовое проектирование
- •3 Разработка структурной схемы вычислительного устройства
- •4 Выбор системы команд и определение форматов команд вычислительного устройства
- •5 Разработка алгоритма командного цикла вычислительного устройства
- •5.1 Алгоритм выборки команды
- •5.2 Алгоритм перехода к подпрограмме прерывания
- •5.3 Алгоритм формирования операндов для арифметико-логического устройства
- •5.4 Алгоритм выполнения команд передачи управления
- •5.5 Алгоритм вызова подпрограммы
- •5.6 Алгоритм возврата из подпрограммы
- •5.7 Алгоритмы операций со стеком
- •5.8 Алгоритмы выполнения операций с ву
- •5.9 Алгоритмы системных операций
- •5.10 Алгоритм выполнения операции записи в озу
- •5.11 Алгоритм выполнения операции чтения из озу
- •6 Разработка алгоритмов выполнения арифметических и логических операций
- •6.1 Алгоритм выполнения операций сложения и вычитания
- •6.2 Алгоритм выполнения логических операций
- •6.3 Алгоритм выполнения операции умножения
- •6.4 Алгоритм выполнения операции деления
- •7 Проектирование операционного автомата устройства выполнения команд
- •8 Проектирование операционного автомата арифметико-логического устройства
- •9 Проектирование устройств управления процессора и алу двухступенчатой организации процесса управления
- •9.1. Проектирование управляющего автомата устройства управления процессора
- •9.2. Проектирование управляющего автомата устройства управления алу
- •10 Пример кодирования пзу мк мпа алу для реализации микропрограммы операций сложения и вычитания
- •11 Разработка функциональной схемы процессора
- •Заключение
- •Список использованной литературы
- •Приложение
5.11 Алгоритм выполнения операции чтения из озу
Выполнение операции чтения из ЗУ происходит по алгоритму, показанному на рисунке приложения 10.2. Вначале определяем тип формата команды, если AS, то одним операндом будет поле ячейки памяти S , далее определим тип адресации этого операнда. Если адресация прямая адрес ячейки ОЗУ берётся из кода команды и выставляется на шину адреса. При косвенной адресации из кода команды на шину адреса выставляется адрес, по которому из ОЗУ выбирается ячейка памяти, и данные из этой ячейки считываются на ШД. Так как ОЗУ 8-разрядное, то считывание происходит в два этапа, сначала записываем в РгД младшие биты и отправляем их на ШД, затем 3 старших. Далее аналогичным образом копируем их в буферный регистр RgBuf, начиная с младших разрядов. И от туда пересылаем в РгА. При относительной адресации на шину адреса выставляется сумма значений адресов из кода команды и регистра базы RB.
Для формата команды «регистр-регистр» сначала из кода команды номер регистра, в котором хранится адрес операнда. Этот номер выставляем на ША, далее на ШД записываем адрес, хранящийся в этом регистре. Оттуда отправляем его в РгД, затем в RgBuff и, наконец, в регистр адреса. Это процедура происходит в два этапа, т.к. РгД и RgBuff 8-ми разрядные, а РгА 11-ти. Определяем тип адресации. При косвенной адресации из ОЗУ по адресу хранимому на ША считываем адрес ячейки памяти, в которой хранится операнд. Считывание адреса происходит в 2 этапа, сначала считываются младшие 8 бит, затем старшие 3. Адрес с шины даных передаем через буферный регистр в регистр адреса аналогичным образом в два этапа. При относительной адресации в регистр адреса выставляется сумма значений адресов из регистра адреса и регистра базы B.
Далее, считываем на ШД данные из ОЗУ, начиная с выставленного на ША адреса. С шины данных информацию сохраняем или в аккумуляторе А, или в регистре Р.
6 Разработка алгоритмов выполнения арифметических и логических операций
Арифметико-логическое устройство должно реализовать выполнение алгоритмов следующих операций:
сложение;
вычитание;
умножение;
деление;
конъюнкция;
дизъюнкция;
сложение по модулю 2.
Входные операнды в АЛУ размещаются в 32-разрядных регистров PA, PB, РD, РE. Результат операции помещается в аккумулятор А или в регистр Р.
В АЛУ формируются флаги, соответствующие переполнению разрядной сетки (флаг OF), признаку знакового результата (SF), признаку нулевого результата (ZF). Числа представляются в прямом коде. Отрицательные числа представляются в дополнительном коде.
Заданная в варианте адресность 2 означает, что мы должны в АЛУ передавать два операнда одновременно, это упрощает процесс и организацию передачи операндов в АЛУ, т.е. позволяет считывать данные сразу с двух регистров.
6.1 Алгоритм выполнения операций сложения и вычитания
Операции сложения и вычитания в алгоритме (рисунок приложения 11.1) выполняются одинаково. Отличие состоит в том, что при вычитании операнд, хранящийся в регистре РВ, преобразуется в дополнительный код. Затем происходит сложение содержимого регистров РА и РВ с помещением результата в A или в Р в зависимости от формата команды.
Если после выполнения операции получился отрицательный результат, нужно преобразовать его, проинвертировав и прибавив единицу. Флаг переполнения равен сумме по модулю 2 знакового и предшествующего ему разрядов результата. Флаг знака – знаковый разряд результата. Флаг нуля – признак равенства результата нулю.