Источник.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ


ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ












ПРОЕКТИРОВАНИЕ ПРОЦЕССОРА ЭВМ

НА СЕКЦИОНИРОВАННЫХ

МИКРОПРОЦЕССОРНЫХ БИС


Методические указания к курсовому проектированию.












ПЕНЗА 2001

УДК 681.33,001.63

П 78

Даны указания к курсовому проектированию по дисциплине "Организация ЭВМ и систем" и изложены принципы работы и методы проектирования процессоров универсальных ЭВМ на микропроцессорных секционированных БИС серии К1804 с помощью учебной кросс - системы.

Издание второе, переработанное и дополненное.

Методические указания подготовлены на кафедре "Вычислительная техника" и предназначены для студентов специальности 22.01. Ил.11, табл.2, библиогр. 16 назв.

Составители: к.т.н., и.о. профессора Коннов Н.Н., к.т.н. доцент Гурин Е.И., к.т.н. доцент Механов В.Б.


ОСНОВНЫЕ СВЕДЕНИЯ

При проектировании процессоров ЭВМ могут использоваться микропроцессоры двух типов: однокристальные микропроцессоры и секционированные микропроцессорные БИС. Микропроцессоры первого типа имеют свою неизменяемую систему команд и позволяют проектировать процессоры с малой и средней производительностью. Принципы построения процессоров на микропроцессорах этого типа достаточно широко описаны в литературе.

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


ЗАДАНИЕ НА КУРСОВОЕ ПРОЕКТИРОВАНИЕ

Целью курсового проектирования является:

процессоров;

Содержанием курсового проектирования является разработка центрального процессора универсальной ЭВМ на схемотехнической базе микропроцессорного комплекта серии К1804.

Технические характеристики проектируемого процессора:

("Электроника- 60"), кроме команд обработки данных в байтовом формате

Примечания:

  1. Возможна - до заданию преподавателя реализация системы команд, отличной от "Электроники - 60".
  2. Конкретный состав реализуемого набора команд и способов адресации к памяти уточняется преподавателем.
  3. Такие характеристики процессора, как быстродействие, потребляемая мощность, устанавливаются проектантом.

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

ЭТАПЫ И ПОРЯДОК ВЫПОЛНЕНИЯ ПРОЕКТА

Разработка процессора ведется в следующем порядке:

1. Изучается состав программно-доступных регистров реализуемого процессора, форматы и содержание заданного набора команд, особенности адресации к памяти. Для этого необходимо использовать литературу, где описаны система команд и архитектура мини и микроЭВМ СМЗ, "Электроника- 60" [I, 2, 3. 9, 14] .

2. Изучается архитектура базовой микроЭВМ на БИС серии К1804, на которой эмулируется заданная система команд, уточняется формат микрокоманд, принципы работы БИС. Для этого следует использовать литературу [5(кн.1), 6, 8, 12, 16]. Определяется состав регистров базовой микроЭВМ, используемых в качестве программно-доступных, регистров эмулируемой ЭBM, назначаются буферные и вспомогательные регистры.

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

4. По разработанной cxeмe алгоритма производится кодирование диаграмм микропрограммной логики, показывающих, как конкретно описанные последовательности микроопераций реализуются в среде базовой микроЭВМ. Диаграммы служат исходным материалом для кодирования микрокоманд и составления таблицы "прошивки" памяти микропрограмм.

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

6. Разрабатываются структурная схема процессора, функциональные схемы его блоков и принципиальная схема одного из блоков или его части, конструктивно реализуемой как типовой элемент замены (ТЭЗ). При разработке схемной документации можно пользоваться ГОСТом, приведенным в [13].

7. Анализируется быстродействие спроектированной схемы. Рассчитывается длительность машинного такта и время выполнения каждой реализуемой команды. Методика расчета быстродействия микроЭВМ изложена в [5,7,12], исходные данные по задержкам сигналов в интегральных схемах приведены в [11, 12, 16].

8. Оформляется отчетная техническая документация по курсовому проекту.

Подробные рекомендации по выполнению отдельных из перечисленных этапов приведены ниже.

ОПИСАНИЕ СТРУКТУРЫ БАЗОВОЙ МИКРОЭВМ

Для реализации процессора - с заданной системой команд предлагается использовать в качестве базовой микроЭВМ с разрядномодульной организацией на БИС серии К1804, построенную по типовой схеме, рекомендованной в [5, 6].Программная модель такой микроЭВМ включена в учебную кросс-систему проектирования микропроцессорных устройств. В состав процессора базовой микроЭВМ входят следующие блоки (рис.1): блок микропрограммного управления (БМУ), блок обработки данных (БОД) и интерфейсный блок (ИБ).

БМУ служит для генерации кодов микрокоманд, содержащих поля М1...М15 и управляющих работой БОД и ИБ. БОД осуществляет обработку информации под управлением полей Ml, M5...M14, вырабатываемых в БМУ кодов микрокоманд. По результатам выполнения операций в БОД формируется слово состояния процессора PSW, поступавшее, а БМУ. Информация в БМУ и БОД поступает из ИБ по шине данных В1, ас выхода ЗОД в ИБ поступают данные по шине В0 и адрес по шине ADR. Поле М15, код которого поступает из БМУ в ИБ, служит для управления вводом-


