48686 (608729)

Файл №608729 48686 (Разработка структуры процессора на основе МПА с жесткой логикой)48686 (608729)2016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

  1. Анализ задания и разработка структурной (функциональной) схемы процессора.

  2. Общее описание принципа работы процессора.

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

  4. Содержательный алгоритм микропрограммы.

  5. Синтез управляющего автомата на основе жесткой логики.

  6. Создание описания отдельных узлов процессора и всего процессора средствами Active HDL.

  7. Тестирование процессора и подтверждение правильности его работы с помощью временных диаграмм.

ВЫВОДЫ

ВВЕДЕНИЕ

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

ЭВМ с хранимой программой (stored program electronic computer) может быть определена как машина, обрабатывающая данные в соответствии с заранее определенными правилами (инструкциями); при этом программа (набор инструкций) и данные находятся в памяти машины. Для загрузки программы и данных в память, а также для вывода результатов обработки из памяти необходим какой-либо способ связи с внешними объектами. Этой цели служат устройства ввода-вывода.

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

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

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

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

1 АНАЛИЗ ЗАДАНИЯ И РАЗРАБОТКА СТРУКТУРНОЙ (ФУНКЦИОНАЛЬНОЙ) СХЕМЫ ПРОЦЕССОРА

Разработать структурную схему процессора (операционного и управляющего автоматов) для выполнения набора машинных команд. Создать описание процессора на языке VHDL, провести тестирование.

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

Использовать одномагистральную структуру.

Реализовать следующие команды для исполнения в системе:

1. JMP # ;Переход в указанную часть программы

2. MOV A, #d ;Загрузка в аккумулятор константы

3. MOV Rn, #d ;Загрузка в регистр константы

4. RL А ;Сдвиг аккумулятора влево циклический

Примечание:

- обозначения команд процессора соответствуют мнемокодам языка ассемблера МК51.

- команды, могут размещаться в памяти в любой последовательности;

- константа #d размещается в следующем по порядку байте после команды;

- n – номер регистра 0 , 1, 2, 3;

- bit – 7, 6, 5, 4, 3, 2, 1, 0.

Структурная схема процессора показана на рис.1. В ней имеется двухвходовое АЛУ (хотя в этом нет необходимости в данном случае, однако это сделано для обеспечения универсальности данного устройства). Имеется банк из 4-х регистров общего назначения (РОН) R0-R3, которые работают только на запись в них, поскольку при настраивании их работы на чтение из них значительно усложнится общая структура автомата, возможно даже будет не возможно создать на одномагистральной шине.

В наличии блок интерпретации кода операции, построенный на счетчике шагов, а также на декодере инструкции и шифраторе, выдающий управляющие сигналы (AccIn, ALURL, RegIn, PCIn, PCInc, MBROut, IRIn, MemRd, Reset).

Все регистры являются 8-разрядными, таким образом, шина также будет 8-разрядной.

Рис. 1. Структурная схема процессора

2 ОБЩЕЕ ОПИСАНИЕ ПРИНЦИПА РАБОТЫ ПРОЦЕССОРА

Данный процессор с одномагистральной структурой выполняет указанный в задании набор команд.

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

На рис. 1 показана структурная схема процессора с одной магистралью.

Следует привести некоторые пояснения к этой схеме. Блок «Memory» содержит последовательность команд, которые принадлежат набору команд, приведенному в предыдущем разделе. Выполнение каких либо других команд не данном процессоре будет невозможно. Выборка команд из памяти производится следующим образом: адрес команды, содержащийся в программном счетчике, записывается в регистр адреса, а затем выдается на адресные входы блока памяти, что сопровождается выдачей управляющим устройством сигнала чтения из памяти. Данные из памяти считываются буферный регистр. После того, как выбранная из памяти команда попадает в буферный регистр, она выдается на внутрипроцессорную шину, откуда она записывается в регистр команд (IR). На этом выборка команды заканчивается. Эту последовательность действий принято называть фазой извлечения команды (Fetch).

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

Алгоритм выполнения команды в общем случае состоит из таких фаз:

  1. Выборка команды

  2. Интерпретация команды

  3. Формирование адреса из команды

  4. Выполнение команды

3 ВРЕМЕННЫЕ ДИАГРАММЫ, ОПИСЫВАЮЩИЕ ВЫПОЛНЕНИЕ МИКРООПЕРАЦИЙ ДЛЯ КАЖДОЙ КОМАНДЫ

Разработаем формат команды, способный закодировать операции:

Код операции

Номер РОН

Не используются

7

6

5

4

3

2

1

0

Пронумеруем операции процессора:

Код операции

Команды

0

0

Jmp #

0

1

Mov A,#

1

0

Mov Rn,#

1

1

Rl A

Временная диаграмма микроопераций выполнения команды JMP #d:

Временная диаграмма микроопераций выполнения команды MOV A, #d:

Временная диаграмма микроопераций выполнения команды MOV Rn, #d:

Временная диаграмма микроопераций выполнения команды RL A:

4 СОДЕРЖАТЕЛЬНЫЙ АЛГОРИТМ МИКРОПРОГРАММЫ

Опишем основные алгоритмы выполнения команд в процессоре по тактам с краткими пояснениями к каждой из них:

Переход в заданную часть кода (JMP #d)

  1. MemRd, PCInc (чтение из памяти, инкремент программного счетчика)

  1. MBROut, IRIn (загрузка из MBR, загрузка следующей команды)

  1. MemRd, PCInc (чтение из памяти, инкремент программного счетчика)

  1. MBROut, PCIn (загрузка из MBR)

  1. Reset (сброс)

Загрузка константы в аккумулятор (MOV A, #d)

  1. MemRd, PCInc (чтение из памяти, инкремент программного счетчика)

  1. MBROut, IRIn (загрузка из MBR, загрузка следующей команды)

  1. MemRd, PCInc (чтение из памяти, инкремент программного счетчика)

  1. MBROut, AccIn, Reset (загрузка из MBR, загрузка в аккумулятор, сброс)

Загрузка константы в РОН (MOV Rn, #d)

  1. MemRd, PCInc (чтение из памяти, инкремент программного счетчика)

  1. MBROut, IRIn (загрузка из MBR, загрузка следующей команды)

  1. MemRd, PCInc (чтение из памяти, инкремент программного счетчика)

  1. MBROut, RegIn, Reset (загрузка из MBR, загрузка в РОН, сброс)

Сдвиг аккумулятора влево циклический (RL A)

  1. MemRd, PCInc (чтение из памяти, инкремент программного счетчика)

  1. MBROut, IRIn (загрузка из MBR, загрузка следующей команды)

  1. MemRd, PCInc (чтение из памяти, инкремент программного счетчика)

  1. MBROut (загрузка из MBR)

  1. ALUOP, AccIn, Reset (выполнение операции, загрузка результата в аккумулятор, сброс)

5 СИНТЕЗ УПРАВЛЯЮЩЕГО АВТОМАТА НА ОСНОВЕ ЖЕСТКОЙ ЛОГИКИ

Структурная схема управляющего автомата на основе жесткой логики показана на рис. 2.

Рис. 2. Структурная схема управляющего автомата на основе жесткой логики

Ниже записаны выражения для выходных сигналов шифратора:

MemRd<='1' when c="00000001" or c="00000100" else '0' after 5ns;

PCInc<='1' when c="00000001" or c="00000100" else '0' after 5ns;

MBROut<='1' when c="00000010" or c="00001000" else '0' after 5ns;

IrIn<='1' when c="00000010" else '0' after 5ns;

PCIn<='1' when c="00001000" and i="0001" else '0' after 5ns;

AccIn<='1' when (c="00001000" and i="0010") or (c="00010000" and i="1000") else '0' after 5ns;

RegIn<='1' when c="00001000" and i="0100" else '0' after 5ns;

ALURL<='1' when c="00010000" and i="1000" else '0' after 5ns;

Reset<='1' when (c="00010000" and i="0001") or (c="00010000" and i="1000")

or (c="00001000" and i="0010")or (c="00001000" and i="0100") else '0' after 5ns;

6 СОЗДАНИЕ ОПИСАНИЯ ОТДЕЛЬНЫХ УЗЛОВ ПРОЦЕССОРА И ВСЕГО ПРОЦЕССОРА СРЕДСТВАМИ ACTIVE HDL

Описание регистров, счетчика, мультиплексора и декодера:

library ieee;

use ieee.std_logic_1164.all;

entity MAR is

port(D: in std_logic_vector(7 downto 0);

Q: out std_logic_vector(7 downto 0);

RST: in std_logic;

Clk: in std_logic);

end MAR;

architecture MAR of MAR is

Характеристики

Тип файла
Документ
Размер
6,82 Mb
Тип материала
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

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

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

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6683
Авторов
на СтудИзбе
290
Средний доход
с одного платного файла
Обучение Подробнее