Разработка общей структуры микроэвм

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 28.02.2016
Размер файла 925,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. РАЗРАБОТКА ОБЩЕЙ СТРУКТУРЫ МИКРОЭВМ

1.1 Функциональный состав

1.2 Описание взаимодействия всех блоков микроЭВМ

2. РАЗРАБОТКА ОСНОВНЫХ УСТРОЙСТ МИКРОЭВМ

2.1 Функциональный состав и работы ПЗУ

2.1.2 Функциональный состав и временные диаграммы работы ОЗУ

2.1.3 Совмещенная схема работы ОЗУ и ПЗУ.

3. РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ УСТРОЙСТВА

3.1. Описание работы устройства на вентельно-регистровом уровне

4. ОПТИМИЗАЦИЯ МИКРОЭВМ

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

ВВЕДЕНИЕ

устройство запоминающий оперативный постоянный

В ходе выполнения курсового проекта требуется реализовать микроЭВМ с условиями, приведенными в задании к курсовому проекту.

Тип архитектуры, используемой при реализации - гарвардская.

Гарвардская архитектура - архитектура ЭВМ, отличительным признаком которой является раздельное хранение и обработка команд и данных. Архитектура была разработана Говардом Эйкеном в конце 1930-х годов в Гарвардском университете.

В Гарвардской архитектуре принципиально невозможно осуществить операцию записи в память программ, что исключает возможность случайного разрушения управляющей программы в случае ошибки программы при работе с данными или атаки третьих лиц. Кроме того, для работы с памятью программ и с памятью данных организуются отдельные шины обмена данными (системные шины),

В такой архитектуре невозможны многие методы программирования (например, программа не может во время выполнения менять свой код; невозможно динамически перераспределять память между программным кодом и данными), зато гарвардская архитектура позволяет более эффективно выполнять работу в случае ограниченных ресурсов, поэтому она часто применяется во встраиваемых системах.

На рисунке 1 приведена схема гарвардской архитектуры.

Рисунок 1 - Схема гарвардской архитектуры

Гарвардской архитектуре используется два вида памяти микропроцессора:

Память программ (для хранения инструкций микропроцессора)

Память данных (для временного хранения и обработки переменных)

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

Гарвардская архитектура применяется в микроконтроллерах и в сигнальных процессорах, где требуется обеспечить высокую надёжность работы аппаратуры. В сигнальных процессорах Гарвардская архитектура дополняется применением трехшинного операционного блока микропроцессора. Трехшинная архитектура операционного блока позволяет совместить операции считывания двух операндов с записью результата выполнения команды в оперативную память микропроцессора. Это значительно увеличивает производительность сигнального микропроцессора без увеличения его тактовой частоты.

Применение двух системных шин для обращения к памяти программ и памяти данных в гарвардской архитектуре имеет два недостатка - высокую стоимость и большое количество внешних выводов микропроцессора. При использовании двух шин для передачи команд и данных, микропроцессор должен иметь почти вдвое больше выводов, так как шина адреса и шина данных составляют основную часть выводов микропроцессора. Для уменьшения количества выводов кристалла микропроцессора фирмы-производители микросхем объединили шины данных и шины адреса для внешней памяти данных и программ, оставив только различные сигналы управления (WR, RD, IRQ) а внутри микропроцессора сохранили классическую гарвардскую архитектуру. Такое решение получило название модифицированная гарвардская архитектура.

Модифицированная гарвардская структура применяется в современных микросхемах сигнальных процессоров. Ещё дальше по пути уменьшения стоимости кристалла за счет уменьшения площади, занимаемой системными шинами пошли производители однокристалльных ЭВМ - микроконтроллеров. В этих микросхемах применяется одна системная шина для передачи команд и данных (модифицированная гарвардская архитектура) и внутри кристалла.

При разработке микроЭВМ мы будем использовать программу Altera Quartus II 9.1.

Отличительные особенности программного комплекса Altera Quartus II 9.1:

* Поддержка семейств FPGA

* Опция интерфейса пользователя MAX+

* Файл однократных присваиваний (.qsf)

* Средство просмотра RTL

* Поддержка изменений компиляции

* Формирование последовательности тактирования встроенной памяти

* Новая опция методики "сбалансированной" оптимизации

* Функция улучшенной синхронизации SignalTap® II

Программный интерфейс: Позволяет пользователям MAX+ использовать предоставляемые Quartus II возможности, не затрудняя себя изучением нового интерфейса. Будет ли Quartus II установлен первым или будет установлен впоследствии, пользователь увидит окно диалога, позволяющее «увидеть-и-ощутить ( look-and-feel )» выбор: Quartus II или MAX+. Однако, пользователь может в любое время изменить этот выбор.