Рис.1.Структура базовой микроЭВМ.

выводом при этом осуществляется анализ сигналовFLG, вырабатываемых в ИБ.

Функциональная схема БОД приведена на рис.2. В состав БОД входят обрабатывающий узел (ОУ).вентили В1 и В2, входной регистр данных RDI, схема формирования переноса (СФП)- С0 в младший разряд, регистр состояния PSW, выходной регистр, данных RDO, регистр адреса МАR, мультиплексоры, адреса МSА и MSB, дешифратор DC.

Обрабатывающий узел выполнен на микросхемах K1804BCI и может выполнять все арифметические и логические операции, предусмотренные в данной микросхеме. Выполняемая операция задается девятиразрядным кодом 18-10, который образуется кодами М9, М10, М11. Адреса А и В регистров во внутреннем регистровом ЗУ опе рационного блока ОУ задаются соответственно кодами М5 и М6, при этом на входы А и В могут поступать как коды М5 и М6, так и разряды 8…6 или 2...0 регистра команд.

На вход D операционного узла может подаваться информация с вентилей В1.В2 и регистра RDI, подключение которых к шине D управляется кодом М12. С выхода Y информация может заноситься в RDO или в MAR в соответствии с заданным кодом М14относится команда, хранящаяся на РК, MS выбирает нужный сигнал условия из всех поступающих на его вход сигналов и под управлением кодов М2, МЗ формирует проверяемый сигнал TST, поступаюший в СУСА. CУАM совместно с СУСА определяют следующий адрес микрокоманды в соответствии с кодом М4, проверяемым условием TST, а также кодом, приходящим на вход D СУАМ.

На вход D СУАМ могут поступать коды M1, младшие или старшие разряды PK. Подключением того или иного кода на шину D управляют сигналы ME и РЕ. Если ME = 1. РЕ =0, то к шине адреса ветвления подключается поле Ml, если МЕ = 0,РЕ = 1 , то подключаются старшие разряды РК; если МЕ = 1,РЕ= 1, то подключаются младшие разряды РК. Сигналы CTL, СТЕ управляют работой счетчика, а также при CTE=CTL=0 задаются нулевой адрес на выходе Y схемы СУАМ (переход к микрокоманде с нулевым адресом).

БМУ работает следующим образом.С выхода ПЗУ коды микрокоманд записываются на РМК, где хранятся в течение одного такта. Каждая микрокоманда разбивается на 15 полей, назначение которых подробно будет описано ниже. Поля М1...М4 определяют следующий адрес, а поля М5...М15 задают микрооперацию. Поля М2 и М3 управляют мультиплексором условий, а поле М4 определяет тип перехода к следующей микрокоманде. В течение очередного такта производятся следующие действия: по коду М4 определяется тип перехода, а по кодам М2, М3 - значение сигнала TST; в СУСА формируются сигналы, управляющие схемой СУАМ, на выходе У которой формируется адрес следующей микрокоманды; код следующей


микрокоманды вырабатывается на выходе ПЗУ. Этот код будет занесен на РМК в начале следующего такта.

Особенностью данной схемы является то, что все команды разбиты на уровни в соответствии с [4]. Поэтому в микропрограмме необходимо предусмотреть определение, к какому уровню относится данная команда.

РАЗРАБОТКА АЛГОРИТМА РАБОТЫ ПРОЦЕССОРА

Разработке алгоритма работы процессора, эмулирующего какую-либо систему команд, должна предшествовать процедура установления соответствия между программно-доступной аппаратурой базовой и эмулируемой ЭВМ. Например, при эмуляции системы команд ЭВМ типа PDP-11 ("Электроника-60") на микропроцессоре К1804 необходимо установить однозначное соответствие между регистрами общего назначения(РОН) и оговорить правила формирования и хранения признаков в слове состояния процессора. ЭВМ "Электроника-60" имеет 8 программно-доступных РОНов, два из которых имеют целевое назначение: R6 - указатель стека, R7 - счетчик команд. Микропроцессор К1804 имеет 16 РОНов той же разрядности, что и "Электроника-60". "Электроника-60" имеет 16-разрядный регистр состояния процессора(РСП), тогда как К1804 имеет 8-разрядный РСП. На основании этой информации разработчик может, например, установить следующее соответствие:

PDP        K1804

R0   <---->   R0

R1   <---->   R1

R2   <---->   R2

R3   <---->   R3

R4   <---->   R4

R5   <---->   R5

R6   <---->   R6

R7   <---->   R7

PSW   <---->   R15

Остальные регистры МП К1804 (R8-R14) могут быть использованы в этом случае для хранения промежуточных результатов.

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

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

Указанные два этапа являются стандартными и их разработка не входит в задачи курсового проекта.

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

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

