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

Автор работы: Пользователь скрыл имя, 06 Февраля 2014 в 11:24, курсовая работа

Краткое описание

В настоящее время существуют две тенденции в проектировании средств вычислительной техники: во-первых, разработка устройств, специализированных ЭВМ на основе микропроцессорных средств, во-вторых, реализация ЭВМ с использованием СБИС программируемых логических матриц, матриц программируемых логических элементов, программируемых логических интегральных схем (ПЛИС) и базовых матричных кристаллов.

Прикрепленные файлы: 1 файл

пояснительная моя.doc

— 457.50 Кб (Скачать документ)

 

 

 

 

 

 

Продолжение таблицы 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]


 

 

Примечание. В данной таблице приняты следующие сокращения наименований и условные обозначения  содержимого полей, ячеек ОЗУ  и регистров: I, A, R – значения полей из кода инструкции; ОЗУ – операнд из памяти; SP – регистр – указатель стека; IP – регистр – программный счетчик; AS – адресация «аккумулятор – ячейка оперативной памяти»; RI – адресация «регистр – непосредственный операнд»; RgED – регистр внешнего устройства; RgF – регистр флагов; WF – флаг пуска-останова процессора; SF – флаг знака; OF – флаг переполнения; ZF – флаг нуля; [address] – операнд из ячейки с адресом address; B – регистр базы; IF – флаг прерывания.

Согласно варианту, имеем разрядность АЛУ(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.

Информация о работе Проектирование процессора ЭВМ