Разработка архитектуры специализированного микрокомпьютера

Автор: Пользователь скрыл имя, 09 Сентября 2011 в 09:28, курсовая работа

Описание работы

Микропроцессорные БИС относятся к классу микросхем, одной из особенностей которого является возможность программного управления работой БИС с помощью определенного набора команд. Эта особенность нашла отражение в программно-аппаратном принципе построении микропроцессорных систем, или микросистем (МС), - цифровых устройств или систем обработки данных, контроль и управления, построенных на базе одного или нескольких МП.

Содержание

Введение ………………………………………………………………………
1. Разработка архитектуры специализированного микрокомпьютера.
1.1. Анализ известных реализаций спецкомпьютеров, критика аналогов проектируемой системы, формулирование требований к разрабатываемому микрокомпьютеру ……………………………………………………..
1.2. Проектирование алгоритмов, выбор состава микроопераций и программирование задач …………………………………………………………
1.3. Разработка обобщенной структуры микроЭВМ на основе алгоритмов решения задач ……………………………………………………………
2. Проектирование основных структурных компонентов схемы микрокомпьютера.
2.1. Разработка схемы блока обработки данных ……………………………
2.2. Проектирование ОЗУ микрокомпьютера ………………….……….….
2.3. Разработка устройства управления ……………………………………..
2.4. Разработка системы ввода-вывода данных …………………………….
3. Проектирование внутреннего интерфейса микрокомпьютера.
3.1. Проектирование системы адресации …………………………………...
3.2. Включение системы прерываний в схему устройства управления спецкомпьютера ………………………………………………………………
3.3. Проектирование системы ПДП …………………………………………
3.4. Разработка блока регенерации памяти …………………………………
4. Разработка микропрограммного обеспечения.
4.1. Формат микрокоманды. Микропрограммная интерпретация команд языка компьютера ……………………………………………………………
4.2. Разработка микропрограмм арифметических операций ………………
4.3. Разработка служебного микропрограммного обеспечения …………...
Заключение ……………………………………………………………………
Литература …………………………………………………………………….

Работа содержит 1 файл

Курсач_ded-2.doc

— 1.06 Мб (Скачать)

      Рис. 3.1.4 Схема относительной адресации.

    При  формировании адресов с помощью  относительной адресации выполняются следующие действия.

    Пусть, например, в процессоре отрабатывается некоторая абстрактная команда  INC (E) 55610 . При трансляции данной команды вычисляется смещение 

     D = A - <CK> = 556 – 502 = 54. 

    В процессе выборки команды содержимое <СК>=500 передается на вход A оперативной памяти, в результате чего первая часть команды принимается в РК. Содержимое СК инкрементируется, и в РК выбирается величина смещения D. После этого содержимое <СК> наращивается еще раз и передается на вход АЛУ. На второй вход поступает смещение из РК, что в сумме дает исполнительный  адрес, равный 556. Сформированное значение передается на адресный вход ОЗУ, и адресуемое значение принимается в аккумулятор процессора.

    Значение  вычитаемого адреса <СК>=502 в данном примере обусловлено тем, что  после чтения команды в РК содержимое СК автоматически увеличивается до следующего адреса, равного 502.

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

     Тогда при объединении всех этих методов  по принципу суперпозиции получим схему вида (рис 3.1.5) реализующие все эти системы адресации. 

 
 
 
 
 
 
 
 
 
 

Рис.3.1.5. Система адресации.

 

     3.2. Включение системы прерываний в схему устройства управления спецкомпьютера  

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

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

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

    • Причиной внутри процессорных прерываний являются асинхронные события, которые имеют место в процессоре в ходе выполнения машинной команды;
    • Запросы на внутрисистемные прерывания вырабатываются периферийными устройствами системы: дисками, дисплеями и печатающими устройствами, - которые нуждаются в обслуживании;
    • К прерываниям, вызванным программными средствами, относятся прерывания, связанные с выполняемой в данный момент программой;
    • Межпроцессорные прерывания возникают при взаимодействии двух процессоров.

       Последовательность  действий при обработке прерываний следующая:

    • Распознавание запроса на прерывание;

      На  этом этапе происходит распознавание процессором запроса на прерывание, поступающего по линии запросов на прерывание. При этом процессор может определить, какое устройство  выдало запрос. Метод, используемый для такого выявления, определяется непосредственно структурой системы прерываний конкретной машины.

    • Запоминание состояния;

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

    • Маскирование прерываний;

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

    • Подтверждение прерывания;
    • В определённый момент процессор должен подтвердить, что прерывание обрабатывается, чтобы известить устройство, пославшее запрос, что оно может продолжать выполнение своих функций.
    • Вызов подпрограммы обработки прерывания;

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

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

     Согласно  задания на проектирование задана система прерываний по двухуровневой схеме, 8 прерываний от портов ввода/вывода и 11 дополнительных внутренних прерываний.

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