Дешифрация и выполнение команды обязательно учитывают специфику реализуемой системы команд и особенности базовой ЭВМ. Рассмотрим эти этапы на примере реализации системы команд ЭВМ типа "Электроника - 60"2.I4

В соответствии с [4] всю систему команд эмулируемой ЭВМ можно разбить на следующие подгруппы: команды пересылок, арифметические и логические операции, команды вызова и возврата из подпрограмм, команды работы с флагами, прочие команды. Команды, кодируются по схеме, показанной на рис.5.

Имеется пять основных уровней кодов. Уровень 1 задается трехбитовым полем (биты 14,13 и 12); уровень 2- битом 11 кода команды; уровень 3 - четырехбитовым полем (биты 15,10,9 и 8); уровень 4 - двухбитовым полем (биты 7 и 6); уровень 5-трехбитовым полем (биты 2,1 и 0).

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

Команды уровня 1 - двухадресные. В большинстве из них бит 15 указывает, на какую границу настроен адрес (слова или 8-битового байта в слове). Исключением для уровня 1 является команда SOB, предназначенная для организации циклов. Процедура выборки операндов команды SOB отличается от выборки операндов всех остальных команд уровня 1 поэтому разработчику необходимо предусмотреть на этапе первичной дешифрации выделение этой команды с целью ее выполнения по отдельному алгоритму.

Команды уровня 2, в свою очередь, подразделяются на два подуровня. Команды уровня 2.1 имеют формат "полтора адреса"(например, команда JSR), т.е. под адрес первого операнда в формате отводится всего три разряда(для задания номера регистра), а для адреса второго операнда выделяется, как обычно, шесть разрядов. Команды уровня 2.2 - одноадресные команды арифметико-логической группы.

Уровень .3 - это 15 команд условного перехода. Уровень 4 -команды работы с флагами и возврата из подпрограммы. Уровень 5 -команды общего назначения.


Первичная дешифрация команд в кросс—системе К1804(см. приложение) выполняется в соответствии с рассмотренной системой кодирования.

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

На рис.6 показан пример выполнения команды DEC, которая относится к одноадресным командам уровня 2. 2. Считается, что код команды

фиксируется в регистре команд RK. Регистр R7 выполняет функций счетчика команд. Регистр RN является регистром общего назначения, содержимое которого является операндом.

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

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

СОСТАВЛЕНИЕ ДИАГРАММ МИКРОПРОГРАМНОЙ ЛОГИКИ

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

ДМЛ представляет собой соединение блоков, каждый из которых является подробным описанием одной микрокоманды. Правило заполнения блока показано на рис.7. Внутри блока заполняются 6 строк в соответствии с табл.1. На периферии блочного символа в углах располагаются три адресных поля:


Поле адреса блока указывает координату на листе ДМЛ, в которой размечается блок .Адрес микрокоманды дается в восьмеричном представлении. Поле переключателя заполняется, если адрес следующей микрокоманды формируется по внешнему коду (переход типа JMAP или CJV) и представляет собой двоичный код адреса, в котором разряды, формируемые внешним кодом, отмечены знаком X.

Линии связи определяют последовательность исполнения микрокоманд (поток информации показывается слева направо и сверху вниз). Блок может иметь несколько входов к только один выход.

Таблица 1

Содержание

строки

Пример

заполнения

Поля МК, задающие действия.

Описание действий над входной шиной данных в БОД

D<—RD1;RDI<—BI

М12

Описание

oneраций над данными в БОД

R0<— (R0+D)

M5,M6,М7,М8,

M9, М10,M11

Описание формирования PSW

PSW<—C16,F15,Z,

OVR

M13

Описание действий над выходной шиной данных в БОД

RDO<—Y

М14

Описание перехода и условий перехода (формирования сигнала TST) в БМУ

CJP;TST=PSW[0]

M2,M3,M4

Описание полей констант и пользователя .

7777;0

M1,M15

При ветвлениях по сигналу TST на линиях связи указывается значение сигнала TST (0 или 1), соответствующее разветвлению. При переходах по внешнему коду (переключателю) на линиях связи указываются двоичные значения разрядов, отмеченных знаком Х в переключателе.

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

Начало и конец диаграммы отмечаются "пустыми" блоками, адресные поля которых, кроме первого, не заполняются. Внутри блоков записываются слова "начало" и "конец". Подпрограмму а ДМЛ обычно рекомендуется отмечать блоком, расшифровывающим ее работу. Содержание микропрограммы отображается на от дельной ДМЛ (рис.8).

 

КОДИРОВАНИЕ МИКРОПРОГРАММ.

На этом этапе важным моментом является определение начальных адресов участков микропрограмм для различных команд проектируемой ЭВМ. Для БМУ с аппаратным формированием начального адреса эти адреса определяются правилом, работы преобразователя начального адреса ПНА. Для БМУ без аппаратного формирования начального адреса, приведенного на рис.3, начальные адреса определяются по кодам команд проектируемой ЭВМ. Рассмотрим этот процесс более подробно.