Средство просмотра: Новое средства просмотра RTL файлов программы Quartus II обеспечивает возможность схематического представления VHDL и Verilog RTL файлов, что может быть использовано для анализа структуры проекта до проведения этапов поведенческого моделирования, синтеза, размещения и маршрутизации. Средство просмотра RTL позволяет разработчику управлять иерархией проекта и размещать отдельные элементы, представляющие интерес, для упрощения отладки и оптимизации. Выбранные в средстве просмотра RTL элементы могут быть напрямую трассированы в исходный файл проекта.

Изменения компиляции: Позволяют разработчикам экспериментировать с различными установками компиляции и присвоениями проекта. Группа установок, присвоений и результатов компиляции может быть сохранена и обработана отдельно как версия проекта.

Формирование последовательности тактирования встроенной памяти: Функция компилятора памяти программы Quartus II может быть задействована для упрощения использования встроенной в FPGA памяти, за счет способности динамически генерировать последовательности импульсов, необходимые для операций чтения/записи RAM и FIFO, на основе выбранных конфигураций. Такая возможность обеспечивается MegaWizard ® Plug - In Manager.

1. РАЗРАБОТКА ОБЩЕЙ СТРУКТУРЫ МИКРОЭВМ

1.1 Функциональный состав

Согласно заданию, шина данных ограничена 8 битами, а шина адреса ограничена 10 битами. Тип адресации памяти - регистрово-косвенная. При косвенно-регистровой адресации искомый операнд берется из памяти или отправляется в память, но адрес не фиксируется жестко в команде, как при прямой адресации, а находится в регистре. Если адрес используется таким образом, он называется указателем. Преимущество косвенной адресации состоит в том, что можно обращаться к памяти, не имея в команде полного адреса.

В ходе разработки микроЭВМ была составлена функциональная схема, представленная на рисунке 1.1. Исходя из полученной схемы, рассмотрим более подробно компоненты, которые формируют данное устройство.

Рисунок 1.1 - Функциональная схема разрабатываемой микроЭВМ.

Функциональными блоками микроЭВМ являются: синхронные ПЗУ данных и команд, синхронные ОЗУ, регистры общего назначения, АЛУ, устройство управления, контроллер прямого доступа к памяти, контроллер прерываний.

ПЗУ (постоянное запоминающее устройство) - энергонезависимый тип памяти, позволяющий постоянно хранить данные, внесенные на этапе прошивки. Данный тип памяти - только для чтения. В ПЗУ - основная программа микроЭВМ. Считывание происходит асинхронно по изменению состояния адресных входов.

ОЗУ (оперативное запоминающее устройство) - энергозависимый тип памяти, в данной микроЭВМ - синхронное. Необходимость данного типа памяти обосновано тем, что ее содержимое может быть легко модифицировано, что важно для функционирования ЭВМ как вычислительной системы. АЛУ должно реализовывать операции сравнения (CMP) и побитового сложения «И» (AND).

Контроллер прерываний предназначен для обслуживания запросов на прерываний, которые поступили от внешних устройств. При поступлении запроса на прерывание основной командный цикл прерывается и выполняется микрокоманда соответствующего прерывания.

Контроллер прямого доступа к памяти предназначен для обмена данными между внешними устройствами и ОЗУ без участия центрального процессора. Начальный адрес контроллера прямого доступа к памяти - 10. Объем при передачи данных в режиме прямого доступа к памяти - 8.

В своем составе микроЭВМ также должно содержать регистры общего назначения (РОНы). Должно быть реализовано 12 регистров общего назначения.

