Цифровое вычислительное устройство

Автор работы: Пользователь скрыл имя, 28 Марта 2012 в 16:32, курсовая работа

Описание

Примем, что будет использована архитектура аккумуляторного типа, то есть один из операндов в двуместных операциях будет находиться в аккумуляторе W. Второй из операндов может находиться в ОЗУ (в операциях с прямой адресацией) или в банке регистров общего назначения (в операциях с регистровой адресацией). Результаты операций сохраняются в аккумуляторе.

Содержание

1 Система команд.....................................................................................................5
2 Структура ЦВУ.....................................................................................................7
3 Разработка основных функциональных блоков и узлов...................................8
4 Тестирование ЦВУ..............................................................................................16
Список использованных источников...................

Работа состоит из  1 файл

КП_Схемотехника_Гарвард.docx

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



Министерство образования и  науки Российской Федерации

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ  УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО  ОБРАЗОВАНИЯ

«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

Факультет информационных технологий

Кафедра вычислительной техники

 

 

 

 

 

КУРСОВОЙ ПРОЕКТ

по дисциплине «Схемотехника  ЭВМ»

цифровое вычислительное устройство

Пояснительная записка

ГОУ ОГУ 230101.65.6011.5 ПЗ

 

 

 

 

 

 

 

 

Руководитель  проекта:

________________А.В.  Хлуденев

"___"____________2011 г.

Исполнитель:

студент группы 08ВМК

________________И.И. Резанов

"___"____________2011 г.

 

 

 

 

 

 

 

 

 

Оренбург 2011 

 

Министерство образования и науки Российской Федерации

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ  УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО  ОБРАЗОВАНИЯ

«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

 

Факультет информационных технологий

 

Кафедра вычислительной техники

 

 

 

Задание на курсовой проект

 

 

Цифровое вычислительное устройство

 

Исходные данные:  Архитектура – гарвардская;

Операции АЛУ– XOR, INC, SHR;

Операции  управления – JMP, JNZ;

Разрядность данных – 8;

Число ячеек ПЗУ программ – 128;

Емкость ОЗУ данных – 128x8;

Виды  адресации – прямая, косвенная;

Элементная база – ЕР1С3.

 

Разработать:  1) Схему электрическую функциональную;

                                        2) HDL – описание ЦВУ;

                                        3) Схему электрическую принципиальную.

 

 

Дата выдачи задания   "  22  " февраля 2011 г.

Срок защиты проекта  "  31  " мая 2011 г.

 

 

Руководитель

ктн, доцент                 А.В. Хлуденев

 

Исполнитель

студент группы 08ВМК -1              И.И. Резанов

 

 

Аннотация

 

В курсовом проекте разработано процессорное устройство гарвардской архитектуры, реализующее заданный набор операций.

Курсовой проект выполнен на интегральной схеме программируемой логики семейства  Cyclone. Для реализации цифрового вычислительного устройства (ЦВУ) использован язык описания аппаратуры Altera HDL.

Пояснительная записка выполнена на 23 листах, содержит 3 рисунка, 4 таблицы и 2 приложения. 

Содержание

 

 

1 Система команд.....................................................................................................5

2 Структура ЦВУ.....................................................................................................7

3 Разработка основных  функциональных блоков и узлов...................................8

4 Тестирование ЦВУ..............................................................................................16

Список использованных источников...................................................................18

Приложение А. Функциональная схема..............................................................19

Приложение Б. AHDL-описание ЦВУ.................................................................22

 

1 Система команд

 

Выполним развернутый анализ задания  и выполним синтез системы команд.

Под запись чисел отводятся 8 разрядов. Оперативная память (ОЗУ) имеет 128 8-разрядных ячеек. Каждое число занимает одну ячейку ОЗУ. Все команды в ЦВУ будут одноадресные, за исключением безадресных команд INC, SHL, IN и OUT.

Примем, что будет использована архитектура аккумуляторного типа, то есть один из операндов в двуместных операциях будет находиться в  аккумуляторе W. Второй из операндов может находиться в ОЗУ (в операциях с прямой адресацией) или в банке регистров общего назначения (в операциях с регистровой адресацией). Результаты операций сохраняются в аккумуляторе.

Дополним заданный набор операций следующими:

mov W, RAM(Adr)  – загрузка в аккумулятор операнда, находящегося в ОЗУ по адресу Adr[7..0] (прямая адресация);

– загрузка в аккумулятор операнда, находящегося в ОЗУ по адресу Adr (косвенная адресация);

