Автор работы: Пользователь скрыл имя, 06 Февраля 2014 в 11:24, курсовая работа
В настоящее время существуют две тенденции в проектировании средств вычислительной техники: во-первых, разработка устройств, специализированных ЭВМ на основе микропроцессорных средств, во-вторых, реализация ЭВМ с использованием СБИС программируемых логических матриц, матриц программируемых логических элементов, программируемых логических интегральных схем (ПЛИС) и базовых матричных кристаллов.
Продолжение таблицы 4.2
Код операции |
Формат команды |
Тип адресации (ТА) |
Код ТА |
Содержание операции | ||
Вызов подпрограммы 01100 |
SI |
П |
00 |
SP := SP – 4, ОЗУ[SP] := IP, SP := SP – 4, ОЗУ[SP]:=Акк SP := SP – 4, ОЗУ[SP]:=RgF |
IP := ОЗУ[S] | |
К |
01 |
PC := ОЗУ[ОЗУ[S]] | ||||
О |
10 |
PC := ОЗУ[S+PC] | ||||
RR |
П |
00 |
IP := РОН[R] | |||
К |
01 |
IP := ОЗУ[РОН[R]] | ||||
О |
10 |
IP := [РОН[R]+IP] | ||||
Возврат из подпрограммы 01101 |
SI |
П |
00 |
RgF := ОЗУ[SP], SP := SP + 4, Акк := ОЗУ[SP], SP := SP + 4, IP := ОЗУ[SP], SP := SP + 4 | ||
К |
01 | |||||
О |
10 | |||||
RR |
П |
00 | ||||
К |
01 | |||||
О |
10 | |||||
Операции с запоминающим устройством | ||||||
Запись в ЗУ 01110 |
SI |
П |
00 |
ОЗУ[ОЗУ[S]]:= I | ||
К |
01 |
ОЗУ[ОЗУ[ОЗУ[S]]] := I | ||||
О |
10 |
ОЗУ[ОЗУ[S+PC]] := I | ||||
RR |
П |
00 |
ОЗУ[РОН[R]] := ОЗУ[РОН[R]] | |||
К |
01 |
ОЗУ[ОЗУ[РОН[R]]] := ОЗУ[ОЗУ[РОН[R]]] | ||||
О |
10 |
ОЗУ[[РОН[R]+IP]] := ОЗУ[[РОН[R]+IP]] | ||||
Чтение из ЗУ 01111 |
SI |
П |
00 |
A1.A2.A3.A4 := ОЗУ[S] | ||
К |
01 |
A1.A2.A3.A4 := ОЗУ[ОЗУ[S]] | ||||
О |
10 |
A1.A2.A3.A4 := ОЗУ[S+PC] | ||||
RR |
П |
00 |
A1.A2.A3.A4:= РОН[R] | |||
К |
01 |
A1.A2.A3.A4:= ОЗУ[РОН[R]] | ||||
О |
10 |
A1.A2.A3.A4:= ОЗУ[PC+РОН[R]] | ||||
Операции со стеком | ||||||
Запись 10000 |
SI |
П |
00 |
SP := SP – 4, |
ОЗУ[SP]:= ОЗУ[S] | |
К |
01 |
ОЗУ[SP] := ОЗУ[ОЗУ[S]] | ||||
О |
10 |
ОЗУ[SP]:= ОЗУ[S+PC] | ||||
RR |
П |
00 |
ОЗУ[SP]:= РОН[R] | |||
К |
01 |
ОЗУ[SP]:= ОЗУ[РОН[R]] | ||||
О |
10 |
ОЗУ[SP]:= [РОН[R]+PC] |
Продолжение таблицы 4.2
Код операции |
Формат команды |
Тип адресации (ТА) |
Код ТА |
Содержание операции |
Чтение 10001 |
SI |
П |
00 |
ОЗУ[S] := ОЗУ[SP] SP := SP + 4 |
К |
01 | |||
О |
10 | |||
RR |
П |
00 |
РОН[R] := ОЗУ[SP] SP := SP + 4 | |
К |
01 | |||
О |
10 | |||
Сложение со стеком 10010 |
SI |
П |
00 |
ОЗУ[SP]:= ОЗУ[SP] + ОЗУ[S] |
К |
01 |
ОЗУ[SP]:= ОЗУ[SP] + ОЗУ[ОЗУ[S]] | ||
О |
10 |
ОЗУ[SP]:= ОЗУ[SP] + ОЗУ[S+PC] | ||
RR |
П |
00 |
ОЗУ[SP]:= ОЗУ[SP] + РОН[R] | |
К |
01 |
ОЗУ[SP]:= ОЗУ[SP] + ОЗУ[РОН[R]] | ||
О |
10 |
ОЗУ[SP]:= ОЗУ[SP] +[РОН[R]+IP] | ||
Вычитание из стека 10011 |
SI |
П |
00 |
ОЗУ[SP]:= ОЗУ[SP] - ОЗУ[S] |
К |
01 |
ОЗУ[SP]:= ОЗУ[SP] - ОЗУ[ОЗУ[S]] | ||
О |
10 |
ОЗУ[SP]:= ОЗУ[SP] - ОЗУ[S+PC] | ||
RR |
П |
00 |
ОЗУ[SP]:= ОЗУ[SP] - РОН[R] | |
К |
01 |
ОЗУ[SP]:= ОЗУ[SP] - ОЗУ[РОН[R]] | ||
О |
10 |
ОЗУ[SP]:= ОЗУ[SP] - [РОН[R]+IP] | ||
Операции с внешними устройствами | ||||
Запись в ВУ 10100 |
SI |
П |
00 |
RgED := ОЗУ[S] |
К |
01 |
RgED := ОЗУ[ОЗУ[S]] | ||
О |
10 |
RgED := ОЗУ[S+PC] | ||
RR |
П |
00 |
RgED := РОН[R] | |
К |
01 |
RgED := ОЗУ[РОН[R]] | ||
О |
10 |
RgED := [РОН[R]+PC] | ||
Чтение из ВУ 10101 |
SI |
П |
00 |
ОЗУ[S]:= RgED |
К |
01 | |||
О |
10 | |||
RR |
П |
00 |
РОН[R]:= RgED | |
К |
01 | |||
О |
10 |
Продолжение таблицы 4.2
Код операции |
Формат команды |
Тип адресации (ТА) |
Код ТА |
Содержание операции |
Системные операции | ||||
Останов 10110 |
SI |
П |
00 |
WF := 0 |
К |
01 | |||
О |
10 | |||
RR |
П |
00 | ||
К |
01 | |||
О |
10 | |||
Разрешение прерывания 10111 |
SI |
П |
00 |
IF := 1 |
К |
01 | |||
О |
10 | |||
RR |
П |
00 | ||
К |
01 | |||
О |
10 | |||
Запрещение прерывания 11000 |
SI |
П |
00 |
IF := 0 |
К |
01 | |||
О |
10 | |||
RR |
П |
00 | ||
К |
01 | |||
О |
10 | |||
Возврат из прерывания 11001 |
SI |
П |
00 |
RgF := ОЗУ[SP], SP := SP + 2, Акк := ОЗУ[SP], SP := SP + 2, IP := ОЗУ[SP], SP := SP + 2 |
К |
01 | |||
О |
10 | |||
RR |
П |
00 | ||
К |
01 | |||
О |
10 | |||
Загрузка регистра базы (B) 11010 |
SI |
П |
00 |
B := ОЗУ[S] |
К |
01 |
B := ОЗУ[ОЗУ[S]] | ||
О |
10 |
B := ОЗУ[S+IP] | ||
RR |
П |
00 |
B := РОН[R] | |
К |
01 |
B := ОЗУ[РОН[R]] | ||
О |
10 |
B := [РОН[R]+IP] | ||
Загрузка указателя стека (SP) 11011 |
SI |
П |
00 |
SP := ОЗУ[S] |
К |
01 |
SP := ОЗУ[ОЗУ[S]] | ||
О |
10 |
SP := ОЗУ[S+IP] | ||
RR |
П |
00 |
SP := РОН[R] | |
К |
01 |
SP := ОЗУ[РОН[R]] | ||
О |
10 |
SP := [РОН[R]+IP] |
Примечание. В данной
таблице приняты следующие
Согласно варианту, имеем разрядность АЛУ(15-0). Для организации работы с 64-х разрядными данными необходимо использовать по 4 регистра для хранения операнда и 8 регистров для хранения результата.
5. Разработка алгоритма командного цикла вычислительного устройства
На основе содержательной таблицы команд 4.2 проектируем блок – схему обобщенного алгоритма командного цикла (рисунок 5.1)
Рисунок 5.1 – Блок-схема
обобщенного алгоритма
Действия, требуемые для выборки или извлечения из основной памяти и выполнения команды, называются циклом команды. В общем случае цикл команды включает в себя несколько этапов:
– выборку команды;
– формирование адреса следующей команды;
– декодирование команды;
– вычисление адресов операндов;
– выборку операндов;
– исполнение операции;
– запись результата.
5.1 Алгоритм выборки команды
Алгоритм выборки команды, показанный в приложении 1, функционирует следующим образом. Вначале ставим регистр iR, используемый в качестве счётчика, затем по шине адреса (ША) значение указателя на адрес команды (PC) записывается в регистр адреса ОЗУ (RgAdr). Затем в регистр данных выбираются 32 бита команды (находящейся в ОЗУ), адресуемые содержимым регистра адреса ОЗУ. Эти 32 бит копируются по шине данных (ШД) в регистр команды (РК), начиная с младших разрядов. Далее регистр iR увеличивается на 1, для передачи старших битов команды и их копирования в РК(RgI). После этого выполняется сдвиг IP на следующую ячейку ОЗУ, путем прибавления 1.
5.2 Алгоритм формирования операндов
Формирование операндов в данном алгоритме происходит следующим образом. Сначала определяется формат команды. Для этого проверяется содержимое пятого бита РК. Если РК[5]=0, значит формат команды RR, в противном случае — SI. Затем для данного формата проверяется тип адресации. Его код содержится в 6, 7 битах регистра команд.
При формате RR для выборки операнда 8-10 биты РК по ША передаются в регистр адреса регистров общего назначения РгАРОН. По РгАРОН из регистра общего назначения (РОН) по ШД данные передаются в РгДОП. Так как операнд имеет разрядность в 4 раза больше чем разрядность регистра, он храниться в двух регистрах с адресами, отличающимися на 1. Следовательно, в РгДОП переданы только младшие биты операнда. Для извлечения старших битов содержимое РгАРОН увеличивается на 1 и по этому адресу из РОН по ШД данные передаются в старшие биты РгДОП. При прямой адресации в регистре общего назначения хранится операнд. Следовательно, в РгДОП содержится непосредственный операнд. При косвенной адресации в РгДОП содержится адрес операнда. Для его выборки данные из РгДОП по ШД передаются в RgBuf. Затем из RgBuf адрес передается на РгАОП для последующего извлечения операнда. При относительной адресации выполняются те же операции, что и при косвенной, только в RgBuf передается сумма РгДОП и PC. Затем по РгАОП на РгДОП из ОЗУ извлекается операнд.
Теперь в РгДОП хранится операнд, который передается в регистры первого операнда (RgA1, RgA2, RgA3, RgA4) по ШД.
Для извлечения второго операнда при формате RR производятся такие же действия как и для первого, только адрес РОН находится в 12-15 битах РК. Операнд записывается в регистры второго операнда (RgB1, RgB2, RgB3, RgB4).
При формате SI для выбоки операнда 8-21 биты RGI по ША передаются в регистр адреса РгАОП. По РгАРОП из оперативной памяти ОЗУ по ШД данные передаются в РгДОП. Так как операнд имеет разрядность в 2 раза больше чем разрядность ячейки ОЗУ, он храниться в двух ячейках с адресами, отличающимися на 1. Следовательно, в РгДОП переданы только младшие биты операнда. Для извлечения старших битов содержимое РгАОП увеличивается на 1 и по этому адресу из ОЗУ по ШД данные передаются в старшие биты РгДОП. При прямой адресации в ОЗУ хранится операнд. Следовательно, в РгДОП содержится непосредственный операнд. При косвенной адресации в РгДОП содержится адрес операнда. Для его выбоRgIи данные из РгДОП по ШД передаются в RgBuf. Затем из RgBuf адрес передается на РгАРОП для последующего извлечения операнда. При относительной адресации выполняются те же операции, что и при косвенной, только в RgBuf передается сумма РгДОП и PC. Затем по РгАРОП на РгДОП из ОЗУ извлекается операнд.
Теперь в РгДОП хранится операнд, который передается в регистры первого операнда (RgA1, RgA2, RgA3, RgA4) по ШД.
В 22-70 битах RGI при формате RI хранится непосредственный операнд, который по шине управления (ШУ) передается в регистры второго операнда (RgB).
Таким образом в регистры RgA, RgB передаются операнды для дальнейших вычислений. Алгоритм формирования операндов проиллюстрирован в приложении 2.