Устройство управления служит для выдачи всех управляющих сигналов (такие как чтение/запись в память, синхросигналы для работы устройств, асинхронные сигналы-события.

1.2 Описание взаимодействия всех блоков микроЭВМ

МикроЭВМ будет содержать 4 общие шины, через которые будет осуществляться обмен между отдельными устройствами: шина управления (ШУ), шина данных (ШД), шина адреса (ША), шина команд (ШК).

Шина управления включает в себя все управляющие и синхросигналы устройств.

Шина данных используется для передачи непосредственно данных (значений операндов). По заданию курсового проекта шина данных должна быть 8-разрядной. Таким образом, размер одного машинного слова для данной ЭВМ - 8 бит.

Шина адреса необходима для адресации памяти. По условию она должна быть 10-разрядной. Следовательно, ПЗУ и ОЗУ должны адресоваться 10 битами. Исходя из разрядности шины адреса, максимально адресуемый размер памяти равен 1024 словам.

Шина команд используется для передачи данных машинных инструкций. Разрядность шины принята равной разрядности ШД.

В общем случае выполнение команды в ЭВМ будет выполняться в несколько этапов:

- чтение команды из ОЗУ команд;

- анализ кода операции;

- чтение данных для выполнения команды из ОЗУ данных;

- выполнение команды;

- запись результатов.

Назначение используемых сигналов приведено в таблицах 1.1 - 1.5.

Таблица 1.1 - Назначение сигналов постоянного запоминающего устройства

Название

Тип

Назначение

1

2

3

clock

Входной

Сигнал тактирования микросхемы

adress[9..0]

Входной

Адрес ячейки памяти

out_data[7..0]

Выходной

Выходные данные

Таблица 1.2 - Назначение сигналов оперативного запоминающего устройства

Название

Тип

Назначение

1

2

3

in_data[7..0]

Входной

Входные данные

adress[9..0]

Входной

Адрес ячейки памяти

Clock

Входной

Сигнал тактирования микросхемы

out_data[7..0]

Выходной

Выходные данные

We

Входной

Сигнал записи\чтения

Таблица 1.3 - Назначение входов и выходов АЛУ

Название

Тип

Назначение

1

2

3

A[7..0]

Входной

Первый операнд операции

B[7..0]

Входной

Второй операнд операции

CMP_SEL

Входной

Выбор режима сравнение

AND_SEL

Входной

Выбор режима логического И

CS

Входной

Разрешение работы устройства

CLK

Входной

Тактовый синхросигнал

RESULT[7..0]

Выходной

Результат операции AND

bigger

Выходной

А>B (операция CMP)

smaller

Выходной

A<B (операция CMP)

equal

Выходной

A=B (операция CMP)

Таблица 1.4 - Назначение входов и выходов КПДП

Название

Тип

Назначение

1

2

3

DMA_ACK_WR

Входной

Запрос на запись в память

DMA_ACK_RD

Входной

Запрос на чтение из памяти

CPU_READY

Входной

Сигнал об освобождении шин устройством управления

CLK

Входной

Синхросигнал

DATA

Выходной

Информационные двунаправленные входы внешнего устройства

BUS_ADDR

Выходной

Адрес, выставляемый на шину адреса

BUS_DATA

Выходной

Информационные двунаправленные входы шины данных

RAM_CS

Выходной

Сигнал разрешения работы ОЗУ

RAM_WE

Выходной

Сигнал разрешения записи в ОЗУ

RAM_OE

Выходной

Сигнал разрешения чтения из ОЗУ

CPU_DMA_ACK

Выходной

Сигнал о запросе на ПДП для устройства управления

END_OF_CYCLE

Выходной

Сигнал о конце цикла обмена данными с памятью

Таблица 1.5 - Назначение входов и выходов контроллера прерываний

Название

Тип

Назначение

1

2

3

IRQ_IN

Входной

Линии прерываний

CLI

Входной

Сигнал запрета прерывания

STI

Входной

Сигнал разрешения прерывания

NUM

Входной

Номер запрещаемого/разрешаемого прерывания

CLK

Входной

Синхросигнал

ADDR

Выходной

Адрес обработчика прерывания

IRQ_OUT

Выходной

Выход сигнала возникновения прерывания

MASK[4..0]

Выходной

Маска прерываний

Таблица 1.6 - Назначение входов и выходов УУ

Сигнал

Тип

Назначение

1

2

RESET

Входной

Сигнал сброса микро-ЭВМ

CLK

Входной

Синхросигнал

IRQ_IN

Входной

Вход, информирующий о возникновении прерывания

IRQ_ADDR[9..0]

Входной

Адрес обработчика прерывания

DMA_ACK

Входной

Вход, информирующий о требовании передать управление КПДП

DMA_END_OF_CYCLE

Входной

Вход, информирующий о завершении цикла КПДП

ADDR[9..0]

Входной

Адресные выходы

CMD_DATA[7..0]

Входной

Входы шины команд

DATA[7..0]

Входной

Входы шины данных

ROM_OE

Входной

Сигнал о разрешении чтения из ПЗУ

CMD_RAM_CS

Входной

Сигнал о разрешении работы ОЗУ команд

CMD_RAM _WE

Входной

Сигнал о разрешении записи в ОЗУ команд

CMD_RAM _OE

Входной

Сигнал о разрешении чтения из ОЗУ команд

DATA_RAM_CS

Входной

Сигнал о разрешении работы ОЗУ данных

DATA _RAM _WE

Входной

Сигнал о разрешении записи в ОЗУ данных

DATA _RAM _OE

Входной

Сигнал о разрешении чтения из ОЗУ данных

REGS_CS

Входной

Сигнал о разрешении работы блока регистров

1

2

3

REGS _WE

Входной

Сигнал о разрешении записи в регистры

REGS _OE

Входной

Сигнал о разрешении чтения из регистров

REGS _ADDR[9..0]

Входной

Адрес данных регистра

ALD_CS

Входной

Сигнал о разрешении работы блока АЛУ

ALD_CMP

Входной

Сигнал выбора операции сравнения блока АЛУ

ALD_AND

Входной

Сигнал выбора операции И блока АЛУ

ALD_A[9..0]

Входной

Первый операнд для АЛУ

ALD_B[9..0]

Входной

Второй операнд для АЛУ

IRQ_CLI

Входной

Сигнал о запрете прерываний

IRQ_STI

Входной

Сигнал о разрешении прерываний

IRQ_NUM[4..0]

Входной

Номер разрешаемого/запрещаемого прерывания

DMA_READY

Входной

Освобождение шин устройством управления

2. РАЗРАБОТКА ОСНОВНЫХ УСТРОЙСТ МИКРОЭВМ

2.1 Функциональный состав и работы ПЗУ

В курсовом проекте должны быть реализованы запоминающие устройства двух типов:

1. постоянное запоминающее устройства, где храниться программа.

2. оперативное запоминающее устройство.

Рассмотрим работу ПЗУ и временные диаграммы его работы. Условно-графическое изображение ПЗУ приведено на рисунке 2.1.

Рисунок 2.1 - Условно-графическое изображение ПЗУ.

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

Рисунок 2.2 - Временная диаграмма работы ПЗУ.

ПЗУ память проверена путём чтения данных из MIF-файла по соответствующим адресам.

Листинг 2.1.1 реализация MIF-файла.

WIDTH=8;

DEPTH=1024;

ADDRESS_RADIX=UNS;

DATA_RADIX=UNS;

CONTENT BEGIN

0 : 1;

1 : 3;

2 : 5;

3 : 7;

4 : 9;

5 : 7;

6 : 5;

7 : 3;

[8..1023] : 0;

END;

2.1.2 Функциональный состав и временные диаграммы работы ОЗУ

По условию задания необходимо реализовать оперативное запоминающее устройство, работающее в синхронном режиме. Данное устройство будет реализовано в виде отдельного блока, согласно данной по условию архитектуре системы. Рассмотрим работу ОЗУ и временные диаграммы его работы. Условно-графическое изображение ОЗУ приведено на рисунке 2.3, а временная диаграмма работы - на рисунке 2.4.

Рисунок 2.3 - Условно-графическое изображение ОЗУ.

Рисунок 2.4 - Временная диаграмма работы ОЗУ.

Для проверки были поданы из порта DAT произвольные данные и записаны в ОЗУ, а после считаны.

Листинг 2.2 реализация VHDL-кода ОЗУ.

USE ieee. std_logic_1164.all;

LIBRARY altera_mf;

USE altera_mf. all;

ENTITY lpm_rom0 IS

PORT

(

address : IN STD_LOGIC_VECTOR (9 DOWNTO 0);

clock : IN STD_LOGIC := '1';

q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0)

);