mov RAM(Adr), W – запись содержимого аккумулятора в ОЗУ по адресу Adr (прямая адресация);

mov RAM(KC), W – запись содержимого аккумулятора в ОЗУ по адресу Adr (косвенная адресация).

Выполним синтез команд. Команда  будет иметь два поля:

- поле кода операции - будет занимать  старшие разряды кода команды;

- поле параметра команды - будет  занимать младшие разряды кода  команды.

Поле параметра:

- в командах с прямой адресацией  – 8-разрядный адрес ячейки  ОЗУ;

- в командах с косвенной  адресацией – 8-разрядный адрес ячейки ОЗУ;

- в командах перехода – 8-разрядный  адрес точки перехода.

С учетом дополнительных операций процессорное устройство должно выполнять 12 команд. Для их кодирования потребуется 4-разрядный код операции Cop[3..0]. Старший разряд будем использовать, чтобы различать команды с загрузкой результата в аккумулятор от прочих команд. Разряды Cop[2..1] будем использовать, чтобы различать команды каждой группы. Младший разряд Cop[0] будем использовать, чтобы различать операции с прямой и косвенной адресацией.

Результаты  синтеза команд приведены в таблице 1. В таблице 1 приняты следующие  обозначения:

- a – бит, отводящийся под адрес;

- x – бит, значение которого не важно для данной команды.

Все команды 12-разрядные и занимает одну ячейку ПЗУ программ. ПЗУ состоит из 256 ячеек по 12 разрядов каждая.

 

Таблица 1 –  Система команд

Операция

Мнемоника

Адресация

Код операции

W ← RAM(Adr)

MOV W,M

Прямая

0000 aaaa aaaa

W ← RAM (Adr)

MOV W,R

Косвенная

0001 xxxx xxaa

W ← W XOR RAM(Adr)

XOR M

Прямая

0010 aaaa aaaa

W ← W XOR GPR(Adr)

XOR R

Косвенная

0011 xxxx xxaa

W ← INC W

INC

-

0100 xxxx xxxx

W ← SHR W

SHR

-

0101 xxxx xxxx

RAM(Adr) ← W

MOV M,W

Прямая

1010 aaaa aaaa

RAM (Adr) ← W

MOV R,W

Косвенная

1011 xxxx xxaa

W ← P_IN

IN

-

1000 xxxx xxxx

OUT_P ← W

OUT

-

1001 aaaa aaaa

PC ← Adr

JMP

-

1100 aaaa aaaa

PC ← Adr, (при условии)

JNZ

-

1101 aaaa aaaa


2 Структура ЦВУ

 

Примем решения, определяющие структуру  ЦВУ.

Для выборки команд из ПЗУ программ емкостью 128 х 12 необходимы

- программный счетчик PCtr (8 разрядов);

- регистр команд IR (4 разряда).

В соответствии с вариантом задания  для хранения данных необходимо использовать ОЗУ емкостью 128 х 8. Будем использовать ОЗУ с раздельными входами и выходами данных.

Операции над словами информации будет выполнять операционный автомат, состоящий из АЛУ, аккумулятора и  триггеров для хранения признаков  операций (флагов):

– ZF – флаг нулевого результата;

– CF – флаг переноса.

В ЦВУ будет использоваться гарвардская  архитектура с раздельными адресными  пространствами памяти программ и данных. Для обмена данными между ОЗУ  и операционным автоматом, а также  передачи кода операции из ПЗУ программ в регистр команд будут использоваться раздельные шины данных и команд. Для передачи адресов ячеек памяти программ и данных, а также адресов регистров будут использоваться раздельные шины адресов. Устройство управления реализуем в виде микропрограммного автомата Мура.

Схема ЦВУ, построенная в соответствии с принятыми решениями, приведена  в приложении А. Адрес PC[7..0] выбираемой из ПЗУ команды определяется содержимым программного счетчика PCtr. Четыре старших разряда считанного слова DROM[11..8] загружаются в регистр команд IR и представляют код текущей операции Cop[3..0]. Разряды Cop[3..1] кода операции анализируется управляющим автоматом Co. Управляющий автомат формирует последовательность наборов микроприказов y1..y5, необходимых для выполнения текущей операции и подготовки к выборке следующей операции.

Восемь младших разрядов слова  DROM[7..0] в командах с прямой адресацией определяют адрес ячейки памяти данных. В командах с регистровой адресацией адрес регистра определяется разрядами DROM[1..0].

Восемь младших разрядов слова  DROM[7..0] в команде перехода JMP определяют адрес точки перехода.

Для устранения состязаний сигналов в ЦВУ использована двухфазная  синхронизация:

- синхроимпульсы Clk от внешнего генератора поступают на синхровходы всех функциональных узлов, кроме управляющего автомата Co;

- синхронизация управляющего автомата  Co выполняется инвертированной импульсной последовательностью !Clk.

Для инициализации ЦВУ используется сигнал Rst, который сбрасывает программный счетчик и переводит в состояние инициализации управляющий автомат.

 

3 Разработка функциональных блоков и узлов

 

3.1 Микропрограммный автомат

 

Функция микропрограммного автомата состоит в анализе разрядов кода операции Cop[3..1] и формировании последовательности наборов микроприказов y1..y5, необходимых для выполнения текущей операции и подготовки к выборке следующей операции. Действие микроприказов отображено на функциональной схеме ЦВУ.

При включении и рестарте ЦВУ  микропрограммный автомат будет  находиться в состоянии idle. Для обеспечения возможности пошагового (покомандного) исполнения программы автомат сможет перейти в последующие состояния только при наличии сигнала разрешения en. При аппаратной отладке ЦВУ такой сигнал необходимо формировать при нажатии кнопки «Шаг». При автоматическом выполнении программы на входе en постоянно должен действовать активный уровень.

Исполнение команды состоит  из двух фаз:

- выборка команды;

- выполнение операции.

Выборка команды выполняется за один такт, при этом:

- текущее содержимое PCtr уже предварительно загружено в регистр адреса ПЗУ;

- код операции, считанный из  ПЗУ, загружается в регистр  команд IR, а параметр команд с прямой адресацией по шине адреса загружается в регистр адреса ОЗУ;

- выполняется инкремент PCtr для выборки следующей команды.

Для работы ЦВУ необходимо формировать  следующие микрокоманды:

- y1 – выборка команды и инкремент адреса;

- y2 – загрузка аккумулятора;

- y3 – сохранение результата в памяти;

- y4 – загрузка адреса перехода в PCtr;

- y5 – вывод.

Поставим в соответствие каждой микрокоманде состояние автомата Мура:

- fetch – выборка команды и инкремент адреса;

- load – загрузка аккумулятора;

- out – вывод в порт;

- store – сохранение результата в памяти;

- jmp – загрузка адреса перехода в PCtr.

Микропрограмма  автомата с отметкой внутренних состояний  приведена на рисунке 1. Все команды  выполняются за два такта.

 

Рисунок 1 –  Микропрограмма автомата

 

Введем переменную текущего состояния автомата code. Тогда с учетом принятых решений управляющий автомат можно описать на AHDL:

 

SUBDESIGN co

(

c,rst,en,coper[3..1]: input;

Y[5..1]  : output;

)

VARIABLE

  code : machine with states(idle,fetch,load,store,out,jmp);

 

BEGIN

  code.clk  = c;

  code.reset = !rst;

  code.ena = vcc;

  CASE code is

   WHEN idle =>

    if en then code = fetch;

    else code = idle; 

    end if;

    WHEN fetch =>

     if !coper[3] then code = load;

     else

  CASE coper[2..1] IS

WHEN 0 => code = load;

WHEN 1 => code = store;

WHEN 2 => code = out;

WHEN 3 => code = jmp;

      END CASE;

    end if;

    y[1]=vcc;

   WHEN load =>   -- W (LOAD)

      code = idle;  y[2]=vcc;    

   WHEN out =>   -- OUT

      code = idle;  y[5]=vcc;

   WHEN store =>   -- STORE

      code = idle;  y[3]=vcc;  

   WHEN jmp =>   -- JMP

      code = idle;  y[4]=vcc;

     END CASE;

END;

 

3.2 АЛУ

 

АЛУ – блок, выполняющий  арифметические операции и логические преобразования над операндами.

Введем обозначения:

- W[], DATA[] – входы операндов;

- C – вход переноса;

- СOP[1..0] – код операции АЛУ;

- CR – выход переноса;

- ZR – выход признака нулевого результата;

- R[] – выход результата.

Выполняемую операцию определяет код операции АЛУ COP[1..0]



(таблица 2).


 

Таблица 2

СОР[1..0]

Мнемоника

Операция

00

MOV

R[] = DATA[]; Z = (R[]= =0);

01

XOR

R[] = W[] $ DATA[]; Z = (R[]= =0);

10

SHR

(RES[7..0],CR)=(b"0",W[7..1],W[0]); Z = (R[]= =0);

11

INC

R[] = W[] + b”1”; Z = (R[]= =0);

Информация о работе Цифровое вычислительное устройство