При выполнении алгоритма в БМУ, приведенном на рис. 3, сначала определяется уровень команды, при этом ветвление производится с помощью команд условного перехода с использованием в качестве условий сигналов, поступающих с выхода схемы формирования уровней СФУР. После разделения команд на 6 уровней в соответствии с. рис.5 производится переход по коду команды внутри данного уровня. К шине адреса ветвления (см.рис.3) могут подключаться либо старший, либо младший байты регистра команд РК, поэтому при выборе начальных адресов необходимо следить, чтобы не совпадали начальные адреса различных команд. Для хранения микрокоманд может использоваться ПЗУ на 512 слов, что соответствует девятиразрядному адресу.

Начальные адреса команд уровня 1 (кроме байтовых) определяются кодами 00XXX1111 (Х=0 илй1) путем маскирования старшего байта регистра команд маской 000001111 и перехода по старшему байту РК. Например, команда MOV, имеющая в старшем байте код 00001АААА (А - биты, определяющие адресную часть команды в старшем байте),имеет начальный адрес 000011111; команды СМР имеют начальный адрес 000101111 и т.д. Необходимо отметить, что адрес 000001111 останется свободным, так как среди команд первого уровня нет команд, имеющих подобный код.


К уровню 2.1 относится только одна команда, и ее начальный адрес, может быть помещен в любую ячейку ПЗУ. К уровню 2.2 относятся одноадресные команды. В этом уровне могут изменяться биты как в старшем, так и младшем байтах кода команды. Разделение командам в этом уровне осуществляется в два этапа: сначала производится переход по старшему байту РК без маскирования (адреса 000001ХХХ), а затем в БОД определяются биты 7 и 6 в младшем байте кода команды и производится ветвление с использованием обычных микрокоманд условного перехода. Адреса ячеек, куда производится переход, выбираются из свободных ячеек ПЗУ.

Начальные адреса команд уровня 3 определяются кодами 0X0000ХХХ при переходе на адрес из старшего байта регистра команд.

Начальные адреса команд уровня 4 определяются кодами 1XXXXXXXX (маска 100000000) при переходе на адрес по младшему байту регистра команд.

Начальные адреса команд уровня 5 определяются кодами 100000ХХХ (маска 100000000) при переходе на адрес по младшему байту регистра команд.

Аналогично определяются начальные адреса алгоритмов для различных способов адресации. Начальные адреса первого операнда определяются кодами 11111ХХХ1 путем маскирования маской 111110001, а начальные адреса второго операнда - кодами 011ХХХ111 (маска 011000111).

Однако полностью избежать дублирования начальных адресов не удается. Так, например, при обработке команды 4 уровня SWAB возможно попадание, на адрес 111111111. На этот же адрес будет осуществляться переход и при способе адресации 7через регистр 7.

В подобных случаях необходимо либо увеличить емкость ПЗУ, либо применять специальные приемы. Например, можно поступить следующим образом: при переходе на адрес 111111111 при обработке команды в свободный регистр МС1804ВС1 занести 1, при переходе при обработке операндов в этот же регистр занести 0, а затем разделить эти варианты с помощью команды условного перехода.

При использовании ПЗУ емкостью 1024 слова всю область памяти удобно разбить на следующие области:

При таком разбиении начальные адреса дублироваться не будут.

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

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

ОТЛАДКА МИКРОПРОГРАММ НА КРОСС-СИСТЕМЕ

Учебная кросс-система проектирования (УКС) микропроцессорных устройств на БИС серии К1804 обеспечивает:

Вызов УКС осуществляется при запуске программы <gr1804.exe>, после чего на экран дисплея выводится заставка и система переходит к начальному диалогу, во время которого оператор задает ее конфигурацию, а именно: имя задачи, т.е. файла разрабатываемой микропрограммы (до 6 символов), номер варианта конфигурации базовым микроЭВМ , емкость ПЗУ-микрокоманд указывается на необходимость создания файла ПЗУ на магнитном носителе (при первом обращении к системе).Затем система запрашивает "читать файл задачи или нет". По окончании начального диалога на экран выводится символ [0] >, указывающий ,что кросс-система готова к работе под управлением команд, вводимых оператором.

Ввод и редактирование микропрограммы осуществляется с помощью команд :R[Addr], W, M[Fild], <,>, Z, L[T], L[F], L[P],F[L], F[S].

Команда R[Addr] открывает ячейку ПЗУ с заданным адресом, при этом на экран выводится в двух последовательных строках адрес открытой ячейки и содержимое пятнадцати полей микрокоманды ,( все данные здесь и далее представляются в восьмеричной системе счисления),т.е. с помощью этой команды можно прочитать микрокоманду.

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

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

Команда M[Fild] позволяет модифицировать одно из полей открытой ячейки. При этом вместе с командой <М>необходимо ввести номер ячейки , которую надо исправить.

Команда Z очищает ПЗУ, т.е. записывает во все ячейки коды 0.Пользоваться этой командой следует осторожно.