END lpm_rom0;

ARCHITECTURE SYN OF lpm_rom0 IS

SIGNAL sub_wire0 : STD_LOGIC_VECTOR (7 DOWNTO 0);

COMPONENT altsyncram

GENERIC (

clock_enable_input_a : STRING;

clock_enable_output_a : STRING;

init_file : STRING;

intended_device_family : STRING;

lpm_hint : STRING;

lpm_type : STRING;

numwords_a : NATURAL;

operation_mode : STRING;

outdata_aclr_a : STRING;

outdata_reg_a : STRING;

widthad_a : NATURAL;

width_a : NATURAL;

width_byteena_a : NATURAL

);

PORT (

clock0 : IN STD_LOGIC ;

address_a : IN STD_LOGIC_VECTOR (9 DOWNTO 0);

q_a : OUT STD_LOGIC_VECTOR (7 DOWNTO 0)

);

END COMPONENT;

BEGIN

q <= sub_wire0(7 DOWNTO 0);

altsyncram_component : altsyncram

GENERIC MAP (

clock_enable_input_a => "BYPASS",

clock_enable_output_a => "BYPASS",

init_file => "rom. mif",

intended_device_family => "Stratix II",

lpm_hint => "ENABLE_RUNTIME_MOD=NO",

lpm_type => "altsyncram",

numwords_a => 1024,

operation_mode => "ROM",

outdata_aclr_a => "NONE",

outdata_reg_a => "CLOCK0",

widthad_a => 10,

width_a => 8,

width_byteena_a => 1

)

