SODERJ (Процессор для ограниченного набора команд часть 1 (7) ( [Курсовая])), страница 2
Описание файла
Документ из архива "Процессор для ограниченного набора команд часть 1 (7) ( [Курсовая])", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "SODERJ"
Текст 2 страницы из документа "SODERJ"
Команды формата RS.
Логические операции.
RGadr загружается содержимым поля RGK(8:31), адрес передается на регистр адреса ОЗУ, по которому на буферный регистр заносятся данные, сначала старшие, а затем младшие разряды. В RG1ALU заносятся данные из буфера, а на RG2ALU заносятся данные из РОН (РОН выбирается по полю R1),операнды из буфера и из РОН выдаются на шины ШД0 и ШД1, а затем уже непосредственно в регистры индексного АЛУ – операторная вершина АР18. Далее дешифрация 3 и 4 бита кода операции.
После дешифрации выполняются логические операции И (операторная вершина T4), ИЛИ (операторная вершина Z4) и сложение по модулю два (операторная вершина AG4). Каждая операция при завершении проверяется на равенство результата нулевому значению, затем содержимое RGres переносится в соответствующий РОН через шину данных.
Запись.
По данной команде производится запись из РОН, адрес которого указан в поле R1, в ОЗУ[Adr].
В СТadr заносится адрес ячейки памяти. В регистр буфера из РОН пересылается операнд, затем из СТadr содержимое пересылается в регистр адреса ОЗУ, а в регистр слова ОЗУ пересылаются старшие 16 разрядов (вершина M37), СТadr увеличивается на единицу, проверяется на максимальное значение. При отсутствии максимума в ОЗУ передаются младшие 16 разрядов (M46). При полном заполнении СТadr, выставляется флажок о переполнении и переход на ОСТАНОВ.
Загрузка.
Загрузка операнда производится из ячейки ОЗУ по адресу, занесенному в регистр адреса ОЗУ из CTadr (вершина Т37) в один из РОН. Загрузка производится через буферный регистр (вершина Т40) сначала старших, а затем младших разрядов. Из буфера 32 разрядный операнд передается в РОН, адрес которого указан по полю R1 (операторная вершина Т51).
Команды формата S.
Условный переход по флагу.
Анализируется флаг Z, характеризующий нулевое значение результата, флаг вырабатывается в АЛУ. При наличии этого флажка в СТК заносится адрес перехода (вершина В34), взятый по полю Adr из RGK. В противном случае переход на начало.
Безусловный переход с возвратом.
Для выполнения данной команды используется стек, находящийся в ОЗУ. Указателем стека является СТST. При получении КОП данной команды СТК заносится в буферный регистр (вершина F33). Содержимое СТST заносится в регистр адреса ОЗУ, а старшие разряды RGbuf заносятся в регистр слова ОЗУ (вершина F36). СТST увеличивается на единицу, проверяется на переполнение и при отсутствии его происходит повтор, начиная с заноса содержимого СТST в регистр адреса ОЗУ (операторная вершина F46). СТST увеличивается на единицу, проверяется на переполнение, при отсутствии переполнения в счетчик команд заносится адрес перехода, взятый из RGK по полю Adr [5:28].
Останов.
При проверке 0-го разряда КОП и равенстве его единице выставляется в единичное состояние триггер END (вершина C26) и процессор заканчивает обработку программ.
2. СТРУКТУРНАЯ ЭЛЕКТРИЧЕСКАЯ СХЕМА ЦЕНТРАЛЬНОЙ ЧАСТИ ЭВМ
2.1 Выбор и обоснование структурной электрической схемы
Для построения схем других типов, а также для общего ознакомления с изделием необходима структурная электрическая схема. Определяется основной состав центральной части ЭВМ. Особенностями разработки процессора: будут использованы регистры общего назначения с доступом по двум портам (один порт только на чтение), используются два устройства управления с программируемой логикой (общее УУ и местный управляющий автомат для АЛУ). Центральная часть (ОЗУ + ЦП) также содержит АЛУ, ИАЛУ, RGK, CTK, CTST, RGbuf.
2.2 Техническое описание структурной электрической схемы
В состав центральной части ЭВМ, представленной на структурной схеме входят следующие компоненты:
Арифметико-логическое устройство состоит из двух регистров для приема и фиксации исходных операндов RG1ALU и RG2ALU, причем RG2ALU имеет кроме прямых выводов также инверсные выходы, сумматора для выполнения арифметических операций, регистра результата RGALURES. RG1ALU и RG2ALU являются сдвиговыми. Содержатся логические элементы для выполнения операций И, ИЛИ, исключающее ИЛИ. CTsycl служит для счета циклов при операции умножения. В состав АЛУ также входят комбинационные схемы, формирующие флаги о переполнении, о знаке и о нулевом результате.
RGALURES имеет 32 разрядом триггер, предназначенный для округления результата при умножении.
АЛУ содержит собственный управляющий автомат с программируемой логикой с регулярной адресацией содержащий, предназначенный для формирования необходимой последовательности управляющих сигналов для функциональных узлов АЛУ и осведомительных сигналов для общего управляющего устройства.
RON - регистры общего назначения. Предназначены для хранения данных, модификаторов, необходимых для вычисления исполнительного адреса для обращения к ОЗУ.
УУ - устройство управления с программируемой логикой с регулярной адресацией. Формирует последовательности управляющих сигналов для всех функциональных узлов процессора и осведомительных сигналов чтения и записи для ОЗУ.
СТК - счетчик адреса команды предназначен для вычисления продвинутого адреса команды. Имеет 22 разряда.
RGK - регистр команд предназначен для хранения выполняемой команды. На своем выходе имеет комбинационные схемы для проверки недопустимости 0-го РОН в качестве места хранения модификаторов для вычисления исполнительных адресов.
RGbuf - буферный регистр для приема с 16-разрядной ШД, накопления и выдачи на 32-разрядную ШД0 и выдачи на ШД1 обратного действия.
СТST - указатель стека.
Индексное АЛУ предназначено для вычисления исполнительного адреса. Включает два регистра RG1IALU и RG2IALU для приема и фиксации модификаторов из РОН. Сумматор складывает содержимое регистров и прибавляет к ним смещение поступающее сразу из RGK. Результат записывается в регистр адреса. CTadr предназначен для принятия, хранения, передачи и при необходимости работы в счетном режиме, адресов на ША, рассчитанных а самом ИАЛУ, принятых из RGK.
Внутри процессора имеются внутренние шины данных ШД0 и ШД1. Они предназначены для одновременной выдачи в ИАЛУ и в АЛУ данных - работа с двухпортовый РОН. Это значительно повышает быстродействие, что обеспечивает требуемый критерий проектирования.
3. ФУНКЦИОНАЛЬНАЯ ЭЛЕКТРИЧЕСКАЯ СХЕМА
ПРОЦЕССОРА
3.1 Выбор и обоснование функциональной электрической схемы
Функциональная схема поясняет процессы, происходящие в проектируемом процессоре. На данной схеме показаны функциональные узлы, участвующие в процессе, и связи между этими узлами. Функциональная схема строится на основе структурной электрической схемы, и дает возможность для дальнейшего построения принципиальной электрической схемы как отдельного блока, так и устройства в целом.
В виду того, что необходимо максимальное быстродействие используется двухпортовый РОН, в связи с этим внутри процессора имеются две шины данных ШД0 и ШД1, причем ШД1 работает только на чтение.
Так как ширина выборки из ОЗУ равна 16 бит, а ширина внутренней шины данных 32 разрядная, необходимо использовать буферный регистр. Для управления в схеме используются два управляющих устройства, общее УУ и местный УА для АЛУ. Для выполнения арифметических и логических операций служит АЛУ, для вычисления адреса предназначено индексное АЛУ. Для вычисления продвинутого адреса служит CTK, а для работы со стеком CTST.
Взаимодействие функциональных блоков между собой рассмотрим в техническом описании функциональной электрической схемы.
3.2 Техническое описание функциональной электрической схемы - операционная часть
При поступлении данных на ШД RGbuf записывает и накапливает 32 разряда и выдает на ШД0, Эта команда поступает на RGK, КОП отсылается у УУ и на основании этого начинается работа с определенным блоком.
DMX0 пропускает данные на ШД0 или на ШД1.
MUX1 и DC предназначены для выбора одного из РОН.
MUX11 и MUX12 нужны для выдачи на одну из шин данных содержимого одного из РОН.
При работе со стеком включается в работу CTST, который после инициализации увеличивается на единицу и показывает свободную ячейку памяти. Адрес из него поступает на ША, так как он 4-х разрядный, то старшие разряды всегда нули.
MUX3 пропускает на СТК начальный адрес равный 1610 или адрес взятый из поля RGK[5:28]. СТК выдает данные на ША и при необходимости на ШД0 через DMX1.
В RG1IALU и RG2IALU данные поступают с двух шин одновременно, с ШД0 и ШД1, выдаются через соответствующие мультиплексоры на SMIALU.
MUX4 пропускает данные на SMIALU с RG1IALU, с CTadr и из поля RGK[14:31].
MUX5 пропускает данные с RG2IALU и из поля RGK[14:31].
MUX6 принимает данные от сумматора IALU, из поля RGK[14:31] и адреса от RGK.
DMX2 выдает данные от CTadr и выдает на ША или обратно на SMIALU, для продолжения операции вычисления исполнительного адреса.
RG1ALU и RG2ALU принимают операнды с двух шин одновременно, с ШД0 и ШД1.
MUX7 и MUX8 передают операнды на SMALU, причем MUX7 пропускает прямое или инверсное значение RG2ALU, а MUX8 пропускает операнд из RG1ALU или с RGres при умножении.
MUX9 предназначен для управления переносами, идущими в SMALU. При отсутствии переноса, пропускается нуль, единица пропускается при коррекции умножения и при округлении пропускается значение, установленное в триггере Т.
MUX10 необходим для пропуска на RGres данных из сумматора при выполнении арифметических операций или данных из логик при выполнении логических операций И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ.
RGres и RG1ALU являются сдвиговыми регистрами, необходимо при выполнении умножения, причем для сохранения знака в RG1ALU при сдвиге вправо нулевой разряд переписывается обратно на свое место, а при сдвиге RGres для сохранения знака, нулевой разряд переписывается из RG2ALU.
DMX3 выдает данные из АЛУ на ШД0 или обратно в АЛУ, для выполнения дальнейших операций.
Логические элементы, стоящие на выходе RGres и на выходе SMALU отвечают за формирование флагов, характеризующих результат арифметических и логических операций.
Логические элементы, стоящие на выходе RGK отвечают за формирование флагов, характеризующих 0-й РОН при вычислении исполнительного адреса.
3.3 Техническое описание функциональной электрической схемы - управляющая часть
Оба устройства управления выполнены по схеме с регулярной адресацией. В этой схеме при разветвлении процесса, один адрес на единицу больше, чем текущий, второй адрес - произвольный. Элементом "вычисляющим" адрес, является счетчик СТ1 и СТ2, управляемый сигналом, являющимся входным для УУ. В зависимости от значения входного сигнала счетчик либо прибавляет единицу к значению, которое хранилось в счетчике и являлось текущим адресом, либо загружается значением адреса из управляющей памяти. Элемент по модулю 2 позволяет инвертировать значение входного сигнала, что облегчает распределение микроинструкций.
MUX2 и MUX13 предназначены для пропускания одного из осведомительных сигналов.
ROM1 и ROM2 - ПЗУ, на которые подаются адреса для выбора одного из управляющих сигналов
S | Y | H | e | S' |
S - является адресом для ПЗУ и определяет, какой из управляющих сигналов будет выбран
S' - содержит адрес перехода микропрограммы
Y - состоит из сигналов управления работой процессора
е - управляет работой исключающего ИЛИ
Н -подается на мультиплексор УУ, позволяет пропустить либо один из битов набора опознавательных сигналов, либо нулевой сигнал. Наличие этого сигнала позволяет осуществлять безусловные переходы
Управляющие сигналы для УУ
у1.1 - запись в RGbuf
y1.2 - Выдача из RGbuf
y1.3 - направление
y1.4 - выбор ст/мл разрядов
y1.5 - RESET
y1.6 - Запись в RGK
y1.7 - START ALU
y1.8 - +1 CTST
y1.9 - управление MUX1
y1.10 - управление DMX0
y1.11 - управление MUX3
y1.12 - запись в CTK
y1.13 - +1 CTK
y1.14 - управление DMX1
y1.15 - запись порт0
y1.16 - чтение порт0
y1.17 - чтение порт1
y1.18 - запись в RG1IALU
y1.18' - запись в RG12ALU
y1.19 - управление
y1.20 - MUX4