МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО
ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
![]() |
Курсовой проект
По дисциплине «Схемотехника»
Разработка прототипа ядра микроЭВМ
Группа: АМ-710
Студент:
Проверил:
Новосибирск 2010
Оглавление.
Оглавление. 2
Введение. 3
Цели разработки. 4
1. Общие исходные данные. 4
2. Индивидуальные исходные данные. 5
3. Разработка микропроцессора. 5
4.1. Формат команд и формат данных. 5
4.2. Разработка операционного блока МП. 8
4.2.1 Расчёт длительности цикла ОБ. 12
4.3. Разработка микропрограммного устройства управления МП. 13
4.3.1 Расчёт длительности цикла МУУ. 17
4.4. Формат микрокоманд. 18
Таблица 1. Формат микрокоманды. 18
5. Разработка блока синхронизации. 19
6. Схема начальной установки. 19
Заключение. 20
Список литературы. 21
Введение.
Курсовой проект направлен на достижение нескольких целей:
· В освоении элементов методологии проектирования аппаратных средств вычислительной техники;
· В приобретение практического опыта разработки функциональных устройств и узлов, выполнения схемотехнических расчётов и оформления схемной документации;
· В закреплении и углублении знаний о современной элементной базе.
Разработка прототипа ядра микроЭВМ состоит из нескольких этапов. На начальном этапе, после получения технического задания, ведётся определение недостающих данных. На следующем этапе идёт разработка структуры ядра, определяются его основные функциональные элементы. В дальнейшем производится понижении уровня иерархии. Рассматривается отдельно каждый из составных элементов. Одновременно с этим идёт процесс формирования формата микрокоманды. После разработки составных частей ядра идёт расчёт длительности цикла, и на финальном уровне строятся временные диаграммы, отражающие работу полученного прототипа.
Цели разработки.
Основной целью разработки является достаточно глубокое изучении основ функционирования составных элементов микропроцессоров и способах и возможностях их взаимодействия.
А также целями являются наиболее существенные желаемые характеристики прототипа ядра микроЭВМ:
- высокое быстродействие (производительность); простота и надежность схемных решений.
Под надежностью понимаются отсутствие в схемах критических временных соотношений, рисков сбоя и гонок сигналов, использование унифицированных способов обмена между устройствами и т. п.
1. Общие исходные данные.
В состав разрабатываемого объекта входят:
1) Микропрограммируемый микропроцессор,
2) Запоминающие устройства (ЗУ), реализующие функции основной памяти,
3) Средства интерфейса, обеспечивающие информационную и электрическую совместимость процессора и ЗУ,
4) Блок синхронизации.
Структура прототипа ядра микроЭВМ приведена на рисунке 1.