PORT MAP (

clock0 => clock,

address_a => address,

q_a => sub_wire0

);

END SYN;

2.1.3 Совмещенная схема работы ОЗУ и ПЗУ.

Рисунок 2.5 - Совмещенная схема ОЗУ и ПЗУ.

Рисунок 2.6 - Временная диаграмма работы ОЗУ

Для проверки совмещённой памяти ОЗУ записала данные из ПЗУ памяти и затем считаны из неё, по тем же адресам.

Рисунок 2.7 - УГО блока памяти.

Данное устройство представляет собой автомат с конечным числом состояний, меняющий значение на выходах в зависимости от состояния в котором он находится. Выходы устройства управления подключаются к входам всех остальных устройств микроЭВМ посредством шины управления.

УУ является центральны блоком во всей системе микроЭВМ, на нем сходятся все логические связи. Именно блок устройства управления осуществляет управление всеми составляющими микроЭВМ. Правильная работа устройства управления определяет, насколько правильно будет работать вся схема в целом.

Устройства управления делятся на:

- УУ с жесткой, или схемной логикой;

- УУ с программируемой логикой (микропрограммные УУ).

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

В микропрограммном УУ каждой команде ставится в соответствие совокупность хранимых в специальной памяти слов - микрокоманд. Каждая из микрокоманд содержит информацию о микрооперациях, подлежащих выполнению в данном такте, и указание, какое слово должно быть выбрано из памяти в следующем такте.

Функциональная схема устройства управления приведена на рисунке 2.8.

Рисунок 2.8 - Функциональная схема устройства управления.

АЛУ - блок микроЭВМ, предназначенный для выполнения арифметических и логических операций. Условное графическое обозначение АЛУ представлено на рисунке 2.3.1.

Блок АЛУ функционально состоит из двух частей: компаратора и блока побитовое реализующего логическое умножение. АЛУ реализовано на языке VHDL и представлено в листинге 2.9.

Рисунок 2.9 - Условно-графическое обозначение АЛУ.

На рисунке 2.10 изображены временные диаграммы работы АЛУ.

Рисунок 2.10 - Временная диаграмма работы АЛУ.

Значения операндов необходимых для обработки подаются на входы А и В. При высоком уровне сигнала CS в зависимости от выбора операции сравнения или логического умножения, входы AND_SEL и CMP_SEL соответственно, выполняется операция. В случае операции сравнения высокий уровень сигал возвращается на выход EQUAL - в случае равенства операндов, SMALLER - в случае если первый операнд меньше второго, BIGGER - в случае если первый операнд больше второго. В случае операции побитого умножения результат возвращается на выход RESULT.

Листинг 2.3 Реализации АЛУ:

library ieee;

use ieee. std_logic_1164.all;

use ieee. std_logic_unsigned. all;

use ieee. numeric_std. all;

entity ald is

GENERIC

(

DATA_WIDTH : integer :=10

);

port

(

A, B : in std_logic_vector(9 downto 0);

CMP_SEL, AND_SEL: in std_logic;

CS : in std_logic;

CLK : in std_logic;

RESULT : out std_logic_vector(9 downto 0) := (others => 'Z');

BIGGER, SMALLER, EQUAL: out std_logic

);

end entity ald;

architecture rtl of ald is

shared variable temp: std_logic_vector(9 downto 0);

begin

process(clk)

begin

if (rising_edge(clk)) then

if (cs = '1') then

if (cmp_sel='1') then

if (conv_integer(A) > conv_integer(B)) then

BIGGER <= '1';

SMALLER <= '0';

EQUAL <= '0';

temp := (others => 'Z');

elsif (conv_integer(A) < conv_integer(B)) then

BIGGER <= '0';

SMALLER <= '1';

EQUAL <= '0';

temp := (others => 'Z');

else BIGGER <= '0';

SMALLER <= '0';

EQUAL <= '1';

temp := (others => 'Z');

end if;

elsif (and_sel='1') then