Команда L выводит оператору либо на принтер L[P], либо на терминал L[T], либо в файл L[F] листинг микропрограммы , записанной в ПЗУ. При этом содержимое ячеек с кодом 0 не выводится. Чтобы указать, на какое устройство выводить листинг, необходимо на запрос кросс-система ввести буквы-: P(принтер), T(экран) или F(файл). В последнем случае листинг выводится в файл с именем указанным в начале программы без расширения.

Если оператору необходимо прочитать файл в ПЗУ по заданному адресу , то это необходимо сделать с помощью команды F[L].

Для того ,чтобы сохранить части ПЗУ в файле надо ввести F[S]. Затем вводить начальный, конечный адреса и имя файла (до восьми знаков ) , куда запишется ПЗУ. Лучше это выполнять периодически , чтобы обеспечить автоматическую сохранность вводимой микропрограммы при случайном нарушении работы ЭВМ.

Моделирование подготовленной микропрограммы выполняется под управлением команд: В, G, Р, S, D,I и O.

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

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

Запуск моделирования выполняется командой G, при этом уточняется, куда следует записывать результат моделирования как и в команде L, устройство для вывода протокола моделирования.

Только при выводе в файл кросс-система сохраняет результат с расширением <ИМЯ ЗАДАЧИ. DOC>

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

При желании оператора можно по команде D вывести содержимое любого регистра, а по команде I - содержимое всех регистров" базовой микроЭВМ, командой S можно изменить содержимое любого регистра.

Для продолжения моделирования вводится команда Р. Если необходимо задать несколько точек останова ,то надо ввести команду O. Далее указывается количество остановов (от 0 до 20). При выполнении микропрограммы возможно отсутствие остановов, но при наличии остановов их адреса последовательно вводятся в систему, причем останов происходит после выполнения микрокоманды, адрес которой определяет этот останов. Команда 0 позволяет оперативно изменить адреса остановов, не прибегая к команде В.

Команда С позволяет вернуться к начальному диалогу, переопределив имя задачи, номер варианта, емкость ПЗУ.

Команда Н вызывает справочник кросс-системы, приведенный в приложении. Работы с кросс-система должны оканчиваться командой Е, по которой микропрограмма сохраняет результаты в файле <ИМЯ ЗАДАЧИ.PZU>.

РАСЧЁТ БЫСТРОДЕЙСТВИЯ ПРОЦЕССОРА

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

Оценка быстродействия блока обработки данных (БОД) и блока микропрограммного управления БМУ) производится раздельно.

Для расчета временных параметров БОД рекомендуется следующая методика.

1)Фиксировать структуру БОД .В качестве примера рассмотрим схему на рис.11, содержащую:

Все регистры построены на микросхеме К1804ИР1.

2)Фиксировать набор операций, выполнение которых предусматривается данной структурой.

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

3) Для заданного набора операций определить источники и приемники информации, а также структурные элементы, участвующие в ее обработке. В рассматриваемой схеме источниками информации являются RDI, RМК, регистровое ЗУ (R0,....,R15); приемниками -RDО, PSW, R0,....,R15.

4) Для каждой группы операций определить пути прохождения информации от источников к приемникам. Для надежной фиксации информации необходимо учитывать время установки сигналов на входах приемников относительно положительного фронта тактового сигнала.Для схемы на рис.11 в общем случае каждая группа операций может использовать девятью путей прохождения информации (три источника и три приемника.). Однако практически все задержки, происходящие от RМК, больше задержек, происходящих от других источников, так как в этом случае: происходит дополнительное обращение к РЗУ по адресным входам. Поэтому для каждой группы операций рассмотрим только три пути прохождения информации, отличающиеся местоположением приемников: RDO, PSW, РЗУ.

5) Рассчитать минимально допустимую длительность операций по каждому пути. Рассмотрим в качестве примера расчет длительности выполнении арифметических, операций без сдвига, в которых участвует СУП. Временные параметры микросхем серии К1804 приведены в [7].Все арифметические операции включают в себя задержку чтения микрокоманды из RMK, определяемую от переднего фронта тактового импульса до формирования адреса РЭУ на входах А,В (11нс), выполнение операции в МПС и формирование сигналов Q, Р ускоренного переноса (59нс), задержку сигнала в СУП (7нс).На первом пути необходимо учитывать распространение переноса от входа С0 старшей МПС. Для надежной записи результата операции в РЭУ установка сигнала на этом входе должна произойти не раньше, чем за 55нс до переднего фронта следующего тактового сигнала. Таким образом, первый путь занимает не менее 132 нс.

На втором пути вместо времени установки сигнала на, входе С0 старшей МПС учитывается задержка распространения информации от входа С0 старшей МПС до выхода Y (27нс) и время установки информации на входах RDO (5нс). Длительность второго пути составит 109 нс. На третьем пути при фиксации результата учитываются наибольшее время задержки от входа Е0 старшей МПС до выходов признаков и времени установки информации на входах PSW (5нс). Дольше всех формируется признак Z (46нс). Длительность третьего пути составит 128 нc. Таким образом, критическим является первый путь. Аналогично выполняется подсчет длительности для каждой группы операций.

