Разработка функциональной микропрограммы команды ЭВМ
Слово памяти, которое записывается или читается из ОП, размещается в регистре слова ОП (РОП). Длина регистра РОП (0:lоп-1), где lоп{16,32,64}. Операция в ОП возбуждается сигналами чтения из ОП (ЧтОП) и записи в ОП (ЗпОП). Момент окончания цикла обращения к ОП отмечается сигналом занятости ОП Zоп, так как цикл ОП имеет длительность, большую такта работы процессора. Таким образом, синхронизация… Читать ещё >
Разработка функциональной микропрограммы команды ЭВМ (реферат, курсовая, диплом, контрольная)
МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«Ижевский государственный технический университет имени М.Т. Калашникова»
Кафедра «Вычислительная техника»
Пояснительная записка к курсовому проекту по дисциплине «ЭВМ и периферийные устройства»
на тему «Разработка функциональной микропрограммы команды ЭВМ»
Выполнил: студент гр. Б07−781−2
Фамилия И.О.
Проверил: к.т.н., доцент кафедры ВТ Петухов К.Ю.
Ижевск 2015
Целью курсового проекта является изучение структуры ЭВМ и отдельных ее узлов, а также решение комплекса вопросов, связанных с проектированием процессора ЭВМ.
Курсовой проект включает в себя следующие этапы:
— Разработка микропрограммы выборки команды из ОП;
— Разработка функциональной микропрограммы заданной команды.
Задание
Вариант_ Номер варианта
Исходные данные:
— Емкость оперативной памяти Eоп = 2048 Кбайт;
— Длина слова оперативной памяти lоп = 4 байта.
Разработать функциональную микропрограмму команды BC (код 47).
1. Базовая структура ЭВМ
Рисунок 1.1 — Структурная схема ЭВМ
ЭВМ состоит из процессора, основной (оперативной) памяти (ОП), регистровой (сверхоперативной) памяти (РП) и средств ввода-вывода информации. Структурная схема ЭВМ показана на рисунке 1.1.
Процессор выбирает из ОП команды выполняет все операции за исключением операции ввода-вывода (ОВВ). ОВВ инициируются процессором и выполняются средствами ввода-вывода.
ОП обеспечивает хранение информации. В ЕС ЭВМ адресуется каждый байт ОП. За одно обращение к ОП записываются или читаются несколько байт информации.
РП используется для увеличения быстродействия процессора и состоит из 16 регистров общего назначения (РОН[0.15]) длиной 32 бита, каждый из которых обеспечивает хранение 32-х разрядного слова, и из 4-х регистров с плавающей запятой (РПЗ[K], где К = 0, 2, 4, 6), каждый из которых обеспечивает хранение 64-х разрядного слова. РОН идентифицируется адресами 0, 1, 2, …, 15, а РПЗ адресами 0, 2, 4, 6. РОН используются в качестве индексных регистров, базовых регистров, а также для хранения слов и полуслов, участвующих в операциях общего назначения. РПЗ хранят числа с плавающей запятой.
ОА процессора служит для хранения слов информации, выполнения микроопераций (МО) над ними и вычисления логических условий (ЛУ).
УА обеспечивает требуемый порядок следования МО на основе заданных микропрограмм (МП).
ОА строится на основе принципа общих микроопераций. ОП разделяется на 2 части: память ОА и комбинационную часть (рисунок 1.1). Память ОА состоит из N регистров. Рабочие регистры РА, РВ, РС и т. д. используются для хранения операндов и внутренних слов МП. Длина их определяется длиной операндов и особенностью выполнения команд. Длина регистра команд РК назначается из максимального формата команд заданного набора. Счетчик адреса команд (СчАК) хранит и модифицирует адрес команды. Длина СчАК определяется емкостью ОП в полусловах, т. е:
lСчАК = log2E — 1 (1.1)
где lСчАК — длина СчАК, а E — емкость ОП.
Базовая структура процессора приведена на рисунке 1.2.
Рисунок 1.2 — Базовая структурная схема процессора
Память ОА связана с комбинационной частью шинами А, В и С. На шины, А и В посредством управляющих сигналов из множеств {a} и {b} выбираются операнды, вступающие в микрооперацию, а шина С используется для занесения результатов МО в память ОА. Операционный автомат подключен к магистрали М, связывающей его с ОП и РП через регистр Z.
Комбинационная часть ОА служит для выполнения множества МО над словами, выбранными на шины, А и В, и вычисления значений ЛУ из множества X, необходимых для реализации МП. Комбинационная часть ОА содержит следующие операционные элементы комбинационного типа: формирователь кодов (ФК), сдвигатель (СДВ), комбинационный сумматор (КСМ) и формирователи осведомительных сигналов (Ф).
ФК необходим для формирования обратного кода слова, находящегося на шине В (F:=B), выделения поля слова (F:=В (8:31)), формирования константы (F:=const). Возможна прямая передача слова с входной шины ФК на выходную (F:=В). Все МО на ФК инициируются управляющими сигналами из множества {f}.
СДВ служит для выполнения МО сдвига слова вправо или влево на нужное количество разрядов k (S:=Lk (F) или S:=Rk (F), где k=1,2,…) и для прямой передачи слова через СДВ (S:=F). МО сдвига инициируются управляющими сигналами из множества {s}. Если при выполнении МО сдвига необходимо запоминать значение спадающего разряда (оно может быть использовано в дальнейшем), то в структуру вводим дополнительный триггер.
Основное назначение КСМ — выполнение МО суммирования чисел (K:=A+S или K:=A+S+1). Кроме этого, КСМ может выполнять логические МО (К:=А v S; К:=А & S; К:=A S), микрооперации счета (К:=А+1; К:=S+1) и прямую передачу слова на шину K (K:=A; K:=S). Все МО КСМ инициируются управляющими сигналами из множества {k}. П — триггер для запоминания переноса при сложении (вводится в структуру ОА при необходимости).
Результат МО фиксируется в промежуточном регистре Z управляющим сигналом z1 на время одного такта, а затем может быть передан в память ОА по шине С (управляющие сигналы {c}), в ОП или РП через магистраль М (управляющие сигналы {m}) или в адресный регистр АР (управляющие сигналы {r}).
Хранение признаков перехода и состояний обеспечивает совокупность триггеров, образующих регистр признаков перехода и состояний (ППС). Регистр ППС представляет собой часть регистра слова состояний программы (ССП) ЕС ЭВМ. В нем фиксируются все особые случаи выполнения команды (коды прерываний), устанавливаются режимы работы и состояния процессора, признак результата.
В ОП емкостью Е байтов хранятся 16, 32 или 64- разрядные слова. Слово читается и записывается в ОП всегда целиком за одно обращение к ОП. Адрес слова, к которому производится обращение, указывается в регистре адреса оперативной памяти (АОП). Длина регистра АОП вычисляется как:
lАОП = log2Ес (1.2)
где Ес — емкость ОП в словах, вычисляется:
Ес=Е/lоп (1.3)
где lоп — длина слова ОП в байтах.
Слово памяти, которое записывается или читается из ОП, размещается в регистре слова ОП (РОП). Длина регистра РОП (0:lоп-1), где lоп{16,32,64}. Операция в ОП возбуждается сигналами чтения из ОП (ЧтОП) и записи в ОП (ЗпОП). Момент окончания цикла обращения к ОП отмечается сигналом занятости ОП Zоп, так как цикл ОП имеет длительность, большую такта работы процессора. Таким образом, синхронизация работы процессора и ОП обеспечивается за счет ждущих вершин графа микропрограммы.
Обмен информацией между ОА и ОП происходит через магистраль М и промежуточный регистр Z. Адрес слова, которое необходимо прочитать или записать в ОП, предварительно формируется в адресном регистре АР, связанном с АОП шиной, управляемой сигналами из множества {r}. Длина АР равна:
lАР = log2E (1.4)
РП является внутренней (сверхоперативной) памятью процессора. Длина регистра слова РП (РРП) — 32 разряда. Адрес регистра указывается в 5-разрядном регистре адреса РП (APП). Чтение и запись в РП инициируются сигналами ЧтРП и ЗпРП, соответственно.
При обращении к РОН с полусловом или словом любое значение адреса от 0 до 15 является допустимым. При обращении к РОН с двойным словом адрес должен быть четным, (если адрес у РОН нечетный — нарушение спецификации адреса (S)). При обращении к РПЗ со словом или двойным словом (числа с плавающей запятой) адрес РПЗ должен быть четным и меньше восьми. В ином случае фиксируется нарушение спецификации адреса РПЗ (SP).
Сопряжение ОА процессора с РП организовано через магистраль. Сигнал занятости РП отсутствует, т.к. цикл РП (чтение или запись) укладывается в такт процессора.
В формате команды под адрес РП (номер регистра) отводится четырехразрядное поле (R, B или X). Обращение к определенному виду регистров (РОН или РПЗ) зависит от кода операции в команде (типа операнда).
Для обращения к POH за целым числом, базовым адресом, индексным приращением, кодом логической величины или адресом необходимо установить старший разряд адреса АРП (1) в нуль. Для обращения к РПЗ за числом с плавающей запятой АРП (1) устанавливается в единицу. Разряды АРП (2:5) определяются полем R, В или Х в команде. Обращение к регистрам РП за двойным словом выполняется за два цикла.
процессор буферный условный переход
2. Выборка команды из ОП
Для того, чтобы выполнить команду, ее необходимо прочитать из ОП в регистр команд (РК). В зависимости от формата выбираемой команды и ситуации, предшествовавшей выборке данной команды, необходимо выполнить различную совокупность микроопераций для передачи команды из ОП в РК. Команды любого формата начинаются с целочисленной границы полуслова. Слово ОП может содержать полностью команду или только ее часть. Емкость ОП Eоп = 64 КБ. По формуле (1.3) адресный регистр ОП имеет длину:
Адрес выбираемой команды хранится в СчАК и по формуле (1.1) имеет длину:
По формуле (1.2) АОП имеет длину:
Особенности выборки: для исключения повторного обращения к одному и тому же слову ОП применяется буферный регистр, куда записывается невыбранная часть слова ОП. При наличии команды перехода возможно нарушение естественного порядка выполнения команд. Данная ситуация отмечается триггером перехода, при этом буферным регистром пользоваться нельзя. Требуемая команда читается из нового слова ОП. Команда формата RR кодируется как 00.
Микропрограмма выборки из ОП представлена на рисунке 2.1.
Рисунок 2.1 — Микропрограмма выборки команды из ОП
3. Выполнение команды
ФМП команды разрабатывается на основе словесного алгоритма ее выполнения и исходного задания.
3.1 Алгоритм выполнения команды BC
BC (код 47) — Условный переход. Формат команды приведен на рисунке 3.1.
Рисунок 3.1 — Формат команды BC
Продвинутый адрес команды в текущем PSW замещается адресом перехода, если значение признака результата соответствует коду, указанному в поле M1; в противном случае продолжается обычное последовательное выполнение команд с использованием продвинутого адреса.
В качестве адреса используется адрес второго операнда.
Поле M1 используется в качестве 4-битовой маски. 4 бита маски соответствуют слева направо 4 значениям признака результата.
Переход происходит всякий раз, когда бит маски, соответствующий признаку результата в PSW, равен 1.
Выполнение команды процессором задерживается до тех пор, пока не будут завершены все предыдущие обращения к основной памяти по отношению к каналам и другим процессорам. Пока не завершено выполнение данной команды, обращения в память за последующими командами или их операндами не производятся.
Признак результата остается без изменения.
Программные прерывания отсутствуют.
Функциональная микропрограмма команды BC приведена на рисунках 3.2, 3.3.
Рисунок 3.2 — ФМП команды BC
Рисунок 3.3 — ФМП команды BC. Продолжение
Заключение
В результате работы над курсовым проектом была разработана функциональная микропрограмма команды BC (код 47) — условный переход.
Список использованных источников
1. Юминова Т. Ф., Петухов К. Ю. Методические указания к выполнению курсового проекта «Проектирование процессора ЭВМ «по курсу «Организация ЭВМ, комплексов и систем» для студентов дневного отделения специальности 2201.
2. Принципы работы системы IВМ/370. /Под ред. Л. Д. Райкова. — Пер. с англ. М.: Мир, 1978.
Приложение
Список сокращений
АОП — Адрес оперативной памяти
АР — Адресный регистр
АРП — Адрес регистровой памяти
ЕС ЭВМ — Единая система электронных вычислительных машин
КСМ — Комбинационный сумматор
ЛУ — Логическое условие
М — Магистраль
МК — Микрокоманда
МО — Микрооперация
МП — Микропрограмма
ОА — Операционный автомат
ОВВ — Операция ввода/вывода
ОП — Оперативная память
ПЗ — Плавающая запятая
ППС — Признаки переходов и состояний
РОН — Регистр общего назначения
РП — Регистровая память
РПЗ — Регистр с плавающей запятой
СДВ — Сдвигатель
СчАК — Счетчик адреса команд
ФК — Формирователь кодов
ФМП — Функциональная микропрограмма
ЭВМ — Электронная вычислительная машина
.ur