temp := std_logic_vector(to_unsigned(conv_integer(A and B),temp'length));

else

temp := (others => 'Z');

end if;

result <= temp(9 downto 0);

else

result <= (others => 'Z');

end if;

end if;

end process;

end architecture rtl;

3. РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ СХЕМЫ УСТРОЙСТВА

3.1 Описание работы устройства на вентельно-регистровом уровне

Устройство управления - узел микропроцессора, выполняющий управление прочими компонентами. В задачи устройства управления входит выборка и декодирование потока инструкций, выдача кодов функций в исполнительные устройства, принятие решений по признакам результатов вычислений, синхронизация узлов микропроцессора.

В состав устройства управления входят следующие блоки:

· Блок генерации адресов инструкций. Он содержит в себе регистр программного счётчика (program counter или instruction pointer), хранящий адрес считываемой из памяти инструкции, и модифицирующийся после выборки каждой инструкции.

· Блок выборки инструкции, обеспечивающий считывание программ из памяти через устройство ввода-вывода. Он получает на вход адрес с блока генерации адреса инструкции, передаёт его на УВВ, получает с него данные по переданному адресу, и выдаёт на блок декодирования интсрукций.

· Блок декодирования инструкций, производящий преобразование кодов инструкций в последовательность кодов функций, передаваемые на исполнительные устройства.

· Блок переходов. Получает функциональные коды переходов и ветвлений, признаки результатов операций с функциональных устройств, проверяет истинность условия перехода, и передаёт сигнал на изменение программного счётчика.

На рисунке 3. 1 приедено условно-графическое изображение блока генерации адресов инструкций.

Рисунок 3.1 - УГО блока генерациии адресов инструкций

При поступление каждого пятого такта, на блоке генерации формируется следующей команды, значение на три отличное от предыдущего, при этом при условии безусловного перехода значение адреса инструкций может задаваться принудительно при помощи входа input[9..0].

Рисунок 3.2 - УГО блока выборки инструкций

После формирования каждой из инструкция блок выборки инструкций обращается к памяти комманд и извлекает из нею текущую комману, при этом сразу после извлечения формирует специальный сигнал got_comand, который сообщает о том что текущая команда получена, что бы сохранить актуальность сигнала, сигнал автоматически сбрасывается каждые три такта.

Блок лекодирования инструкций представляет собой обынчный трехвходовы дешефратор. Так как при заданном условии курсового проекта все команды, необходимын для реализации в у стройсве управления, могут быть представлены в виде трех битов информации.

Рисунок 3.3 - УГО блока декодирвани инструкий

Принципиальная схема блока декодирования инструкий представлена ниже, на рисунке 3.4.

Рисунок 3.4 - Принципиальная схема блока декодирования команд

В связи с отсутсвием как таковом, влияния результатов работы функциональных устройств на текущие команды или команды необходимы исполнять далее в ходе работы микроЭВМ, в блокепереходво как таковм необхлдимость отчутсвует.

3.2 Описание времнной диаграмы устройства

Услвоно-графическое изображение устройства управления приведено на рисунку 3.5.

Рисунок 3.5 - УГО устройства управления

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

В зависимости от поступления тактового сигнала CLK, происходит изменение значения сигнала ADR[9..0], формирующего адрес выполняемой команды, затем в соответствии от результатов извлечения данной команды, запрашиваются адреса операндов и значения операндов формируются на соответствующих выходах. В случае высоко уровня сигнала на входе IRQ_IN работа устройства приостанавливается и выполняется команда лежащую по адресу, заданному на вхоже устройства IRQ_ADR[9..0]. В случае высокого уровня сигнала DMA_ACK работа устройства также приостанавливается, а на выходах устройства формируются сигналы DMA_READY, сигнализирующий о том, что память свободна и КПДП может работать и сигнал DMA_CONTROL служащий сигналом запуска КПДП. При поступлении сигнала RESET счетчик формирования адреса команды сбрасывается.

4. ОПТИМИЗАЦИЯ МИКРОЭВМ

Оптимизация микроЭВМ как правило подразумевает под собой повышение его производительности. Относительно данного курсового проекта, его производительность может быть улучшена следующими способами.

1) Повышением частоты работы основного тактового генератора

Для оптимизации работы устройства в схеме ищется цепочка, вносящая наибольшую задержку при прохождении сигнала. Частоту тактового генератора можно выбрать немного больше, чем задержка самой медленной цепочки.

2) Сокращением длительности выполнения фаз отдельных команд

Сокращение длительности выполнения отдельных фаз команд можно достичь путем увеличения частоты тактового генератора, что приведет к увеличению количества выполняемых команд в единицу времени.

3) Реализацией одновременного выполнения некоторых фаз отдельных команд

Для поддержания максимальной загрузки УУ должен использоваться параллелизм уровня команд, основанный на выявлении последовательностей несвязанных команд, которые могут выполняться в конвейере с совмещением.

4) Реализацией конвейерного выполнения фаз последовательностей команд