6) Полученный набор длительностей операций использовать при расчете оптимальных длительностей такта работы БОД. Для рассмотренного примера частоту генератора можно задать примерно равной 7,2 МГц.Приведенная методика полностью применима и для оценки быстродействия БМУ. При этом операции БМУ можно классифицировать по типам выполняемых переходов, по способам формирования адреса следующей микрокоманды, выделить операции работы со стеком, подпрограммами и т.д.Определив длительность машинного такта, можно рассчитать время выполнения каждой из команд, подсчитав наибольшую длину последовательности микрокоманд, их реализующих и умножить ее на рассчитанную длительность машинного такта.

ОФОРМЛЕНИЕ ОТЧЕТНОЙ ДОКУМЕНТАЦИИ

Отчетной документацией по курсовому проектированию являются пояснительная записка и схемная документация.

Пояснительная записка объемом 30-40 страниц выполняется на белой бумаге стандартного формата, рисунки можно выполнять на миллиметровой бумаге черным карандашом или чернилами. Все листы записки должны иметь сквозную нумерацию.

Пояснительная записка должна содержать:

Графическая часть проекта должна содержать:

Структурные электрические схемы должны раскрывать организацию процессора на уровне блоков и выполняются в соответствии с ГОСТ 2.708-81.Функциональные электрические схемы должны раскрывать функциональную организацию блоков на уровне функциональных групп (узлов) и элементов, условные графические обозначения которых должны соответствовать ГОСТ 2.708-81. Рекомендуемыми форматами для структурных и функциональных схем являются A3 и А4.

Схемы алгоритмов должны оформляться в соответствии с ГОСТ 19.002-80. Рекомендуемым форматом для них является A3.

При оформлении принципиальных схем необходимо руководствоваться ГОСТ 2.708-81 "Правила выполнения электрических схем цифровой вычислительной техники" и ГОСТ2.743-82

"Обозначения условные графические в схемах. Элементы цифровой техники" ЕСКД.

Схемы электрические принципиальные рекомендуется изображать на листах формата А2 (420 х 594 мм) с нанесенной на них координатной сеткой, шаг которой составляет 5 мк.

На каждый ТЭЗ оформляется своя принципиальная схема. Первый лист схемы должен иметь большой штамп (185 х 55 мм), остальное листы — малый (185 х 15 мм ). Помимо условно-графического обозначения элементов и связей между ними схема электрическая принципиальная должна показывать схему подключения, питающих напряжений к ТЭЗу с указанием соответствующих контактов разъема и отражать подводку питающих напряжений к отдельным микросхемам, а также схему подключения, фильтрующих конденсаторов для подавления помех по питанию. Номиналы фильтрующих конденсаторов рекомендуется выбирать из расчета 0,07-0,1 мкФ на корпус микросхемы. Условные графические обозначений для БИС серии К1804 приведены в литературе. [12].

На принципиальной схема в соответствии с требованиями ГОСТ 2.702.-75 помещают перечень элементов, где однозначно должны быть определены все элементы, входящие в состав ТЭЗа и изображенные на схеме. Рекомендуется перечень элементов изображать на листах формата А4 (210 х 297 мм) и записи в нем размещать в алфавитном порядке.

Примеры выполнения схемной документации приведены в [13].

ЛИТЕРАТУРА .

  1. Балашов Б.П., Петров Г.А., Григорьев В.Л. Микро- и мини-ЭВМ.-Л.: Энергоатомиздат, 1984
  2. Малые ЭВМ и их применение/ Ю.А.Дедков,- М.А.Островский. К.В.Песелев и др.; Под ред. Б.Н.Наумова.-М.: Статистика, 1980.
  3. Вигдорчик Г.В., Воробьев А.Ю., Праченко В. Д. Основы" программирования на Ассемблере для СМ ЭВМ.-М.: Финансы и статистика, 1983.
  4. Липьят А. Архитектура малых вычислительных систем. -М.: Мир, 1981.
  5. .Мик Дж., Брик -Дж. . Проектирование микропроцессорных устройств с разрядно-модульной организацией.-М,: Мир, 1984.
  6. Клингман Э. Проектирование специализированных микропроцессорных систем - М.: Мир, 1985.
  7. Проектирование цифровых систем на комплектах микропрограммируемых БИС/ С.С.Булгаков, В.М.Мещеряков, 3.3.Новоселов и др.; Под ред. В.Г.Колес.чикова.-М.: Радио и связь, 1984.
  8. .Калабеков 5. А. Микропроцессоры и их применение в системах передачи и обработки; сигналов: М.; Радио и связь, 198в.
  9. МикроЭВМ: В 8 кн. : Практическое пособие/Под , ред. Л. Н. Преснухина- М. : Выс. шк. , 1988.-Кн.1,2.
  10. Мини- и микроЭВМ семейства "Электроника "/Б. Л. Толстых И.Л.Топов, В.Г.Цывинский и др.-М.: Радио .и связь, 1987.
  11. Применение интегральных микросхем в электронной вычислительной технике: Справочник/Под ред. Б.И.Файзулаева и Б.В.Тарабрина.-М.:.Радио и связь, 1986.
  12. Микропроцессоры: Справочное пособие для -разработчиков судовой РЭА/Г. Г. Гришин, А.А.Мошков И ДР-..-Л. : Судостроение, 1987.
  13. Сапаров В.Е., Максимов Н.А. Системы стандартов в электросвязи и радиоэлектронике.-М.: Радио и связь, 1965.
  14. Коннов Н..Н., Пучков В. Г., Шашков Б.Д. Изучение архитектуры микроЭВМ/ Методические указания. -Пенза: Пенз. политехн. ин-т, 1985.
  15. Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справочник /Под ред. В.А.Шахнова.-М.: Радио и связь ,1988,T2
  16. Комплект БИС К1804 в процессорах и контроллерах. В.М.Мещеряков, И.Е. Лобов, С.С. Глебов и др. /Под ред. В.Б. Смолова – М.Радио связь,1990.