Рис. 1. Структура прототипа ядра микроЭВМ.
Интерфейс реализуется на основе магистрали и логических(функциональных) узлов, являющихся составной частью процессора и/или других элементов ядра микроЭВМ.
Прототип ядра микроЭВМ должен соответствовать следующим требованиям к его характеристикам и параметрам:
Ø Система команд гипотетическая. Форматы команд: одно-, двухадресные и безадресные. Допускается детализация структуры ядра только для одно - и двухадресного форматов команд;
Ø Количество программно-доступных регистров общего назначения - не менее 8;
Ø Формат представления данных в процессоре - с фиксированной точкой целочисленный в дополнительном коде и с разрядностью слова, определяемой индивидуальными исходными данными;
Ø Минимальный доступный элемент данных памяти, непосредственно адресуемой процессором, - слово;
Ø Разрядность адреса памяти равна разрядности данных;
Ø Структура магистрали - трёхшинная;
Ø Обмен данными процессор - память (рекомендуемый) - синхронный без квитирования (без подтверждения готовности памяти и циклов ожидания процессора);
Ø Процессор должен быть оснащён схемными средствами поддержки начальной установки при включении и возобновлении (после сбоев) питания.
2. Индивидуальные исходные данные.
Индивидуальные исходные данные определяют требования к составу, разрядности и элементной базе процессора, а также к функциональному составу и ёмкости основной памяти.
Состав, элементная база и разрядность операционного блока:
Процессорный модуль: Am29332.
Регистровый файл: Am29334.
Разрядность: 32 бит.
Требования к микропрограммному устройству управления:
Секвенсер микрокоманд: Am29331, разрядность адреса 16 бит;
Емкость МПП: 8 Кслов (МПП со средствами контроля паритета).
Функциональный состав и ёмкость основной памяти:
Память SRAM. Информационная ёмкость - 1 МБ, разрядность – 32
Память Flash. Информационная ёмкость – 1 МБ, разрядность 32 бит
3. Разработка микропроцессора.
В состав микропроцессора(МП) входят два основных блока: Операционный Блок(ОБ) и Микропрограммное Устройство Управления (МУУ).
Для разработки структуры МП понадобятся представления о формате команд, системе микрокоманд, особенностях временной организации заданных БИС/СБИС, о структурной организации ОБ и МУУ процессора.
При дальнейшем продвижении будем постепенно формировать формат микрокоманд, который будет приведён в виде таблицы.
Определение недостающих исходных данных следует начать с выбора форматов команд.
4.1. Формат команд и формат данных.
Процессор предназначен для обработки различных поступающих ему данных. Данные представляют собой 32-х битовые слова, хранящиеся в памяти. Формат представления данных в процессоре - с фиксированной точкой целочисленный в дополнительном коде.
Обработка данных производится в соответствии с конкретно указанной операцией, содержащейся в соответствующем поле команды ( КОП – код операции). Данные являются операндами команд.
В различных микроЭВМ применяются разные типы форматов команд – от очень простых и наглядных, до более сложных [2, с. 234]. Введём 8 основных типов различных команд, в которых применяются разные способы адресации.
1) Команда типа Регистр - Регистр.
Данная команда является основной и выполняет операции над содержимым регистров. Из памяти извлекает команда в регистр команд, а регистры исходных данных RG A и RG B задаются в качестве источников двух операндов для АЛУ. RG B, являясь источником входных данных, служит в тоже время регистром результата, т. е. результат операции, выполненной в АЛУ, помещается в регистр, определяемый полем регистра RG B [2, с. 234].
Определим формат, учитывая особенности заданного регистрового файла Am29334, а точнее его организацию (64х18) бит. Выделим 6 бит для адресации регистров RGA и RGB, что будет соответствовать 64 доступным регистрам.
Для задания правой границы обрабатываемого битового поля выделим 6 бит, и ещё 6 бит отведём для задания ширины битового поля (особенности центрального процессорного модуля Am29332).
Для кода операции отведём 8 бит, что позволит нам закодировать 256 различных команд. Оставим один резервный бит.
Получили формат команды, представленный ниже:
0 7 | 8 13 | 14 19 | 20 25 | 26 30 | 31 |
КОП | RG A | RG B | P | W |
2) Команда типа Регистр - Память.
0 7 | 8 13 | 14 19 | 20 25 | 26 30 | 31 |
КОП | X1 | RG B | P | W |
При выполнении команды этого типа содержимое ячейки памяти, на которую указывает значение регистра, определяемого полем X1, извлекается из памяти и выполняется операция над извлечёнными данными и содержимым регистра RG B. Результат заносится в регистр RG B [2, c. 236].
3) Команда типа Память - Память.
0 7 | 8 13 | 14 19 | 20 25 | 26 30 | 31 |
КОП | X1 | Х2 | P | W |
При выполнении команды этого типа выбираются данные из ячейки памяти, на которую указывает содержимое регистра, определяемого полем X1, и из ячейки, на которую указывает содержимое регистра, определяемого полем X2, а затем над этими операндами выполняется соответствующая операция. Результат заносится в ячейку памяти по X2 [2, c. 237].
4) Команда типа Регистр - Индексируемая память.
0 7 | 8 13 | 14 19 | 20 25 | 26 30 | 31 |
КОП | Х1 | RG B | P | W | |
32 63 | |||||
Адрес |
При выполнении команды этого типа данные регистра, определяемого полем X1, прибавляются к адресу, содержащемуся во второй части команды (биты 32-63). Сформированный таким образом адрес используется для выборки из памяти операнда, который по КОП взаимодействует с содержимым регистра RG B. Результат заносится в регистр RG B. [2, c. 238]
Достоинство команд такого типа состоит в том, что вторые 32 бит могут выполнять роль либо адреса, либо данных, которые используются в качестве непосредственных значений [2, с. 235].
5) Команда типа Память - Индексируемая память.
0 7 | 8 13 | 14 19 | 20 25 | 26 30 | 31 |
КОП | Х1 | Х2 | P | W | |
32 63 | |||||
Адрес |
При выполнении команды этого типа данные регистра, определяемого полем X1, прибавляются к адресу, содержащемуся во второй части команды (биты 32-63) для формирования нового адреса. Этот адрес используется для выборки из памяти первого операнда команды. Второй операнд получаем, адресуя память посредством содержимого регистра, задаваемого полем X2. После произведения над операндами операции по КОП результат записывается в ячейку памяти по X2 [2, c. 240].
6) Команда типа Регистр – Непосредственные данные.
0 7 | 8 13 | 14 19 | 20 25 | 26 30 | 31 |
КОП | RG B | P | W | ||
32 63 | |||||
Данные |
Команда такого типа очень удобная. Она дает возможность выполнять операции над содержимым регистра RG B и непосредственными данными, представленными во второй части команды (биты 32-63). Результат заносится в регистр RG B [2, c. 241].
7) Команда типа Память – Непосредственные данные.
0 7 | 8 13 | 14 19 | 20 25 | 26 30 | 31 |
КОП | Х2 | P | W | ||
32 63 | |||||
Данные |
Команда этого типа служит для произведения операций над непосредственными данными, представленными во второй части команды (биты 32-63), и содержимым ячейки памяти. Адрес этой ячейки находится в регистре, задаваемом полем X2.
Команда этого типа аналогична команде типа регистр – непосредственные данные с той лишь разницей, что при ее выполнении применяется схема косвенной адресации. Результат заносится в ячейку памяти по X2 [2, c. 241].
8) Команда безусловного перехода.
0 7 | 8 13 | 14 19 | 20 25 | 26 30 | 31 |
КОП | RG b | P | W | ||
32 63 | |||||
Адрес |
Команда этого типа служит для безусловного перехода к ячейке на которую указывает содержимое регистра RG B либо непосредственно, либо в сумме с содержимым поля Адрес [2, c. 451].
4.2. Разработка операционного блока МП.
После определения формата команд можно приступить к разработке ОБ.
В основе ОБ лежит центральный процессорный элемент (ЦПЭ). Конкретный типономинал ЦПЭ Am29332. Также в состав ОБ входит регистровый файл (Am29334). Изучим документацию[1] по данным элементам, выявим их основные особенности функционирования и взаимодействия. В процессе будем постепенно формировать структурную схему ОБ, дополняя её недостающими нам элементами.
Устройства Am29332 и Am29334 выполнены по технологии ТТЛ и имеют напряжение питания 5 В, что накладывает ограничения на выбираемые дополнительные недостающие элементы.
Регистровый файл Am29334.
Am29334 представляет собой 4-портовую регистровую память с двухсторонним доступом с организацией (64x18) бит. Имеет два порта записи и два порта считывания для данных и четыре 6-битовых адресных порта. Пара адресных портов (один для записи и один для чтения) связана с соответствующей парой портов записи и чтения данных. Многопортовая организация и развитое управление прибора позволяет выполнять два чтения и две записи за один цикл. Документация представлена в [1, c. 45].
Разрядность регистрового файла позволяет сохранять контрольные биты, сопровождающие два информационных байта, и поддерживает контроль и генерацию паритета в ЦПЭ Am29332.
Для получения требуемой по заданию разрядности слова в 32 бита используется параллельное соединение двух микросхем Am29334.
Т. к. нет необходимости сверке контрольных битов, то соответствующие линии шины для двух регистровых файлов не задействованы. Так же не задействованы и соответствующие входы и выходы на ЦПЭ и РФ. Таким образом, получена стандартная и требуемая в задании разрядность в 32 бита.
Внутренний адресный мультиплексор микросхемы Am29334 выбирает адрес чтения АRA, когда
АC= Н, и адрес записи АWA при
АC=L. Также для того чтобы происходила запись должно выполняться условие
AL=
AH=L (
BL=
BH=L)
Обычно на входы LЕA и LЕB подаются тактовые импульсы СP, что и сделано в данной разработке. В первой половине цикла (СP=Н) осуществляется чтение регистра с адресом АRA и вывод его содержимого в YA-шину через прозрачную защелку. Во второй половине цикла (СP=L) производится запись новых данных с шины DA в регистр с адресом АWA. В режиме записи выходной регистр-защелка сохраняет данные, прочитанные в первой половине цикла Входы
A и
B можно заземлить, т. к. нет устройств, которые использовали бы данную выходную шину, кроме ЦПЭ.
Центральный процессорный элемент Am29332.
СБИС представляет собой нерасширяемый 32-разрядный центральный процессорный модуль. Содержит трехвходовое комбинационное АЛУ. Время цикла для всех инструкций одинаковое. Имеет два входных и один выходной порты данных, обеспечивающие возможность компоновки параллельных или магистральных структур. Регистровый файл отделен от ЦПЭ и выполнен в виде автономного прибора Am29334. Внутренний 64-разрядный групповой сдвигатель выполняет сдвиг влево, вправо или циклический на заданное число разрядов в одном цикле. Поддерживает 1-, 2-, 3- и 4-байтовые форматы данных для всех операций и битовые поля переменной длины для логических операций. Оснащён встроенными схемными средствами выполнения многотактных операций (умножения - по модифицированному алгоритму Бута и деления по алгоритму без восстановления остатка). Имеет развитые встроенные средства контроля ошибок.
При использования ЦПЭ применена стандартная сквозная структура. Выход ЦПЭ соединен через внутреннюю шину данных со входом РФ через порт В, что позволяет ЦПЭ получать данные со своего выхода и с внешней шины данных, при сквозном их прохождении.
Так как используется одна ИМС Am29332, то на вход SLAVE ЦПЭ подан логический ноль, что обеспечивает работу ЦПЭ в режиме «Ведущий». Вход HOLD управляется микропрограмно. При HOLD=Н обеспечивается режим хранения статусного регистра и Q-регистра.
Входы I0-6 есть биты инструкции, определяющие выполняемую операцию ЦПЭ, а I7,I8 - входы задания байтовой ширины операндов в инструкциях для операндов c выровненными байтовыми границами. Для операндов, представляющих собой битовые поля переменной длины, I7, I8 выбирают источник задания ширины W поля и его позиции Р в разрядной сетке. Если I7 =L, ширина W входных данных выбирается с шины W0-4 (данные на нее поступают из регистра команд – Рг. К – биты 26..30 – см. формат команд), при I7=Н ширина W выбирается из соответствующих разрядов статусного регистра. Аналогично, при I8 = L позиция Р выбирается с шины Р0-5 (данные на нее поступают из регистра команд – Рг. К – биты 20..25 – см. формат команд), и при I8 = Н - из статусного регистра.
С шины признаков биты статусного слова C, Z,N, V,L отправляются в секвенсор микрокоманд.
КА1843ВС1 имеет возможность выбора, откуда выводить флаги состояния: непосредственно из АЛУ или из статусного регистра, этот выбор будет осуществляется при помощи бита микрокоманды подаваемого на вход RS. Шина флагов выводится ко входам Т7…Т11 секвенсора микрокоманд Am29331 в соответствии с документацией [1].
Бит сдвига L передается на седьмой вход тестирования условий T7. Данный вход обозначен как вход общего назначения и может использоваться для передачи флага L. Выбор тестирования условия осуществляется микропрограмно.
Выход OEY заземляем, т. к. нет необходимости переводить выходную шину АЛУ в высокоимпедансное состояние, это можно осуществить при помощи интерфейсных регистров.
Выбор недостающих элементов.
Для обеспечения программного и микропрограммного управления будем использовать мультиплексоры, посредством которых будет осуществляться выбор данных и адреса. Также необходимо исключить конфликты на внешних шинах. Для этого будем использовать регистры.
(поиск документации производился на интернет ресурсах [3, 4, 5, 6, 7]).
В качестве мультиплексора используем микросхемы фирмы Texas Instruments – SN74CBT16233, с напряжением питания 5 В. Данная мкиросхема является 16-ти разрядным мультиплексором 2 в 1 (или демультиплексором).
В качестве входного регистра данных (RG Din) и регистра адреса (RG A) будем использовать по два тактируемых 16-ти разрядных регистра фирмы IDT – FCT16374AT, с тремя состояниями выходов, напряжением питания 5 В.
В качестве выходного регистра данных (RG Dout) будем использовать два 16-ти разрядных регистра защёлки фирмы IDT - FCT16373AT, с тремя состояниями выходов, напряжением питания 5 В.
Для организации условного тактирования регистра выходных (RG Dout) данных нам потребуется логический элемент 2ИЛИ-НЕ. Воспользуемся микросхемой фирмы Texas Instruments – SN74F02, с напряжением питания 5 В
Для организации условного тактирования регистра адреса (RG A) данных нам потребуется логический элемент 2И. Воспользуемся микросхемой фирмы Texas Instruments – SN74F08, с напряжением питания 5 В.
В структурной схеме ОБ(см. рис.1 ниже) В качестве MUX1 используется 2 микросхемы выбранного мультиплексора для обеспечения мультиплексирования 32-разрядной шины данных. На селекторный вход подаются биты микроинструкции, а также на одну из входных шин данных. Это сделано для того чтобы выбирать какие данные загружать в регистровый файл, либо с шины данных, либо непосредственно из микрокоманды.
В качестве MUX2 и MUX3 применяется одна микросхема, так как она позволяет использовать 16-ти разрядный мультиплексор как два восьмиразрядных (посредством селекторных сигналов SEL1 и SEL2). В нашем случае это сделано для того чтобы выбирать адресацию портов A и В либо из регистра команд, либо из микрокоманды.
Регистр входных данных тактируется фронтом синхросигнала. Таким образом новые данные для обработки в АЛУ будут приняты с началом нового такта. Регистр отключается от шины при подаче на вход #OE соответствующего бита микрокоманды. (см. Таблицу 1 или рис. 1)
Условное тактирование регистра выходных данных организуем следующим образом: На один вход логического элемента 2ИЛИ-НЕ подадим синхросигнал из блока синхронизации, а на второй вход будем подавать сигнал из регистра микрокоманд. Этот сигнал будет отвечать за защёлкивание данных в регистре по приходу высокого уровня синхросигнала. Выход ЛЭ соединим с соответствующим входом регистра. Таким образом на низком уровне тактового сигнала регистр будет прозрачен и как только придёт высокий уровень, он защёлкнет последние находившиеся данные на его входах. Тем самым мы сможем обеспечить хранение (удержание) данных или адреса в следующем цикле после их формирования (в зависимости от соответствующей микрокоманды). Это необходимо для того чтобы обеспечить нормальное выполнение циклов записи и чтения для памяти. Учитывая наши рассуждения и выбранный типономинал логического элемента, сигнал поступающий из микрокоманды должен иметь активный низкий уровень. Данный факт необходимо зафиксировать в формате микрокоманды (см. Таблицу 1). Отключение от шины производится подачей соответствующего бита микрокоманды.
Условное тактирование регистра адреса организуем следующим образом: На один вход логического элемента 2И подадим синхросигнал из блока синхронизации, а на второй вход будем подавать сигнал из регистра микрокоманд. Этот сигнал будет отвечать за приём данных в регистре по приходу среза синхросигнала. Выход ЛЭ соединим с соответствующим входом регистра. Учитывая наши рассуждения и выбранный типономинал логического элемента, сигнал поступающий из микрокоманды должен иметь активный высокий уровень. Данный факт необходимо зафиксировать в формате микрокоманды (см. Таблицу 1). Так как выставление адресов на шину адреса осуществляется только одним устройством, посредством регистра адреса, то нет никакой необходимости отключать этот регистр от шины. Тем самым на вход #OE регистра подадим логический ноль.
Учитывая все рассуждения и проведённый анализ соответствующей документации, приведём функциональную схему разработанного нами операционного блока на рисунке 2.