Конвейеризация (или конвейерная обработка) в общем случае основана на разделении подлежащей исполнению функции на более мелкие части, называемые ступенями, и выделении для каждой из них отдельного блока аппаратуры. Так обработку любой машинной команды можно разделить на несколько этапов (несколько ступеней), организовав передачу данных от одного этапа к следующему. При этом конвейерную обработку можно использовать для совмещения этапов выполнения разных команд. Производительность при этом возрастает благодаря тому, что одновременно на различных ступенях конвейера выполняются несколько команд. Конвейерная обработка такого рода широко применяется во всех современных быстродействующих процессорах.

Выполнение типичной команды можно разделить на следующие этапы:

- выборка команды (по адресу, заданному счетчиком команд, из памяти извлекается команда);

- декодирование команды / выборка операндов из регистров;

- выполнение операции / вычисление эффективного адреса памяти;

- обращение к памяти;

- запоминание результата.

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

ЗАКЛЮЧЕНИЕ

В соответствии с заданием на курсовое проектирование была реализована Гарвардская архитектура. Основное её преимущество заключается в разделении памяти команд и данных, что позволяет значительно повысить производительность системы, так как появляется возможность работ и с командами, и с данными. Благодаря этому можно рационально использовать и перераспределять ресурсы системы. Для систем с Гарвардской архитектурой легче разрабатывать программы, также устройства, построенные на данной архитектуре имеют повышенную отказоустойчивость. Несмотря на ряд ключевых преимуществ Гарвардская система, в связи со своей дороговизной, не получила широкого распространения. Однако она часто используется в системах требовательных к повышенной отказоустойчивости и производительности.

В данном курсовом микроЭВМ была реализована в среде Quartus II. МикроЭВМ устроена по принципу Гарвардской архитектуры.

Шина адреса имеет разрядность 10 бит, шина данных 8 бит. Блок РОНов содержит 12 регистров. Разработанное устройство управление выполняет следующие команды: MOV, JUMP, CMP, AND, HLT, CLI. STI. Также был разработан КПДП для прямого доступа к памяти с начальным адресом 8 бит и количеством байт для передачи 4 и система прерываний с 5 линиями прерывания.

Было разработано АЛУ, реализующее следующие операции: операцию CMP - операция сравнения двух целых положительных чисел, и операцию AND - операция логического умножения.

При проведении оптимизации микроЭВМ были рассмотрены следующие возможные варианты:

Повышение частоты работы основного тактового генератора;

Сокращение длительности выполнения фаз отдельных команд;

Реализацией одновременного выполнения некоторых фаз отдельных команд

Конвейерное выполнение фаз последовательностей команд.

В ходе выполнения курсового проекта мною были приобретены навыки построения микроЭВМ, изучены особенности Гарвардской архитектуры и языка VHDL, приобретены навыки работы в Quartus II и изучены принципы построения отдельных блоков в нём.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. Калинцев С. В. Структурная и функциональная организация ЭВМ. Учебно-методический комплекс. -Новополоцк.:ПГУ, 2008-284c.

2. Угрюмов Е. П. Цифровая схемотехника. - М.: С-Петербург, 2001 - 518с.

3. Угрюмов Е. П. Проектирование элементов и узлов ЭВМ. - М.: Высшая школа, 1987 - 318с.

Размещено на Allbest.ru

...