Приложени1. Структурные схемы К1804ИР1, К1804ВУ1, К1804ВУ2, К1804ВУ3, К1804BС1.


 

 

 

 

 

 

 

 

 

Рис.К1804ВУ3

 

Приложени2. Справочник учебной кросс-системы

Команды кросс-систеы

R[Addr] - прочитать микрокоманду.

W - записать микрокоманду.

<(>) - открыть предыдущую (следующую) ячейку.

Z - очистить часть ПЗУ

M[Fild]-модифицировать поле микрокоманды.

L[T] - вывести листинг микропрограммы на экран.

L[P] - вывести листинг микропрограммы на принтер.

L[F] - вывести листинг микропрограммы в файл

В - установить начальные параметры модели.

G - начать моделирование.

P - продолжить моделирование.

S - установить начальные значения регистров.

D - вывести значения отдельных регистров модели.

I - вывести значения всех регистров модели.

E - конец работы.

H - обратиться к справочнику системы.

F[L] - чтение из файла.

F[S] - сохранение части ПЗУ в файле.

C - смена имени задачи.

 











ФОРМАТ МИКРОКОМАНДЫ

Поле

Разряды

Назначение

M1

M2

M3

M4

M5

M6

M7

M8

M9

M10

M11

M12

M13

M14

M15

63 - 48

47 - 46

45 - 42

41 - 38

37 - 33

32 - 28

27 - 26

25 - 24

23 - 21

20 - 18

17 - 15

14 - 12

11 - 10

9 - 8

7 - 0

Поле констант

Управление маской и инверсией условия

Управление мультиплексором условий.

Управление БМУ.

Управление мультиплексором адреса A.

Управление мультиплексором адреса B.

Управление сдвигами

Управление входом переноса.

Управление источниками операндов АЛУ.

Управление операцией АЛУ.

Управление приемником результата АЛУ

Управление входной шиной D.

Управление регистром состояния

Управление выходной шиной Y.

Управление вводом-выводом.



М1 63-48 Поле констант

M2 47 - 46 Управление маской и инверсией условия.

 

ВАРИАНТ 1XX

M2 = 0,2 - нет инверсии условия.

M2 = 1,3 - инверсия условия.

Маскирование выполняется командами JMAP и CJV.

ВАРИАНТ 0XX

0 - нет инверсии условия и нет маски.

1 - инверсия условия , маски нет.

2 - нет инверсии условия , маскирование адреса.

3 - инверсия условия , маскирование адреса.



M3 45 - 42

Управление мультиплексором условий.

Для M3=0..7

Для M3=10..17

Вариант 1XX

Вариант 0XX

M2=0,1

M2=2,3

M2=0..3

0 - PSW[0]

1 - PSW[1]

2 - PSW[2]

3 - PSW[3]

4 - PSW[4]

5 - PSW[5]

6 - ПЕРЕНОС СТ

7 - КОНСТАНТА 0

10 - FLG[0]

11 - FLG[1]

12 - FLG[2]

13 - FLG[3]

14 - FLG[4]

15 - FLG[5]

16 - FLG[6]

17 - FLG[7]

10 - УР1

11 - УР2.1

12 - УР2.2

13 - УР3

14 - УР4

15 - УР5

16 - RK[11/9]

17 - RK[5/3]

10 - FLG[0]

11 - FLG[1]

12 - FLG[2]

13 - FLG[3]

14 - FLG[4]

15 - FLG[5]

16 - FLG[6]

17 - FLG[7]

M4 41 - 38 Управление БМУ

0 - перейти на нулевой адрес (JZ).

1 - условный переход к подпрограмме по адресу из RMK (CJS).

2 - переход по адресу из младшего байта RK (JMAP).

3 - условный переход по адресу из RMK (CJP).

4 - загрузка стека и условная загрузка счетчика СТ (PUSH).

5 - условный переход к подпрограмме по адресу из RA , либо из RMK (JSRP).

6 - условный переход по адресу из из младшего байта RK (CJV).