Рис. 2. Функциональная схема операционного блока микропроцессора.
4.2.1 Расчёт длительности цикла ОБ.
При оценке длительности цикла отыскивается критический путь распространения сигналов, который вносит максимальную задержку. Таким образом, минимальный временной цикл работы устройства обычно определяется суммой задержек, вносимых компонентами самого длинного тракта, по которому передаются сигналы.
Рассмотрим несколько таких путей:
Путь 1.
RG K – MUX2,3 – RGF – ALU – Время предустановки данных для RG Dout.
Распишем подробно каждую из задержек.
Ø RG K – Задержка распространения сигнала от прихода тактового импульса, до выхода 6,5 нс.
Ø MUX2,3 – Задержка распространения сигнала в мультиплексоре 5,3 нс.
Ø RGF – Время выборки данных 24 нс.
Ø ALU – Задержка распространения сигналов от входов данных, до выхода 35 нс.
Ø Время предустановки данных для RG Dout 2 нс.
В итоге получаем суммарную задержку: 6,5+5,3+24+35+2=72,8 нс.
5,3
Путь 2.
RG K – MUX2,3 – RGF – ALU(выход формирования флагов статусного регистра)
Распишем подробно каждую из задержек.
Ø RG K – Задержка распространения сигнала от прихода тактового импульса, до выхода 6,5 нс.
Ø MUX2,3 – Задержка распространения сигнала в мультиплексоре 5,3 нс.
Ø RGF – Время выборки данных 24 нс.
Ø ALU – Задержка распространения сигналов от входов данных, до выходов статусного регистра 43 нс.
В итоге получаем суммарную задержку: 6,5+5,3+24+43=78,8 нс.
Путь 3.
RG Din – MUX1 – RGF – ALU – Время предустановки данных для RG Dout.
Распишем подробно каждую из задержек.
Ø RG Din – Задержка распространения сигнала от прихода тактового импульса, до выхода 6,5 нс.
Ø MUX1 – Задержка распространения сигнала в мультиплексоре 5,3 нс.
Ø RGF – Задержка распространения сигнала от входов до выходов 33 нс.
Ø ALU – Задержка распространения сигналов от входов данных, до выхода 35 нс.
Ø Время предустановки данных для RG Dout 2 нс.
В итоге получаем суммарную задержку: 6,5+5,3+33+35+2=81,8 нс.
Путь 4.
RG Din – MUX1 – RGF – ALU – Время предустановки данных для RG Dout.
Распишем подробно каждую из задержек.
Ø RG Din – Задержка распространения сигнала от прихода тактового импульса, до выхода 6,5 нс.
Ø MUX1 – Задержка распространения сигнала в мультиплексоре 5,3 нс.
Ø RGF – Задержка распространения сигнала от входов до выходов 33 нс.
Ø ALU – Задержка распространения сигналов от входов данных, до выходов статусного регистра 43 нс.
Ø Время предустановки данных для RG Dout 2 нс.
В итоге получаем суммарную задержку: 6,5+5,3+33+43=87,8 нс.
В итоге получили что самый длинный тракт распространения сигнала – 4. Минимальная длительность цикла работы ОБ составляет 87.8 нс » 88 нс.
4.3. Разработка микропрограммного устройства управления МП.
МУУ представляет собой конвейер, функциональное назначение которого – получив команду из основной памяти синхронно выдавать микрокоманды, которые входят в данную команду.
В основе МУУ лежит секвенсор микрокоманд Am29331 имеющий 16-разрядную шину адреса. Согласно заданию необходимо обеспечить емкость микропрограммной памяти в 8Кслов.
Кроме СК в состав МУУ входят 32-разрядный регистр команд RG К, преобразователь начального адреса (ПНА), реализованный в виде программируемой памяти PROM, микропрограммная память (МПП), представляющая собой энергонезависимую память PROM, регистр микрокоманд RG МК. В разработке используется стандартная структура МУУ. Структурная схема МУУ представлена на рисунке 3.
Рис. 3. Структурная схема микропрограммного устройства управления.
Регистр команд.
В качестве регистра команд будем использовать два тактируемых 16-ти разрядных регистра фирмы IDT – FCT16374AT, с тремя состояниями выходов, напряжением питания 5 В. В данный регистр заносится управляющая команда, часть битов которой, в дальнейшем, поступает в преобразователь начального адреса (ПНА), а часть направляется в ОБ. Команда заносится в регистр по фронту синхросигнала поступающего из блока синхронизации. Отключение выходов регистра происходит по средством подачи на вход #OE соответствующего бита микрокоманды (см. Таблицу 1).
Преобразователь начального адреса.
Так как на код операции (КОП) было выделено 8 бит, то соответственно этим числом разрядов мы можем адресовать 256 команд. Начальный адрес, выдаваемый на секвенсор имеет разрядность 16 (по свойству секвенсера). Таким образом мы сформировали требование к информационной организации ПНА. В качестве ПНА будем использовать память типа EPROM фирмы CYPRESS. Дабы улучшить временные показатели работы МУУ выберем из найденной документации память, имеющую самое малое время доступа – 25 нс. Выбранная ИМС - 7C281A-25 имеет информационную организацию (1Кх8)бит и напряжение питания 5 В. Данные характеристики удовлетворяют нашим требованиям.
Так как нам необходимо адресовать всего 256 слов памяти, то старшие два бита адреса не будут задействованы в адресации. Для получения необходимой разрядности адресуемого слова будем использовать 2 микросхемы соединённые параллельно.
Секвенсер микрокоманд.
БИС Am29331 имеет фиксированную разрядность 16 бит, объём адресуемой памяти микропрограмм до 64К слов. Поддерживает прерывания реального времени на макро - и микроуровнях управления с временем реакции, не превышающем длительность микроцикла. Обладает встроенной логикой тестирования входных условий, а также встроенной логикой обнаружения контрольной точки в микрокоде для отладки микропрограмм и накопления статистики. Обеспечивает контроль ошибок в режиме “ведущий-ведомый”. Содержит 33-уровневый стек для организации вложенных прерываний, циклов и подпрограмм [1, c. 22].
В разработанном МУУ используется лишь часть функциональных возможностей секвенсера, поэтому соответствующие входы устанавливаются в пассивное состояние.
Работа МУУ управляется сформированными нами микрокомандами. На входы тестирования внешних условий T11...T7. Подаются флаги условий из ЦПЭ.
Так как используется контроль по паритету для МПП, то сигнал об ошибке будем подавать на вход Т6 (Если Т6=L, то возникла ошибка при чтении).
На вход #RST будем подавать сигнал с выхода схемы начальной установки, так как по заданию процессор должен быть оснащён схемными средствами поддержки начальной установки при включении и возобновлении (после сбоев) питания.
Микропрограммная память.
Согласно заданию объем МПП должен составлять 8Кслов. Это меньше, чем может адресовать секвенсер. Поэтому три старших бита адреса в выходной шине Y[15..0] не используются. Разрядность микрокоманды определяется полученным нами форматом микрокоманды (Таблица 1). Разрядность равна 98 бит.
Таким образом, мы получили требования к информационной организации памяти необходимые для выбора типономиналов памяти для МПП (8Кх98) бит.
В качестве МПП будем использовать память типа EPROM фирмы AMD. Дабы улучшить временные показатели работы МУУ выберем из найденной документации память, имеющую самое малое время доступа – 45 нс. Выбранная ИМС – Am27C64-45 имеет информационную организацию (8Кх8)бит и напряжение питания 5 В. Данные характеристики удовлетворяют нашим требованиям.
Для получения необходимой разрядности слова нам необходимо использовать 13 микросхем выбранного типономинала памяти.
В задании указано что МПП должна использовать средства контроля паритета. Так как данная память используется только для чтения, то паритетные биты заранее в неё прошиты. Контрольная сверка происходит при чтении микрокоманды из памяти. И если возникла ошибка, то сигнал сформированный микросхемой сверки направляется в секвенсер, для повторного цикла обращения к памяти.
Таким образом всего необходимо использовать 14 микросхем выбранного типономинала памяти. В 13 микросхеме биты DQ2..DQ7 уже будут являться паритетными, а DQ0..DQ1 будут относиться к битам микрокоманды MK96 и MK97. В 14 микросхеме биты DQ0..DQ5 также являются паритетными. Оставшиеся биты не используются.
На входы #OE и #CE подаём «0», так как нет необходимости отключать МПП.
Контроль МПП по паритету.
Для контроля по паритету будем использовать микросхему для свёртки и проверки паритета фирмыTexas Instruments – 74ACT11286, с напряжением питания 5 В и максимальным временем прохождения сигнала от входов до генерации паритета 12 нс, и от входов до сигнала ошибки 12,9 нс.
Для организации проверки паритета необходимо будет использовать 13 микросхем для сверки на чётность после каждого модуля памяти (в которых хранится МК), и ещё 2 микросхемы для выявления возникновения ошибки. Также для формирования одного сигнала ошибки воспользуемся вентилем 2И-НЕ фирмы Texas Instruments – SN74F00.
Функциональная схема контроля паритета приведена на рисунке 4.