Подобные документы

  • Структура внешнего интерфейса. Алгоритмы функционирования микроЭВМ, его структурная и функциональная схемы. Формат микрокоманд и разработка микропрограммы. Диаграмма синхроимпульсов при использовании микропроцессора. Временная диаграмма работы микроЭВМ.

    курсовая работа [2,6 M], добавлен 18.06.2012

  • Расчет статического модуля оперативной памяти и накопителя. Построение принципиальной схемы и временной диаграммы модуля оперативного запоминающего устройства. Проектирование арифметико-логического устройства для деления чисел с фиксированной точкой.

    курсовая работа [3,2 M], добавлен 13.06.2015

  • Иерархия запоминающих устройств ЭВМ. Микросхемы и системы памяти. Оперативные запоминающие устройства. Принцип работы запоминающего устройства. Предельно допустимые режимы эксплуатации. Увеличение объема памяти, разрядности и числа хранимых слов.

    курсовая работа [882,6 K], добавлен 14.12.2012

  • Анализ архитектуры, структуры и элементной базы существующих ОЗУ и системных шин компьютеров. Разработка структурной и принципиальной схемы адаптера связи оперативного запоминающего устройства с синхронной системной шиной. Выбор элементов и узлов ОЗУ.

    курсовая работа [271,4 K], добавлен 17.09.2013

  • Алгоритм реализации арифметической операции и разработка блок-схемы устройства. Составление и минимизация логических выражений работы блоков. Логическая схема регистра, сумматора, сдвига и мультиплексора. Анализ и синхронизация работы устройства.

    курсовая работа [1,2 M], добавлен 27.02.2014

  • Целесообразность применения МП-устройства. Архитектура микропроцессорной системы. Структурная организация БИС ВТ с изолированными шинами. Содержание и возможная направленность микроконтроллера. Обобщенная структура простого встраиваемого микроконтроллера.

    реферат [224,5 K], добавлен 28.04.2011

  • Описание устройства и принципа работы составных элементов компьютера: системного блока, платы, центрального процессора, кеш-памяти, материнской платы BIOS и CMOS, запоминающего устройства RAM, компьютерной шины, логических контроллеров, аппаратных портов.

    реферат [61,0 K], добавлен 10.01.2012

  • Разработка принципиальной электрической схемы микропроцессорного устройства управления двигателем постоянного тока на базе контроллера ATmega 128. Разработка пакета подпрограмм на языке Assembler в целях регулирования и корректной работы устройства.

    курсовая работа [271,5 K], добавлен 14.01.2011

  • Описание алгоритма функционирования устройства сопряжения, которое подключается к системной шине ISA. Принципиальная и функциональная схемы интерфейсной и операционной части устройства. Моделирование схемы операционной части, построение диаграммы работы.

    курсовая работа [50,7 K], добавлен 13.11.2009

  • Применение однокристального микроконтроллера в адаптере параллельного обмена. Связь с внешними устройствами. Структурная схема устройства и ее описание. Назначение отдельных функциональных блоков. Разработка принципиальной схемы и программы устройства.

    курсовая работа [303,0 K], добавлен 06.01.2009

  • Анализ выбора цифрового сигнального процессора и структурной схемы устройства обработки информации. Расчет надежности устройства и производительности обмена данных, разработка ленточного графика. Обзор особенностей радиального и межмодульного интерфейса.

    дипломная работа [1,8 M], добавлен 20.05.2012

  • Рассмотрение структурной схемы микропроцессорной системы обработки данных. Описание архитектуры микроконтроллера ATmega161. Расчет оперативного запоминающего устройства. Строение, назначение адаптера параллельного интерфейса, способы его программирования.

    курсовая работа [621,5 K], добавлен 24.09.2010

  • Функциональный состав микро-ЭВМ, разработка системы команд. Описание взаимодействия всех блоков электронно-вычислительной машины при выполнении команд программы. Арифметико-логическое устройство, кэш-память процессора, функциональное моделирование.

    курсовая работа [981,4 K], добавлен 27.05.2013

  • Разработка микропроцессорной системы на базе однокристальной микроЭВМ, также программного обеспечения, реализующего заданный набор функций. Структура и схема микроконтроллера PIC16. Разработка программы на языке ассемблер в среде MPLAB IDE v8.84.

    курсовая работа [515,3 K], добавлен 11.07.2012

  • Функциональная схема и алгоритм работы устройства. Техническое обоснование выбора серии ИМС. Состав и описание работы узлов устройства. Расчёт необходимых сопротивлений резисторов, потребляемой мощности и тока. Построение и анализ временных диаграмм.

    курсовая работа [311,7 K], добавлен 19.05.2011

  • Актуальность задачи. Разработка функциональной схемы устройства. Радиолокационная установка (РЛУ). Микропроцессорная часть. Обоснование алгоритма работы устройства. Разработка управляющей программы устройства. Схема алгоритма. Пояснения к программе.

    курсовая работа [193,9 K], добавлен 18.10.2007

  • Cравнение двух важнейших характеристик - емкость памяти и ее быстродействие. Регистры общего назначения. Функции оперативного запоминающего устройства. Наиболее распространенная форма внешней памяти - жесткий диск. Три основных типа оптических носителей.

    реферат [492,7 K], добавлен 15.01.2015

  • Вычисление вероятности безотказной работы микропроцессорного устройства, блока оперативной памяти, внешнего запоминающего устройства, программного обеспечения, работы оператора. Определение средней наработки на отказ аппаратно-программного комплекса.

    контрольная работа [537,8 K], добавлен 07.07.2012

  • Описание приложения в виде пользовательского сценария. Проектирование обмена сообщениями между модулями. Разработка общей структуры приложения. Обзор структуры файлов. Разработка получения данных со страницы. Характеристика результата работы программы.

    дипломная работа [1,5 M], добавлен 22.03.2018

  • Проблема охлаждения в компьютере. Выбор и описание прототипов разрабатываемого устройства. Разработка структурной и принципиальной схемы. Разработка программного обеспечения, его выбор и обоснование. Моделирование работы исследуемого устройства.

    курсовая работа [2,7 M], добавлен 10.11.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.