7 - условный переход на адрес из RA , либо из RMK (JRP).

10 - повторение цикла , если счетчик не равен нулю (RFCT).

11 - повторение по адресу , выбираемому из RMK , если счетчик не равен нулю (RPCT

12 - условный возврат из подпрограммы (CRTN).

13 - условный переход по адресу из RMK и прием из стека (CJPP).

14 - загрузка счетчика и последовательная выборка (LDCT).

15 - проверка условия окончания цикла (LOOP).

16 - последовательная выборка (CONT).

17 - переход по адресу выбираемому из RMK (JP).



M5 37 - 33 Управление мультиплексором адреса A.

Для M5=(0-17) A=M5;

Для M5=(20-27) A=RK[2/0];

Для M5=(30-37) A=RK[8/6].


M6 32 - 28 Управление мультиплексором адреса B.

Для M6=(0-17) B=M6;

Для M6=(20-27) B=RK[2/0];

Для M6=(30-37) B=RK[8/6]




M7 27 - 26 Управление сдвигами.

Код

Схема сдвига

M11[1]

M7


0

0


0

0

1

1


1

1

0

1


2

3

0

1


2

3

"0"-->[R]-->[PSW(0)] "0"-->[RQ]-->

>[R]-->[PSW(0)] --> -->[RQ]-->

| _________________| | _________|

[PSW(0)]-->[R]------->[RQ]-->[PSW(0)]

[(F15[+]OVR)]-->[R]--->[RQ]-->[PSW(0)]

[PSW(0)]<--[R]<--"0" <--[RQ]<--"0"

<--[PSW(0)]<--[R]<- <--[RQ]<--

| _________________| | _________|

[PSW(0)]<--[R]<--------[RQ]<--"1"

[PSW(0)]<--[R]<--------[RQ]<--"0"


M8 25 - 24

M9 23 – 21

Управление входом переноса.

Управление источниками операндов АЛУ.

Код

Значение вх.переноса

Код

R :: S

Код

R :: S

0

1

2

3

"0"

"1"

PSW[0]

NOT PSW[0]

0

1

2

3

A :: Q

A :: B

0 :: Q

0 :: B

4

5

6

7

0 :: A

D :: A

D :: Q

D :: 0


M10 20 - 18 Управление операцией АЛУ.

Код Операция Код Операция

0 -- R+S+C0 4 -- R & S

1 -- S-R-1+C0 5 -- NOT(R) & S

2 -- R-S-1+C0 6 -- R [+] S

3 -- R V S 7 -- NOT(R [+] S)


M11 17 - 15 Управление приемником результата АЛУ.

Код

Сдвиг РЗУ

Загрузка РЗУ

Сдвиг RQ

Загрузка RQ

Выход "Y"

0

1

2

3

4

5

6

7

--

--

--

--

-->

-->

<--

<--

--

--

F-->B

F-->B

F/2-->B

F/2-->B

2*F-->B

2*F-->B

--

--

--

--

-->

--

<--

--

F-->Q

--

--

--

Q/2-->Q

--

2*Q-->Q

--

F

F

A

F

F

F

F

F


M12 14 - 12 Управление входной шиной D.

0 - RDI-->D

1 - ZI-->D

2 - M1-->D

3 - PSW-->D

4 -- RDI-->D ; BI-->RDI

5 -- ZI-->D ; BI-->RDI

6 -- M1-->D ; BI-->RDI

7 -- RDI-->D ; BI-->RDI ; BI-->RK

M13 11 - 10 Управление регистром состояния.

0 -- сохранение PSW

1 -- загрузка по признакам МПС К1804ВС1

2 -- загрузка с учетом сдвигов

3 -- загрузка с шины "Y"

PSW

M13=1

M13=2

М13=3

0

1

2

3

4

5

6

7

C16-перенос в старший разряд

OVR-сигнал переполнения

Z-сигнал нулевого результата

F15-знак результата

--

--

--

--

Выталкиваем. разряд

OVR-сигнал перепол.

Z-сигнал 0 результата

F15 [+] OVR

--

--

--

--

Y[0]

Y[1]

Y[2]

Y[3]

Y[4]

Y[5]

Y[6]

Y[7]


M14 9 - 8 Управление выходной шиной Y.

0-- --

1 --Y --> RDO

2 -- Y --> MAR

3 -- --


M15 7 - 0 Управление вводом-выводом.

Поле кодировки пользователя.

СОДЕРЖАНИЕ

Основные сведения

Задание на курсовое проектирование

Этапы и порядок выполнения проекта

Описание структуры базовой микроэвм

Разработка алгоритма работы процессора

Составление диаграмм микропрограмной логики

Кодирование микропрограмм

Отладка микропрограмм на кросс-системе

Расчёт быстродействия процессора

Оформление отчетной документации

Литература .

Приложение1. Структурные схемы К1804ИР1, К1804ВУ1, К1804ВУ2, К1804ВУ3, К1804BС1

Приложение2. Справочник учебной кросс-системы