Рис. 4. Функциональная схема контроля паритета для МПП.
Регистр микрокоманд.
В качестве регистра команд будем использовать 7 тактируемых 16-ти разрядных регистра фирмы IDT – FCT16374AT, с тремя состояниями выходов, напряжением питания 5 В.
В данный регистр поступает целая микрокоманда, а затем выдаётся на управляющую шину CB. Микрокоманда заносится в регистр по фронту синхросигнала поступающего из блока синхронизации. Отключение выходов регистра происходит по средством подачи на вход #OE соответствующего бита микрокоманды (см. Таблицу 1).Таким образом мы сформировали микропрограммное устройство управления. Функциональная схема МПП приведена на рисунке 5.
|
Рис. 5. Функциональная схема Микропрограммного устройства управления.
4.3.1 Расчёт длительности цикла МУУ.
Рассчитаем длительность цикла микропрограммного устройства управления.
Рассмотрим несколько трактов распространения сигналов:
Путь 1:
RG K – ПНА – SEQ – МПП + время предустановки данных для RK MK.
Распишем подробно каждую из задержек.
Ø RG K – Задержка распространения сигнала от прихода тактового импульса, до выхода 6,5 нс.
Ø ПНА – Задержка распространения сигнала от входов адреса до выхода данных 25 нс.
Ø SEQ – Задержка распространения сигнала от входа D до выхода Y 19 нс.
Ø МПП – Задержка распространения сигналов от входов адреса, до выхода 45 нс.
Ø Время предустановки данных для RG МК 2 нс.
В итоге получаем суммарную задержку: 6,5+25+19+45+2=97,5 нс.
Путь 2:
ПНА – SEQ – МПП + время предустановки данных для RK MK.
Распишем подробно каждую из задержек.
Ø SEQ – Задержка распространения сигнала от входов тестирования до выхода Y 25 нс.
Ø МПП – Задержка распространения сигналов от входов адреса, до выхода 45 нс.
Ø Время предустановки данных для RG МК 2 нс.
В итоге получаем суммарную задержку: 25+45+2=72 нс.
Самый длинный тракт распространения сигналов в МУУ – 1. Минимальная длительность цикла работы МУУ составляет 97,5 нс » 98 нс.
Так как длительность цикла микропроцессора определяется самой медленной его составляющей, то минимальный цикл его работы составит 98 нс.
4.4. Формат микрокоманд.
В процессе разработки ОБ и МПП происходило формирование формата микрокоманд. В таблице 1 приведём полученные результаты.
Таблица 1. Формат микрокоманды.
Приемник | Номер бита в МК | Название сигнала | Назначение сигнала | Уровень активности |
ЦПЭ | 0..8 | I0…I8 | Биты инструкций и задания ширины операндов | |
9 | HOLD | Бит разрешения хранения состояния статусного регистра и Q-регистра | H | |
10 | RS | Бит выбора флагов из АЛУ (L) или из регистра состояния (H) | L/H | |
Регистровый файл и его обвязка | 11..16 | Awa, Ara | Адреса для порта А (MUX2) | |
17..22 | Awb, Arb | Адреса для порта B (MUX3) | ||
23..54 | DA0..DA31 | Биты задания операнда А через МК (MUX1) | ||
55 | S | Бит селекции мультиплексора MUX1 | H | |
56 | S | Бит селекции мультиплексора MUX2 | H | |
57 | S | Бит селекции мультиплексора MUX3 | H | |
58 | #WEac | Разрешение записи по порту А | L | |
59 | #WEbc | Разрешение записи по порту В | L | |
Регистр входных данных RG Din | 60 | #OE | Разрешение вывода данных | L |
Регистр выходных данных RG Dout | 61 | #OE | Разрешение вывода данных | L |
62 | LE | Управление защёлкиванием данных | H | |
Адресный регистр RG A | 63 | С | Управление тактированием регистра | H |
Регистр команд RG K | 64 | #OE | Разрешение вывода данных | L |
Регистр микрокоманд RG MK | 65 | #OE | Разрешение вывода данных | L |
Секвенсер микрокоманд | 66 | Cin | Входной перенос инкремента | L |
67..70 | S3..S0 | Биты для тестирования одного из 16-ти тестируемых условий | ||
71..76 | I5..I0 | Биты выбор одной из 64 инструкций для секвенсера | ||
77 | FC | Бит задания CONTINUE не зависимо от инструкций для севенсера | H | |
78..93 | A15..A0 | Биты для задния данных на дополнительную входную шину | ||
Управление памятью | 94 | MEMR | Бит обращения к памяти | H |
95 | #WE | Бит обращения к памяти по записи/чтению | L |
5. Разработка блока синхронизации.
Имея в распоряжении информацию о длительности цикла работы микропроцессора можно приступить к разработке блока синхронизации (БС).
БС формирует тактовые импульсы определённой частоты, подаваемые на тактовые входы элементов разработанного микропроцессора.
Определим необходимую частоту тактовых импульсов.
Ранее определили, что время цикла равно tц=100 нс (для памяти, РГР прошлый семестр). Откуда получаем частота сигналов:
.
На современном рынке интегральных микросхем присутствует множество разнообразных микросхем для задания требуемых тактовых сигналов
Свой выбор остановим на микросхеме фирмы CYPRESS – CY25702. Выбранный типономинал представляет собой программируемый высокочастотный кварцевый генератор. Данная ИМС позволяет получить выходной сигнал частотой от 1 до 125 МГц при напряжении питания 5 В, что полностью удовлетворяет нашим требованиям. Программирование осуществляется при помощи программного набора CY3672 и CY3617 (CY25702FJXC) или CY3618 (CY25702FXCT) разъёмных адаптеров.
6. Схема начальной установки.
Схема начальной установки должна обеспечивать подачу сигнала
при отключении или перебоях в питающем напряжении. Как было уже отмечено ранее сигнал
должен подаваться на вход
секвенсера микрокоманд.
В качестве микросхемы-детектора понижения питания была выбрана отечественная микросхема К1230ДП46.
Производитель рекомендует две схемы подключения детектора. На рисунке 9 приведена одна из них.

