Создан заказ №3162446
3 сентября 2018
Курсовая работа по проектированию процессора обработки некоего числа команд системы IBM370
Как заказчик описал требования к работе:
2
Введение
Объектом курсового проектирования по дисциплине "Цифровые вычислительные машины" является процессор, что выполняет заданный ограниченный набор команд из системы команд процессора ЕС ЭВМ (IBM / 370). Выбор этой системы команд обусловлен её чёткостью, конкретностью и развитой системой адре
сации. Разработка процессора осуществляется в следующих аспектах:
- написание микропрограмм алгоритмов выполнения каждой команды;
- написание объединённой содержательной микропрограммы работы процессора;
- синтез структуры операционного автомата процессора;
- синтез управляющего автомата с программируемой логикой.
Данные методические указания включают в себя краткое описание структурной и функциональной организации процессора, проектируемого на уровне основных компонентов структуры ЭВМ и их связи с процессором, описание принципов адресации информации и процедур обращения к основной и регистровой памяти, а также форматов команд и данных, которые используются при разработке процессора. Приводится описание порядка выполнения операций, реализованных процессором, и принципа реализации всех этапов выполнения операций, включающих:
выборку команды;
формирование адресов и выборку операндов обработки операндов;
запись результата;
формирование признака результата;
действия, связанные с обработкой программных прерываний.
Приводятся ссылки на соответствующие источники, в которых даётся описание каждой команды.
3
Проектируемый процессор
1.1. Структура ЭВМ
Типовая структура ЭВМ, в состав которой должен войти процессор, который проектируется, приведена на рис. 1. Она состоит из процессора, сочетающего в себе арифметическое устройство и центральное устройство управления, основной (оперативной) памяти (ОП), регистровой (Сверхоперативная) памяти (РП) и процессоров ввода-вывода. Внешние устройства подключаются к процессору и ОП через процессоры ввода-вывода. Подробная функциональная организация ЭВМ этого типа описана в [4].
ИНФОРМАЦИЯ
Процессор выбирает из ОП команды и выполняет все операции, за исключением операций ввода-вывода. OП служит для приема и выдачи информации (операндов и команд), которые принимают
Рис1 к стр. 4
участие в ближайшем ряде операций. РП используется для увеличения быстродействия процессора.
Основная память обеспечивает сохранение байтов информации, предельное число которых (предельная емкость ОП) равна 224 = 16777216 байтов. Различные модели ЭВМ могут иметь различную емкость ОП. Более производительные модели комплектуются памятью большей емкости. За одно обращение к ОП
4
записывается или читается несколько байтов информации: 2, 4 или 8.
Обозначим: ОП [0:N] (0:n) - двумерный массив битов информации, хранящихся в основной памяти, состоящий из N + 1 строк и с n + 1 столбцов (разрядов). Регистровая память (РП) процессора состоит из 16 регистров общего назначения РОН [0: 15] (0:31), каждый из которых обеспечивает. сохранение 32-разрядного слова, и из четырех регистров с плавающей запятой, РПК [к] (0: 63), где к = 0, 2, 4, 6. Каждый РПК обеспечивает сохранение 64-разрядного слова. РОН идентифицируются адресами 0, 1, ..., 15; а РПК - адресами 0,2, 4, 6.. Каждому РОН соответствует одна ячейка РП, каждому РПК - две ячейки РП, поэтому РП представляет собой двумерный массив битов информации, состоящий из 24 строк (слов) 32 столбцов (разрядов). Укажем эквивалентные обозначения регистровой памяти процессора:
РОН [0:15 | = РП[0:15],
РПК [0] = РП [61].РП[7],
РПК [2] = РП [18].РП[19],
РПК [4] = РП [20].РП[ 2],
РПК [6] = РП [22].РП[23].
Точка обозначает соединение двух строк (слов) массива РП для получения двойного слова длиной в 64 разряда. Для идентификации слов регистровой памяти нужен адрес длиной пять двоичных разрядов. Введем соответствующие обозначения для РП, РОН и РПК, где в правой части адреса ячеек регистровой памяти указанные в двоичной системе счисления.
РП [0:23] = РП[00000:10111],
РОН[0:15] = РП[00000:01111],
РПК[0] = РП[10000].РП[100001],
РПК[2] = РП[10010].РП[10011].
РПК[4] = РП[10100].РП[10101],
РПК[6] = РП[10110].РП[10111].
При обращении к РОН значение старшего разряда двоичной адреса равна нулю. при обращении к РПК - единицы. Каждый РПК состоит из двух слов с парной и непарной адресу. Адрес РПК совпадает с адресом парного слова РП, поэтому принято нумеровать РПК парными числами.
1.2. Размещение и адресация информации в ЭВМ на базе процессора, который проектируется.
1.2.1. Машинные элементы информации.
5
В рассматриваемой ЭВМ основным элементом информации, который адресуется, передается и обрабатывается, как единое целое, - является байт.
Двоичные разряды байта нумеруются слева направо значениями 0,1, ...7. На основе байтов строятся и следующие элементы:
полуслова, состоящие из двух байтов;
слова из четырех байтов;
двойные слова из восьми байтов;
поля переменной длины.
поля переменной длины могут сочетать в себе от 1 до 256 байтов. Байт, полуслово, слово и двойное слово называются полями фиксированной длины. Тип элемента информации указывается кодом операции. Коды операции, выполняемые над элементами фиксированной длины, одновременно обусловливают и длину операндов, может равняться 1, 2, 4 или 8 байт. Команды, инициируют операции над полями, переменной длины, включают в себя поля, с помощью которых определяется длина операндов.
1.2.2. Адресация информации.
Информация, сохранённая в ОП, идентифицируется с точностью до байта адресам 0,1 .. .2к-1, где 2К - емкость ОП. Каждый номер определяет некоторый байт. Адрес элемента информации, состоящий из нескольких байтов, определяется адресом самого левого байта. Адрес, что выходит за пределы фактической емкости ОП конкретной модели ЭВМ, рассматривается как неправильное. В случае появления неправильного адреса, что может быть результатом ошибки в программировании, выполнение программы прекращается.
Поля фиксированной длины должны размещаться в оперативной памяти, начиная с
Рис. 2. Стр. 6.
целочисленной грани, то есть зоны должны иметь адрес, кратную числу байтов в поле, Адрес байта может иметь произвольное значение, поскольку любое число кратно единице; адрес полуслова должен быть четным; адрес слова кратен 4, а адрес двойного слова - 8 (рис. 2). Адрес элемента считается
6
Рис. 3. Стр. 7. Форматы целых двоичных чисел: а) короткий; б) длинный.
специфицировано неправильным, если в его двоичном представлении m младших разрядов не равно нулю, где m = Log2L; L - длина элемента в байтах. Если по команде появляется неправильный специфицированный адрес, то формируется сигнал прерывания и обращение к памяти блокируется (неправильная спецификация адреса).
Поля переменной длины могут начинаться с любого байта, то есть они могут иметь произвольный адрес в пределах фактической емкости ОП.
1.2.3. Форматы данных.
В проектируемом процессоре, должны представляться и обрабатываться данные следующих типов: целые двоичные числа, числа с плавающей запятой, десятичные числа и логические значения.
Цели двоичные числа могут представляться в коротком или длинном формате {рис. 3). Нулевой разряд является знаковым: знак «+» кодируется как 0, знак минус «-» - как 1. Отрицательные числа хранятся в памяти в дополнительном коде.
Числа с плавающей запятой могут представляться в коротком, длинном и расширенном форматах (рис. 4). Нулевой разряд является знаком мантиссы. Мантисса представляется в виде шестнадцатеричных цифр. Отрицательные числа изображаются в прямом коде. Характеристика X равна порядку числа, увеличенному на 64, и представляет значение порядка в диапазоне от -64 до +63. Десятичные числа представляются полями переменной длины двух форматов:
в формате с зоной;
в упакованном формате (рис 5).
В зонном формате 4 младших бита байта называются числовыми и обычно содержат код. что представляет десятичную цифру D). Цифра изображается двоичным кодом 0000, 0001 ..., 1001,... Старшие 4 бита называются зоной (Z). Зона изображается двоичным кодом 1111 или 0101.
7
Рис.4 к стр. 8
Рис.5, стр 8
Исключение составляет самый правый байт поля, в котором старшие 4 бита могут представлять или код зоны Z или код знака числа (S), Знак «+» кодируется одним из комбинаций 1010, 1100, 1110, 1111. Знак «-» и комбинациями 1011,1101. Десятичные числа имеют длину от 1 до и 16 байтов.
В упакованном формате в каждом байте располагаются две десятичные цифры. Исключение составляет самый левый байт, в котором слева от цифры находится знак числа.
Логические значения представляются в двух форматах: фиксированной длины и переменной длины. В формате фиксированной длины каждый бит имеет
8
одно логическое значение, и совокупность логических значений передастся и обрабатывается как единое целое. Формат переменной длины состоит из 256 символов, каждый из которых кодируется одним байтом. Совокупность символов (букв, знаков, цифр) образует строку алфавитно-цифровой информации - строка текста. Более подробно о форматах данных см. [1,4].
1.3. Форматы команд.
Действия над операндами, а также их адреса задаются командами. Разрабатываемый процессор должен оперировать с командами различной длины: 2, 4 и 6 байтов. Длина команды зависит от того, в какой памяти (основной или регистровой) размещаются операнды. Адрес основной памяти указывается с использованием 2 или 2,5 байтов - адресного типа S. Регистровая память адресуется 1/2 байта адресом типа R. В проектируемом процессоре, используется пять форматов команд, обозначаются как: RR, RX, RS, Si, SS (рис.6).
Первый байт команды содержит код операции КОП. Первые два разряда кода операции КОП (0: 1) обусловливают формат команды: 00- RR, 01 - RX, 10 - RS, Si, 11 - SS. В зависимости от формата команды операнды выбираются из регистровой или основной памяти. Результат операции записывается всегда по адресу первого операнда. В формате Si второй операнд выбирается непосредственно из команды (I2).
Поля R1, R2, R3, являются адресами соответственно первого, второго и третьего операндов, хранящиеся в регистровой памяти (РОН или РПК). Поля В1, В2, D1, D2, X2, содержат информацию об адресах первого и второго операндов, сохраняются с основной памяти (см. П.3.2 - формирование адреса операндов). Поля L1, L2, L содержат код длины операндов переменной длины, хранящийся в основной памяти.
Формат RR обуславливает операцию типа регистр-регистр, в которую поступают операнды, сохраненные в регистровой памяти. Команда RX указывает один операнд в регистровой памяти, другой - в основной, причем адрес основной памяти допускает индексацию - адреса типа X. Команда формата RS определяет операцию типа регистр-память, но без индексации второй адреса. В команде типа Si один операнд находится в основной памяти, а другой - непосредственно в команде (случай непосредственной адресации, представляется адрес типа I). Формат SS обуславливают операцию типа намять-память над полями переменной длины.
9
Рис.6, стр 10
Команды различных форматов имеют разную длину: RR - полуслово; RX, RS, Si, - слово; SS - три полуслова. Команды любого формата должны иметь адрес, что является целочисленной границей для полуслова (парный адрес).
Все команды делятся на такие основные группы:
- команды для операций над числами с фиксированной запятой;
- команды для операций над числами с плавающей запятой;
- команды для операций десятичной арифметики;
- команды логической обработки данных;
- команды переходов.
Команды в 32-разрядной ОП могут располагаться в виде, представленном на рис. 7.
Естественно, что для 64-разрядной памяти вариантов расположения команд различных форматов гораздо больше.
10
Рис.7 к стр 11.
2. Основные принципы
ВЫБОРКИ КОМАНД И ОБРАЩЕНИЕ К ПАМЯТИ
2.1. Выборка команд.
В процессоре проектирования процессора используются команды длиной 1,2 и 3 полуслова. Адрес команды (АК) должно быть четным. Она указывает на номер байта, с которого, в ОП располагается следующая команда. Длина следующей команды заранее неизвестна. Код длины команды содержится в нулевом и первом разрядах кода операции КОП (0; 1):
00 - одно полуслово,
01- 10 - два полуслова,
11 - три полуслова.
Наименьшая длина команды - полуслово, поэтому независимо от формата команды первой полуслово необходимо выбрать.
Если выбрана команда RR, то выборка заканчивается.
Форматы RX, RS, Si требуют выборку второго полуслова команды, а SS - второго и третьего.
В формате SS третье полуслово можно выбрать на место второго полуслова, если предварительно сформировать адрес первого операнда (в этом случае поля B1, D1 больше не понадобятся).
Таким образом, выборка команд сводится к загрузке полуслова, слова или трех полуслов в зависимости от формата выбираемой, команды (табл. 1).
Выборка команд
табл.1 к стр.11
Продолжение табл.1 к стр.11
11
2.2. формирование адресов операндов
Способ формирования адресов операндов определяется форматом команды, выполняется в формате RR оба операнда или находятся в РОН, если КОП (2) = 0, или в РПК, если КОП (2) = 1. Следовательно, при формировании адреса РП для формирования старшего разряда, определяет обращение к РОН и РПК, необходимо использовать второй разряд кода операции КОП (2):
А1 = КОП (2).R1; А2 = КОП(2).R2.
В формате RX второй операнд находится в ОП, а его адрес исчисляется следующим образом: А2 = РОН[Х2] + РОН[В2] + D2.
В формате RS второй операнд также находится по ОП, но в отличие от формата RX адрес второго операнда не содержит индекса и:
А2 = РОН[В2} + D2.
В формате Si первый операнд находится в ОП, а его адрес вычисляется так же, как и адрес второго операнда в формате RS:
А1 = РОН[В1] + D1.
Второй операнд содержится непосредственно в команде, в разрядах (8:15).
В формате SS оба операнда находятся в оперативной памяти, а их адреса исчисляются:
А1: '= РОН[В1] + D1;
А2 = РОН[В2} + D2.
Если содержание полей команды В1, В2 или Х2 равна нулю, то и соответствующая компонента адреса равна нуля.
2.3.0рганизация обращение к регистровой памяти
В регистровой памяти хранятся операнды длиной 4 и 8 байтов. Операнд длиной 4 байта занимает одно слово регистровой памяти, операнд длиной 8 байтов - два слова. При этом всегда адресация первого слова парная, адресация второго слова на единицу больше адреса первого.
Если нужно по ОП загрузить в РП полуслово (короткий формат, с фиксированной запятой), то операнд слева дополняется шестнадцатый разрядами. Значение этих разрядов совпадают с знаковым разрядом операнда, загружается.
Операция «Запись в память полуслова» выбирает из РП слово, а в основную память записывает правое полуслово. При обращении к РОН за полусловом или словом любое значение адреса РОН допустимо, следовательно, считается специфицировано правильным.
При обращении к РОН за_двойным словом адрес РОН должен быть четным
(.подраздел. 1.2.2 - Адресация информации).
12
При обращении к РПК за словом или по двойным словом адрес РПК должна быть парным и меньше восьми. Правила обращения к регистровой памяти сведены в табл. 2, в которой использованы следующие обозначения: А(0:4) - адрес регистровой памяти; (0:к) - операнд (к {15, 31, 63}), С - признак спецификации (если С=1, то адрес специфицированы неправильно).
2.4.0рганизакия обращений к основной памяти
Обозначим: А(0:23) - адрес основной памяти; (0:к) операнд (к является {15, 31, 63}); С-признак спецификации. При обращении к основной памяти адрес должен быть кратным числу байтов операнда фиксированной длины. Поля переменной длины могут иметь произвольное значение адреса. Организация обращений к основной памяти иллюстрируется табл. 3.
Операции над полями переменной длины выполняются последовательно, байт за байтом, поэтому чтение и запись выполняются также по байтам, начиная с байта
ОП [А] и заканчивая байтом ОП[А+L), где (L+1) - длина операнда в байтах.
3. СТРУКТУРНАЯ ОРГАНИЗАЦИЯ ЭВМ и обработка команд
3.1. Структурная организация процессора
Одна из возможных структур процессора и его связь с РП и ОП представленных на рис. 8. Для передачи информации между отдельными устройствами используется магистраль М.
3.1.1. Процессор
Процессор состоит из операционного и управляющего автоматов. Операционный автомат служит для сохранения слов информации, выполнения набора микроопераций над ними и вычисления логических условий: Управляющий автомат обеспечивает необходимый порядок прохождения микроопераций на основе заданных микропрограмм.
Приведенная структура операционного автомата процессора построена на основе принципа обобщения микроопераций. Операционный автомат разделяется на 2 части: запоминающую и комбинационную. Память автомата состоит из ряда регистров, длина которых соответствует длине сохранившихся в них слов. Регистры А1, В1, С1 длиной в слово используются для выполнения арифметических операций. Если процессор должен оперировать и двойными словами, - необходимо в память операционного автомата ввести
13
Обращение к регистровой памяти
Табл.2 к стр. 14.
Примечания: 1. Символ X означает, что допустимо любое значение (0 или 1) в данном разряде адреса регистровой памяти, указанное в поле А (0: 4) старший разряд А (0) не принимает участия в определении признаки спецификации, он обусловливает тип памяти (РОН или РПК). 2. Запись (16) Z (0) означает Z (0) .Z (0) .Z (0). ... Z (0).
14
Рис. 8, к стр. 15.
Рис. 8. Структурная организация процессора
15
32-разрядные регистры А2, В2, С2, вместе с регистрами А1, В1, С1 обеспечивают сохранение двойных слов А, В, С. Длина регистра команды РК соответствует максимальному формата команды из набора команд, реализуемых процессорам. Счетчик адреса команд ЛАК сохраняет адрес команды. Так как, адрес команды всегда кратен полуслову, то длина ЛАК обусловливается емкостью ОП в полуслова, то есть Log2E -1, где Е - емкость ОП в байтах. Длина счетчика тактов ЛТ определяется максимальным числом тактов, отводимых для выполнения арифметических операций.
Таблица 3
Обращение к основной памяти
Табл. 3 к стр. 16.
Буферный регистр БР используется для сохранения части слова ОП в процессе выборки команд из ОП и имеет длину 1 или 3 полуслова при 32 или 64-разрозрядного ОН соответственно. при использовании 64-разрядной ОП буферный регистр для упрощения структуры операционного автомата рекомендуется выносить за пределы памяти операционного автомата и подключать к магистрали напрямую. запоминающих часть автомата связана с комбинационными шинами А, В и С. На шины А и В выбираются операнды, вступающих в микрооперацию, а шина С используется для занесения результатов выполнения микроопераций в память автомата. Операционная автомат подключен к магистрали М с помощью двух шин, связанных с регистром Z. Комбинационная часть автомата служит для выполнения набора микроопераций над словами А и В и вычисления значений набора логических
16
условий X, необходимых для реализации микропрограмм. Комбинационная часть содержит следующие элементы: формирователь кодов ФК, комбинационный формирователь КД, сдвиг ЗСВ, формирователь информационных сигналов Ф. Формирователь кодов служит для формирования дополнительных кодов констант и выделения полей. Основное назначение комбинационного сумматора состоит в вычислении суммы чисел. Кроме того, комбинационный сумматор может выполнять бинарные логические операции, микрооперации счета и передачу слова в сумматор без преобразования. Сдвиг служит для выполнения микроопераций смещение и прямой передачи. На формирователи Ф вычисляются значения информационных сигналов X, представляющие отношения. Регистр Z используется для промежуточного хранения результата микрооперации перед передачей его в память операционного автомата. Благодаря наличию регистра Z можно выполнять микрооперации вида S = f (S), где S - слово, сохраненное в памяти автомата. Для сохранения признаков, отмечают состояние процессора, целесообразно ввести триггеры состояний. Состояния этих триггеров входят в набор информационных сигналов X операционного автомата. Дополнительно в состав процессора вводятся регистры, в которых размещаются поля текущего слова состояния программы ССП (регистры масок, код длины команды, признаки результата, код причины прерывания и т.д.). Триггеры состояний и регистры ССП переключаются под влиянием сигналов управляющего автомата. Описанная структура процессора является образцовой. Она должна быть уточнена и конкретизирована студентом при выполнении проекта в зависимости от заданного набора команд, особенностей выполнения операций, принятых критериев оптимальности и других факторов.
3.1.2. Основная память (ОП) В зависимости от ширины выборки ОП (32 или 64 бита) за одно обращение до ОП читается или записывается в ОП вполне 32- или 64-разрядное слово. Адрес слова, к которому осуществляется обращение, указывается на регистре адреса основной памяти РАОП. Длина регистра РАОП равна log2Ec, где - Eс - емкость, ОП в словах равна Ес = Е / L, L. - длина ОП в байтах. слово информации, записываемой или читается по ОП, размещается на регистре РОП. Операция в ОП возбуждается сигналами чтения из основной памяти чтения и записи в основную память ЗПОП. Момент окончания операции в ОП отмечается сигналом Zоn. Так как, время обращения к основной памяти больше продолжительности такта работы процессора, то должна обеспечиваться синхронизация работы процессора и ОП за счет ожидающих вершин графа микропрограммы.
17
3.1.3. Регистровая память (РП).
РП применяется для увеличения быстродействия процессора. РП состоит из регистров общего назначения (РОН) и регистров с плавающей запятой (РПК). РОН используются как индексные регистры, базовые регистры, а также для сохранения слез и полуслове, участвующих в операциях с фиксированной запятой. РОН представляют собой 32-разрядные регистры и адресуются числами от 0 до 15. Для обращения к РОН в командах любого формата уделяется Четырехразрядный поле R.
При выполнении операций с плавающей запятой один или оба операнда могут располагаться в РПК. Всего используется четыре регистра длиной 8 байтов с адресами 0,2, 4 и 6 соответственно. 1. РОН и РПК можно структурно объединить в 24-регистровую память РП, регистры 0 ... 15 которой составляют РОН, а остальные 8 регистров используются для хранения четырех восьмибайтных слез. Длина регистра РП равна 32 разрядам. Адрес регистра указывается в 5-розрядиому регистре адреса АРП (см. Рис. 8). Операнд, записывается или читается с РП, содержится в регистре РРП. Чтение и запись слова инициируются соответственно сигналами ЧтРП и ЗПРП. Обращение к регистрам длиной 8 байтов осуществляется за два цикла.
3.2. Интерфейсы основной и регистровой памяти
Интерфейс основной памяти (рис, 9) состоит из совокупности шин
Рис. 9, стр.18
18
W, R, А, С, Zоп По шине записи W в основную память поступает информация, которую необходимо записать в ОП. По шине чтения R осуществляется передача информации из ОП в процессор. По шине адреса А регистра адреса при обращении в ОП поступает адрес слова, которое необходимо прочитать или записать в ОП. По шине управления С передаются сигналы ЧтОП и ЗПОП. Что инициируют операцию чтения или записи. по шине идентификации по ОП поступает сигнал Zоп, отмечающий момент окончания цикла обращения к памяти. Единицей информации, которая передается по интерфейсу основной памяти, есть слово, имеет разрядность, равную ширине выборки из ОП.
Таким образом, возможно, таким образом, подключения информационных и адресных шин. В схеме рис. 9 обмен информацией между ОП и процессором происходит через регистр Z, соединенный с магистралью двумя шинами. Предварительно сформирован адрес слова сохраняется на адресном регистре АР, который связан с регистром АОП шиной А. длина AP равна Log2E, где Е - емкость ОП в байтах, а длина АОП определяется как Log2Ec, где Е - емкость ОП в словах. Регистры Z и РОП равны по длине слову ОП.
Обмен между процессором и ОП происходит следующим образом. Пусть слово А необходимо записать в память по адресу B. В первом такте адрес В выбирается на регистр
АР. Во втором такте осуществляется загрузка операнда с запоминающим части операционного автомата на, регистр Z. Третий такт - такт непосредственной записи - будет содержать такой набор микроопераций:
АОП = АР (1: К), М = 2, РОП = М, ЗПОП. Нулевое значение сигнала Zоп отметит окончание операции записи в ОП. Чтение по ОП осуществляется в соответствие с микропрограммой (рис.10). Регистровая память является внутренней памятью процессора. Соединение операционного автомата процессора с РП может быть организовано по схеме, приведенной на рис. 11. Рис 10. Процедура обращения к основной памяти. Обмен между РП i процессором происходит аналогично обмена по ОП, но так как время обращения к РП меньше такта работы операционного автомата, то в РП
Рис.10, к стр 19.
19
отсутствует шина идентификации. Длина регистра РП равна 32 разрядам, длина АРП - 5 разрядам. Потому что РП сочетает в себе РОН и РПК, то необходимо организовать доступ к тем или иным регистрам. В формате команды как под адрес РСП, так и под адрес РПК уделяется 4-разрядное поле R; обращение к определенному виду регистров зависит от кода операции команды. Как отмечено ранее, первые 16 регистров РП отведенные под РОН, а следующие 8 - под РПК. Тогда для обращения к РОН необходимо установить разряд АРП (0) в ноль. Для этого вводится микрооперация у 1 = АРП (0) = 0. Введением микрооперации у 2: АРП (0) = 1 осуществляется доступ к РПК. Разряды АРП (1: 4) оговариваются полем R команды.
Рис. 11 к стр. 20
Для работы с двойными словами вводится микрооперация у3: АРП (4) = 1. С ее использованием можно изменить парную адресацию РП на нечетную, причем большую на 1. Это необходимо в операциях с плавающей запятой, когда долгое операнд хранится на пару регистров РПК.
3.3. Процедура выборки команд
Программа, представляющая собой последовательность команд различных форматов, размещается в ОП. Для того, чтобы выполнить некоторую команду, её необходимо выбрать из ОП на регистр команд РК. В зависимости от формата выбираемой команды и ситуации, предшествовавшей выборке данной команды, необходимо выполнить различную совокупность микроопераций для передачи команды по ОП на РК.
20
Рис..12 к стр. 21
Команды любого формата начинаются с целочисленной границы полуслова. Команды 32-разрядной ОП могут располагаться, как показано на рис. 7. Структура средств, ориентированных на реализацию процедуры выборки команды из 32-разрядной ОП, приведена на рис. 12. Адрес выбираемой команды сохраняется на счетчике адреса команд ЛАК. ЛАК имеет длину, равную Lоg2E-1, так как адрес команды любого формата кратная полуслову. Адресный регистр основной памяти АОП имеет длину Lоg2E-c. Значение последнего разряда ЛАК указывает, с какого полуслова, с первого или со второго, начинается выбираемая команда. Для отметки порядке прохождения команд используется триггер перехода ТП. Если команды выполняются в естественном порядке, то ТП = 0, после выполнения команды перехода ТП = 1. Состояние ТП обусловливает возможность использования информации "ранее выбранного слова, хранящейся на
21
буферном, регистре. Если ТП = 0, то содержание буферного регистра БР может быть использован для образования следующей команды. Если ТП = 1, то управление передано другому слову, отсутствующему на буферном регистре, и, следовательно, содержание БР не может быть использовано для формирования следующей команды.
Слово ОП может содержать вполне команду или только её часть. В 32-разрядном слове ОП может содержаться только одна команда, например, фермата RX или два поля по полуслова, принадлежащих разным командам. В последнем случае использования буферного регистра для сохранения второго полуслова позволяет исключить повторное чтение по ОП того же слова. Роль БР увеличивается при 64-разрядном слове ОП. Если выбираемая команда начинается с первого полуслова и длина ее равна слову, то необходимо все содержимое регистра основной памяти РОП передать регистр команды. Адрес следующей команды отличается от адреса выбранной команды на два полуслова, поэтому содержание ЛАК необходимо увеличить на 2. В случае, когда выбираемая команда имеет формат RR, первое полуслово, что представляет собой команду, передается на РК, а разряды РОП (16:31) хранятся на буферном регистре. При этом содержание счетчика адреса команды увеличивается на единицу.
Если выбираемая команда начинается со второго полуслова и является командой формата RR., то разряды РОП (16:31) передаются на регистр команды, содержание счетчика адреса команды увеличивается на 1, буферный регистр не заполняется.
Наибольшую сложность представляет случай, когда команда начинается со второго полуслова и длина ее равна слову. С ОП читается слово , что представляет собой первый полуслово выбираемой команды. Это полуслово, то есть РОП (16: 31), передастся в регистр команды в разряды РК (0:15), счетчик адреса увеличивается на 1, и происходит повторное обращение к ОП. С вновь прочитанного слова первого полуслово передастся в последние разряды РК (16:31), а второе полуслово, что является новой командой или ее частью, запоминается на буферном регистре.
Последовательная выборка команд и их обработка, при которой триггер перехода ТП сохраняет нулевое значение, имеет свои особенности. В этом случае вся команда, если она масс формат RR, или часть команды формата RX может храниться на буферном регистре. Этот случай имеет место при единичном значении последнего разряда ЛАК. Значение первых двух разрядов БР указывают на формат сохраненной на нем команды. В случае команды RR достаточно содержание буферного регистра передать РК и счетчик адреса увеличить на 1. Обращения к памяти не требуется. Если же на буферном
22
регистре находится первое полуслово команды формата RХ, его необходимо передать РК (0:15), затем увеличить ЛАК на 1 и прочитать по ОП слово.
Первым полусловом дополняется регистр команд, а второе полуслово заносится на буферный регистр.
Функциональная микропрограмма выборки команды приведена на рис. 13. В автомате с общими микрооперациями для занесения информации на регистр команд можно рекомендовать использовать систему шин, приведенные на рис. 14. Шина Z перед присоединением ее к регистру РК разделяется на два поля - Z (0:15), Z (16:31). Каждое из этих полей может подключаться и к старшим, и к младшим разрядов регистра РК.
3.4. Обработка адресов, выборка операндов и запись результатов
Операнды, вступающих с операцию, могут находиться в РОН, РПК и в ОП. РОН и РПК адресуются 4-разрядным полем R (рис. 6). РОН адресуются числами от 0 до 15, регистры РПК имеют адреса 0, 2, 4, 6. Адрес РПК может быть заданной некорректно, если она отличается от названных четырех чисел, то есть условие корректности имеет вид
R(0)˄R (3)=0. Этот случай называется неправильной спецификации и отмечается установкой триггера прерывания S в единицу. При неправильной спецификации выполнения операции прекращается. Структура относительной адреса ОП определяется форматом команды. Для команд RХ, RS он состоит из трех полей: поля номера индексного регистра X. поля номера регистра баз В, поля смещения D. Исполнительный адрес операнда по ОП вычисляется следующим образом: А = РОН[Х] + РОН[В] + D, Нулевое значение полей X, В или D указывает на отсутствие соответствующего приложения в выражении для А. Рассчитанный исполнительный адрес может быть некорректной, то есть нарушена адресация или спецификация. Неправильная адресация возникает в том случае, если адрес выходит за пределы емкости памяти. При неправильном адресе триггер прерывания А устанавливается в 1, и операция не выполняется. Неправильная спецификация является следствием нарушения цело-численности границы для обрабатываемой единицы информации.
23
Рис. 13 к стр. 24
Рис. 13. Процедура выборки команд формата RR, RX
24
Рис. 14 к стр. 25
Рис. 14. Цепи, используемых для выборки команды.
Обработка адреса осуществляется операционным автоматом. Рассмотрим процедуру получения исполнительного адреса операнда на примере схемы рис. 15. Значение адреса образуется на накопительные сумматоры длиной 24 разряда. Из регистра команды РК на сумматор передастся смещение А. Затем анализируется поле индекса X. Если оно не равно нулю, то на адресный регистр РП в разряды 1 ... 4 передаем содержание поля X. При этом выполняем микрооперацию АРП (0)=0, потому что обращение происходит к РОН. После подачи сигнала ЧтРП получаем значение индекса на регистре РРП. На сумматоры значение индекса состоит со смещением. Аналогично образуется значение базового адреса, на который увеличивается значение суммы. Правильность адресации и спецификации исчисленной адреса проверяется следующим образом. Исчисленная адрес операнда может содержать 24 разряда. При правильной адресации старшие разряды адреса, выходит за пределы емкости ОП, должны быть нулевыми. Проверка на спецификацию различна для разных команд и зависит от длины обрабатываемых слов. Например, если команда оперирует со словами, то два последних разряда адреса должны быть нулевыми. Если команда оперирует с символом, то любая адрес считается правильно специфицированным. Функциональная микропрограмма процедуры выборки операнда с ОП изображена на рис. 16.
25
Рис. 15. К стр. 26
Рис. 15. Схема формирования исполнительного адреса
26
Рис. 16 к стр. 27
Рис. 16. Процедура обработки относительной адреса и выборки операнда из памяти
Обмен с ОП происходит только словами ОП. Если операндами выполняемой команды являются части слова, то необходимо сначала прочитать
27
полностью всё слово регистра Z, затем на регистр памяти операционного автомата передать необходимое полуслово или байт. При работе с полуслова старшим разрядам слова присваивается значения знакового разряда. При записи в ОП операндов длиной в полуслово или байт, слово, будет содержать этот операнд, читается на регистр X, затем в этом слове соответствующая его часть заменяется операндом. Снова сформированное слово записывается в ОП по тому же адресу. Например, пусть необходимо байт, что сохраняется в младших разрядах регистра А1, записать в ОП по адресу XXX ... X10. Для этого выполняется последовательность действий, обусловленных микропрограммой рис. 17. Если длина операнда превышает длину слова памяти, то чтение и запись
операндов осуществляется за несколько обращений к ОП.
Рис. 17 к стр. 28
рис. 17. Принцип строении процедуры записи байта по адресу XX ... Х10
28
4. Тематика и СОДЕРЖАНИЕ курсового проекта
4.1. Тематика курсового проектирования
Объектом проектирования является процессор, предназначенный для реализации заданного набора команд из множества команд вычислительных машин IBM / 370. Исходные данные для проектирования оговариваются номером задания, который определяется преподавателем и выбирается из табл. 4, 5 и 6. Руководителем курсового проекта могут указываться дополнительные исходные данные, необходимые при выполнении проекта. К ним в частности относятся: - разрядность комбинационной части операционного автомата (ОА), что накладывает ограничения на количество одновременно обрабатываемых комбинационной частью разрядов операндов (как правило, задается в байтах значениями 1, 2, 4); допускается в процессе выполнения проекта принимать самостоятельные обоснованные решения для обоснованного выбора разряды ости комбинационной части ОА; - принцип построения комбинационной части ОА (может изменяться в значительных пределах в зависимости от цели, поставленной в проекте при его реализации: минимум аппаратурных затрат или максимум быстродействия и др.) - система элементов для построения схемы электрической принципиальной управляющего автомата; - способ адресации микрокоманд при построении управляющего автомата с программируемой логикой (принудительная и естественная адресации микрокоманд, формирования адреса по нескольким логических условиях и т.д.);
- фрагменты функциональных и принципиальных схем для подробной разработки.
4.2. Порядок выполнения курсового проекта.
Курсовое проектирование разделяется на ряд этапов, включающих в себя:
- разработку функциональных микропрограмм выполнения заданных команд;
- объединение функциональных микропрограмм отдельных операций и построение объединенной функциональной микропрограммы;
- разработку структурной схемы операционного автомата процессора;
- синтез управляющего автомата с программируемой логикой.
4.2.1. Разработка функциональных микропрограмм выполнения команд
Разработка функциональных микропрограмм (МП) осуществляется на основе
29
функционального описания команд [4]. Для каждой операции строится функциональная МП, которая, отражает все этапы ее выполнения:
выборку команды;
формирование адреса и выборку операндов;
обработку операндов соответственно где избранное алгоритма выполнения операции; запись результата;
установку признаки результата действия, связанные с обработкой прерываний.
При разработке алгоритмов выполнения арифметических операций можно пользоваться [5]. Функциональные МП строятся или в виде содержательных граф-схем алгоритмов (ГСА), либо в виде текстов микропрограмм с использованием ФМ-языка и установленных условных обозначений [3]. При их построении учитываются состояния процессора:
СТОП - РАБОТА;
ЗАДАЧА супервизора;
МАСКА – прерывание;
ВЫПОЛНЕНИЯ ПРОГРАММЫ – ОЖИДАНИЯ,
а также особые случаи, приводящие к прерываний программы.
4.2.2. Разработка объединенной функциональной микропрограммы.
Построение объединенной функциональной МП осуществляется с учётом эвристических принципов объединения МП. При построении в "Объединенной МП, отражающий функционирования процессора, реализующий заданный набор операций, следует исходить" из условия минимизации числа операторных и условных вершин в ГСА. Склеивание сходных между собой участков МП отдельных операций следует осуществлять для всех этапов выполнения команды. На основе объединенной МП ОСУЩЕСТВЛЯЕТСЯ выделение списков микроопераций и логических условий, необходимых и достаточных для реализации заданного набора операций в процессоре, а также списки входящих, исходящих и внутренних слов микропрограммы. При разработке структурно-функциональной МП (СФМП) каждой микрооперации с функциональной микропрограммы ставится в соответствие множество управляющих сигналов, инициирующих их выполнения в рамках разработанной структуры. При переходе от функциональной МП к
структурнoфункциональной схеме учитываются все особенности структуры процессора, к которым относятся длина слова ОП, разрядность схем "комбинационной части ОА, распределение слов по регистрам памяти ОА и т.д. Таким образом, структуре функциональная МП должна описывать алгоритм функционирования процессора в терминах управляющих и информационных сигналов, СФМП образуется путем представления каждой операторной и условной вершин графа функциональной МП совокупностями микрооперации и логических умов. необходимых для интерпретации функциональных операторов.
При построении СФМП необходимо учитывать возможность совмещения отдельных микроопераций с функциональной МП в рамках структуры,
30
которая проектируется. Микрооперации, что совместимы в функциональной МП, могут стать несовместимыми в СФМП и наоборот.
4.2.3. Разработка структурной схемы операционного автомата-процессора Структурная схема,
которая разрабатывается, должна ориентироваться на выполнение четырех, указанных в задании команд. Построение структурной схемы операционного автомата осуществляется с учетом списков микроопераций, логических условий и списка входящих, исходящих и внутренних словам, на основе которых выбирается минимальный набор операционных элементов, схем формирования информационных сигналов и состав регистров в памяти операционного автомата. На структурной схеме ОА отображается, его связь с регистровой и оперативной памятью, что может быть реализовано на основе индивидуальных шин или общей магистрали. При выборе структурных решений, связанных с различными затратами оборудования и быстродействием, стоит самостоятельно принимать и обосновывать оптимальные решения. Структурная схема разрабатывается и вычеркивается с точностью до отдельного операционного элемента. На схеме указываются все управляющие и информационные, сигналы. Нетривиальные решения обосновываются в пояснительной записке.
4.2.4. Синтез управляющего автомата с программируемой логикой
Для синтеза управляющего автомата (УА) необходимо выбрать наиболее разветвлённый участок МП, имеет один вход, единственный выход и число операторных и условных вершин 50 ... 64. Для этого участка строится кодированная ГСА. Синтез УА осуществляется методами, изложенными в [2]. Необходимо разработать структурную и электрическую принципиальную схемы УА. Разработка. принципиальной схемы осуществляется на основе заданной системы элементов. Построение УА с программируемой логикой включает в себя выбор формата микрокоманды с учетом оптимальной распределения микроопераций по ее полям и заданном способа адресации. Необходимо стремиться минимизировать затраты памяти на сохранение микрокоманд и расходы оборудования на интерпретацию микрокоманд. Для УА строится структурная схема, включающая в себя схемы формирования адресов микрокоманд и схемы формирования управляющих сигналов. для выбранного формата микрокоманды осуществляется кодирование управляющих и информационных сигналов и составляется таблица прошивки ПЗП микрокоманд для заданного фрагмента объединенной МП.
4.3. Содержание курсового проекта
Каждый этап выполнения курсового проекта должен найти отражение в пояснительной
записке, в которой сводятся выходные и расчетно-пояснительные материалы, связанные с
разработкой проекта.
31
Основные графические материалы оформляются в виде чертежей в соответствии с ЕСКД.
4,3.1 . Состав пояснительной записки
1. Аннотация.
2. Задача.
3. Введение.
4. Описание функциональной организации спроектированного процессора.
Для каждой операции, реализованной процессором, приводится описание формата команды и форматов данных, словесное описание алгоритма выполнения команды, особых случаев, приводящих к прерыванию принципов установки признаки результата.
5. Функциональные микропрограммы выполнения отдельных команд и их описание. Равные части микропрограмм различных команд можно не дублировать, заменяя одним блоком, таким, как «выборка команды формата RR», «выборка команды форматов RX, RS», «вычисления адреса второго операнда для команды формата RХ» и т.д. Объединенная микропрограмма оформляется в виде отдельного документа (чертежа). Описание принципов объединения отдельных микропрограмм приводится в пояснительной записке.
6. Описание процедуры синтеза структурной схемы операционного автомата й его связей с регистровой и основной памятью. Приводится перечень всех слов, использованных при написании МП, их типов, списки микроопераций и логических условий. Все нетривиальные решения обосновываются. Структурная схема оформляется в виде отдельного документа {чертежи). Необходимые для объяснения фрагменты структурной схемы приводятся в пояснительной записке в виде рисунков.
7. Синтез управляющего автомата с программируемой логикой. Приводится описание структурной схемы КА в соответствии с заданным типа адресации. Осуществляется обоснование выбора форматов микрокоманд. На кодированной ГСА отмечаются номера микрокоманд, реализующих соответствующие операторные и условные вершины. Строится карта прошивки ПЗУ микрокоманд с комментариями. Кодированной ГСА выполняется в виде отдельного документа (чертежа).
8. Заключение.
9. Перечень используемой литературы.
4.3.2. Состав графической части
1. Процессор. Схема электрическая структурная.
2. Процессор. Микропрограмма функциональная объединена.
3. Управляющий автомат. ГСА кодированная.
4.Керуючий автомат. Схема электрическая структурная.
5. Управляющий автомат. Схема электрическая принципиальная.
подробнее
Заказчик
заплатил
заплатил
500 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
Автор24
20 дней
Заказчик воспользовался гарантией для внесения правок на основе комментариев преподавателя
6 сентября 2018
Заказ завершен, заказчик получил финальный файл с работой
5
Курсовая работа по проектированию процессора обработки некоего числа команд системы IBM370.docx
2020-11-30 12:11
Последний отзыв студента о бирже Автор24
Общая оценка
4
Положительно
Очень отзывчивый автор, отвечает быстро и помогает в течение всего срока выполнения заказа.