Приём заказов:
Круглосуточно
Москва
ул. Никольская, д. 10.
Ежедневно 8:00–20:00
Звонок бесплатный

Проектирование процессора ЭВМ

Диплом777
Email: info@diplom777.ru
Phone: +7 (800) 707-84-52
Url:
Логотип сайта компании Диплом777
Никольская 10
Москва, RU 109012
Содержание

После этого необходимо передать управление по адресу обработчика требуемого прерывания. Для этого на шину адреса следует выставить номер прерывания из RgZ, сохраняем значение в РгА. В РгД выбрать адрес обработчика, лежащий в ячейке ОЗУ, определяемой номером прерывания, копировать данные в стек и перейти к обработчику прерывания.
После этого следует сохранить в стеке содержимое регистра флагов RgF. Это действие производится аналогично сохранению в стеке содержимого программного счётчика, только вместо него на шину данных выставляется содержимое RgF.В конце алгоритма необходимо сбросить флаг прерывания IF.

5.3 Алгоритм формирования операндов для арифметико-логического устройства

Формирование операндов в данном алгоритме происходит следующим образом (рисунок приложения 3.1). Так как у нас в обоих типах команд первый операнд хранится в аккумуляторе, то сначала перепишем его значение в регистр PA. Затем определяем тип формата команды. Если тип «аккумулятор – ячейка оперативной памяти», то одним операндом всегда будет поле ячейки памяти S. Далее определяем тип адресации этого операнда. Если адресация прямая адрес ячейки ОЗУ берётся из кода команды и выставляется на шину адреса. При косвенной адресации из кода команды на шину адреса выставляется адрес, по которому из ОЗУ выбирается ячейка и начинается считывание из нее нужного адреса. Этот адрес передаем на регистр данных(РгД) и потом в RgBuf. И передаем их в регистр адреса (РгА). Из регистра адреса адрес передается на шину адреса. При относительной адресации на шину адреса выставляется сумма значений адресов из кода команды и регистра базы B. Затем производится выборка 16-ти бит из ОЗУ.
Данные, выбранные из ОЗУ, будут являться вторым операндом. Их копируем в регистр РВ.
Для типа команды «аккумулятор – регистр» сначала из кода команды выбираем номер регистра, в котором хранится адрес операнда. Этот номер выставляем на ША, далее на ШД записываем адрес, хранящийся в этом регистре. Оттуда отправляем его в РгД, затем в RgBuff и, наконец, в регистр адреса. Определяем тип адресации. При косвенной адресации из ОЗУ по адресу хранимому на ША считываем адрес ячейки памяти, в которой хранится операнд. Адрес с регистра данных передаем через буферный регистр в регистр адреса. При относительной адресации в регистр адреса выставляется сумма значений адресов из регистра адреса и регистра базы B. Затем производится выборка 16-ти бит из ОЗУ. Эти данные будут являться вторым операндом. Их копируем в регистр РВ.
В результате, у нас в регистрах РА и РВ находятся нужные нам операнды. Так как по заданию адресность равна 2, данные на обработку из этих регистров в АЛУ поступают одновременно. Далее выполняем над ними в АЛУ требуемую операцию, и результат записываем в аккумулятор А.

Picture of Леонид Федотов
Леонид Федотов
Окончил НИУ ВШЭ факультет компьютерных наук. Сам являюсь кандидатом наук. По специальности работаю 13 лет, за это время создал 8 научных статей и 2 диссертации. В компании подрабатываю в свободное от работы время уже более 5 лет. Нравится помогать школьникам и студентам в решении контрольных работ и написании курсовых проектов. Люблю свою профессию за то, что это направление с каждым годом становится все более востребованным и актуальным.