Рис. 9. Схема подключения детектора К1230ДП46.
Сигнал
может быть задержан с помощью дополнительной емкости CDLY. В случае, если в системе будет использован источник с быстрым нарастанием напряжения (<500 нс), рекомендуется, чтобы постоянная времени RCDLY была больше 5 мкс.
tDLY=RCDLYln( 1/ 1- Uth(МPU)/Uin), где Uth(МPU) - порог входа
микропроцессора.
Заключение.
В результате выполнения работы были разработаны: Микропроцессор (в состав которого входят ОБ и МУУ), основная память включающая в себя два типа RAM(SRAM) и ROM(Flash), блок синхронизации и схема начальной установки процессора. Объединяя все эти элементы в единую систему мы получили прототип ядра микроЭВМ, который удовлетворяет основным требованиям, предъявленным к нему в пунктах 2. Выполнены требования к составу, разрядности и элементной базе процессора, а также к функциональному составу и ёмкости основной памяти. Процессор обладает высоким быстродействием и простыми и надёжными схемными решениями.
В ходе разработке пришлось неоднократно обращаться к технической документации зарубежных производителей разнообразных интегральных микросхем. Это позволило немного изучить рынок современной электроники.
Список литературы.
1. Схемотехника. Руководство к курсовой работе/ – Новосибирск: НГТУ, 1997.
2. Дж. Мик, Дж. Брик. Проектирование микропроцессорных устройств с разрядно-модульной организацией: в 2 кн./ пер. с англ. - М.: Мир, 1984.
www. www. www. www. www.