3.3. Проектирование системы  ПДП 

       Такой тип обращения к памяти организуется при обслуживании внешних устройств, которые требуют быстрого ввода  данных в режиме наиболее приоритетного прерывания.

       

       Рис. 3.3.1. Схема канала ПДП

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

       При поступлении запроса на ПДП, процессор  приостанавливает вычислительный процесс и переводит ША и ШД в третье состояние. После этого выдается импульс подтверждения прямого доступа к памяти, устанавливающий триггер ПДП в состояние «1». Структурная схема канала ПДП представлена на рис 3.3.1. 

3.4. Разработка блока  регенерации памяти 

      Выберем  в  качестве  исходного  модуля  для  проектирования  ОЗУ  динамического  типа  ИМС  со  следующими  характеристиками (рис.3.4.1):

    A0-Ak-1k-разрядный адрес строки (столбца);

               – однобитные входные данные;

               – строб  записи  адреса  строки;

                – строб  записи  адреса  столбца;

               – 0-запись, 1-чтение;

               – однобитные выходные  данные.

                  Для данной интегральной схемы режим  записи в матрицу  запоминающих элементов  предполагает отработку следующей временной диаграммы (рис. 3.4.2):

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

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

    В режиме чтения данных временная диаграмма  сигналов на шинах ША, ШУ и ШД  может быть представлена в следующем виде (рис. 3.4.3):

     

                

 

   

                                 

 

                               

 

    Технология  хранения данных в динамическом ЗУ требует периодической перезарядки “запоминающих” емкостей. Этот режим получил название регенерации и технически  реализуется  путем  чтения всех строк  или всех столбцов  модуля  ЗУ в  соответствии  со  следующей  временной  диаграммой (рис. 3.4.4): 

     

    Для  совмещения  процессов  чтения, записи  и  регенерации в  компьютерах используются  специальные  схемы, получившие  название  контроллера  динамической памяти (КОЗУ – контроллер динамического ОЗУ). Структурная  схема  такого  устройства  может  быть представлена рис. 3.4.5.

    

    В общем случае схема контроллера  предназначена для преобразование адресов и обновления информации в ячейках динамической памяти. При обращении к ОЗУ со стороны процессора используемое n-разрядное адресное  слово  условно  или  явно делится  на  две  части – адрес строки и адрес столбца. Схема управления обращением к ОЗУ должна обеспечить своевременную коммутацию этих адресов и подачу сигналов стробирования на входы .

      При регенерации необходимо обеспечить чтение  всех  строк  или  всех  столбцов матрицы с помощью специального счетчика. При этом все биты в строке  или в столбце  ОЗУ регенерируются одновременно. 

 

4. Разработка микропрограммного  обеспечения.

4.1. Формат микрокоманды. Микропрограммная  интерпретация команд  языка компьютера. 

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

     Команда представляет собой двоичный код, определяющий операцию, производимую машиной, и данные, участвующие в операции (операнды). Команда содержит операционную и адресную части. В операционной части указывается код операции (КОП) - вид операции. В адресной части задается информация о нахождении операндов. Если микроЭВМ выполнит М различных операций, то число двойных операций, то число двойных разрядов КОП:

N = int (log2 M)

     Исходя  из того, что всего имеется 23 операций, то поле КОП необходимо выбрать 5-разрядным. В регистре команд команда представляется в виде:

КОП Rg1 Rg2 Rg3

     И с учетом разрядностей данной микроЭВМ, команда будет иметь вид:

Информация о работе Разработка архитектуры специализированного микрокомпьютера