КУРСОВИК (1084620), страница 2
Текст из файла (страница 2)
2.4.8. Тип УА для организации УУ. Используется автомат с программируемой логикой (УАПЛ) для ЦУУ и автомат с жесткой логикой для БМУ.
2.4.9. Критерий проектирования. Максимальное быстродействие;
2.5. Подписи сторон
От Заказчика: | От Исполнителя: |
Бражникова Е.В. ____________________ | Смирнов Г.О. ________________________ |
3. Алгоритм работы процессора
3.1. Выбор и обоснование
В данном курсовом проекте алгоритм работы процессора отражает пошаговый режим работы процессора. Исходный алгоритм состоит из последовательности операций или микроопераций и определяет множество переменных и констант, участвующих в вычислениях.
Для описания алгоритма широко используется граф-схема. Граф-схема алгоритма (ГСА) это ориентированный связный граф, содержащий одну начальную и одну конечную вершину, и произвольное количество условных, ждущих и операционных вершин. Структура ГСА должна удовлетворять условиям, обеспечивающим непременную возможность перехода от начальной вершины к конечной при любых вариантах значений условных вершин.
3.2. Техническое описание
Цикл исполнения команды процессора условно разбит на следующие этапы:
3.2.1. Выборка команды. По содержимому программного счетчика адреса команд (СЧАК) происходит обращение к оперативному запоминающему устройству (ОЗУ) в режиме чтения, считанная последовательность с регистра слова ОЗУ поступает по шине данных на регистр команд (РК) процессора. Причем, перед обращением к ОЗУ происходит проверка СЧАК на попадание текущего адреса в допустимую область ОЗУ.
3.2.2. Формирование продвинутого адреса команд. На этом этапе путем инкремента СЧАК формируется адрес следующей команды.
3.2.3. Дешифрация кода операции. По содержимому операционного поля (ОП) – коду операции (КОП) определяется тип выполняемой операции. Дешифрация происходит с помощью дешифратора. На ГСА дешифратор условно обозначен в виде переключательной вершины.
3.2.4. Выполнение операции. Выполнение операций производится в соответствии с форматом команд:
Команды формата Ф1.
Данному формату соответствуют команды «Умножение» .
УМНОЖЕНИЕ
Формирование исполнительных адресов и выборка операндов.
Команда состоит из двух слов. В первом слове команды находятся адресные поля (АП): А1 - находится номер регистра общего назначения РОН[R1] содержащий значение базовой константы, А2 - содержит номер РОН[R2] индекс адреса первого операнда, А3 - содержит номер РОН[R3] индекс адреса второго операнда. Во втором слове команды находится адресное поле (АП) А4, в котором находиться смещение D.
СчАК производит инкремент два раза, адрес из СчАК выставляется на РАозу [E9]. Из ОЗУ по ШД в регистр команд РКD записывается второе слово команды поля А4 в котором находиться смещение D [J9]. По шине адреса РОН (ШАрон) А1 поступает на дешифратор адреса РОН (DCAрон), по которому происходит чтение базового адреса из РОН[R1] и запись по шине данных (ШД) в РA1 [L9]. По шине адреса РОН (ШАрон) А2 поступает на дешифратор адреса РОН (DCAрон), по которому происходит чтение начального индекса из РОН[R2] и запись по шине данных (ШД) в РA2 [N9]. Содержимое регистров ИАЛУ РA1 и РA2 складываются, сумма записывается в Pисп [P9], получаем базово-индексный адрес. Содержимое Рисп. записывается в регистр ИАЛУ РА1. В ИАЛУ РА2[4..19] записывается смещение D из адресного поля А4 команды регистра команд РКD. Базово- индексный адрес складывается со смещением D, т.е. складываются содержимое регистров ИАЛУ РA1 и РA2 и записывается в исполнительный регистр Рисп [R9]. Исполнительный адрес из Рисп передаётся по адресной шине в РАозу [V9], из ОЗУ происходит выборка первого операнда [X10]. Из PCозу считывается операнд и записывается по ШД в Р1алу [Z9].
Для выборки второго операнда из ОЗУ формирование исполнительного адреса происходит аналогичным образом, но содержимое значение индекса второго операнда находиться в РОН[R3]. РОН[R3] адресуется из регистра команд РК поля А3 по ШАрон через дешифратор адреса РОН (DCAрон). Индекс второго операнда записывается по ШД в РА2алу . Запись второго операнда при выборки из регистра слова ОЗУ РСозу происходит по ШД в регистр АЛУ Р2алу AP[9].
Выполнение команды.
Содержимое регистров Р1алу и Р2алу копируются во внутренние регистры АЛУ Р1вн и Р2вн соответственно [Е13]. Счетчику циклов (СЧ1 присваиваем значение 1510 [F13]. Проверяем оба операнда на равенство нулю, если хотя бы один операнд равен нулю, на Акк заносится содержимое РРАЛУ (нули) [АS13].
Алгоритм умножения начинается с анализа младшего разряда множителя Р2ВН(15) [Q13]. Если анализируемая цифра множителя равна 1, то к содержимому РРАЛУ(1:16) прибавляется множимое (Р1ВН) [T13], а также в знаковый разряд РРалу(0) заносится результат суммы знаков РРалу(0) и Р1вн(0). Если Р2вн(15) равен 0, прибавление не производится. Содержимое Р2ВН сдвигается на один разряд вправо с занесением в освободившийся старший разряд нуля. Содержимое РРАЛУ сдвигается на один разряд вправо, причем сдвиг происходит модифицированный, т.е. с занесением знака множимого в освободившийся разряд [Y13]. СЧ1 декрементируется, после чего повторяется весь описанный выше цикл, до тех пор, пока СЧ1 не станет равным нулю [AC13]. Далее, если множитель положительный [AG13], то независимо от знака множимого, мы имеем на РРалу конечный результат, который записывается в Аккумулятор (Акк) [AS13]. Если множитель отрицательный, делаем поправку результата на (–А). Так как РРалу имеет 32 разряда, то при умножении двух 15-ти разрядных чисел (+1 разряд на знак для каждого), мы получим результат, без знака, размером 30 бит, находящийся в разрядах (2:31) РРалу, и знак результата в РРалу(1). Так как результат числа в ДК должен иметь знак в разряде (0), мы копируем его из разряда РРалу(1) [AN13]. Таким образом получаем результат умножения, который можно рассматривать как в формате ДК, так и МДК. Если результат отрицательный, то при инвертировании знак остается, а первый разряд становиться нулем. Если результат положительный то ДК=ПК, и нуль в первом разряде РРалу не имеет значения.
Полученный результат с РРАЛУ заносится на Аккумулятор [AS13].
Команды формата Ф2.
Данному формату соответствуют следующие команды: «Останов», «БПВ1 СчАК→РОН (безусловный переход )», «УПСЧ (условный переход по счетчику)», «Вычитание», «Сложение по модулю 2 (исключающие ИЛИ)».
ОСТАНОВ
По данной команде алгоритм переходит на вершину «КОНЕЦ» [AC1] и процессор завершает свою работу. Работа процессора может быть возобновлена при повторном запуске процессора.
Безусловный переход с возвратом (БПВ1) СЧАК→РОН, Условный переход по счетчику:
Формирование исполнительных адресов осуществления перехода на выборку следующей команды.
Анализируется признак адресации ПА [D33]. ПА=0 будет использована прямая регистровая адресация.
Из адресного поля А2 регистра команд на DCAрон ШАрон выставляется номер РОН[R2] через DCAрон, в котором находится адрес перехода и установка его в режим чтения [G33]. Из РОН[R2] по ШД считывается адрес и происходит запись в СчАК [I33]. Из СчАК по ША происходит обращение к РАозу для выборки адреса перехода [K33].
Безусловный переход с возвратом (БПВ1) СЧАК→РОН
СчАК увеличивается на К (СЧАК+К) образуя продвинутый адрес возврата из подпрограммы [AH22]. В адресном поле А1 команды БПВ1 находиться номер регистра общего назначения РОН[R1], в который загружается адрес возврата. В адресном поле А2 номер РОН[R2] в котором находиться адрес начала подпрограммы. По шине адреса РОН (ШАрон) поля А1 регистра команд РК адрес РОН поступает на дешифратор адреса РОН[R1] (DCAрон), по которому происходит запись, т.е. по шине данных ШД продвинутый адрес (СЧАК+К) записывается из СчАК в выбранный регистр РОН[R1] [AJ22]. По шине адреса РОН (ШАрон) поля А2 регистра команд РК адрес РОН поступает на дешифратор адреса РОН[R2] (DCAрон), по которому происходит чтение РОН[R2] [AJ31] и запись по шине данных ШД адреса перехода в СчАК [AM31], т.е. осуществляется переход на выборку адреса подпрограммы.
Условный переход по счетчику
Выполнение команды.
Из адресного поля А1 регистра команд на DCAрон по ШАрон выставляется номер РОН[R1] через DCAрон, в котором в котором организуется счётчик и установка его в режим чтения [AB30], счётчику Сч1 присваивается значение РОН[R1] [AB30]. После того как счетчику СЧ1 [E31] присвоено значение РОН[R1], с помощью комбинационной схемы (КС) происходит сравнение текущего значения счетчика СЧ1 с 0 [AE31]. Если счетчик СЧ1 > 0 [AF28], то происходит его декремент [AH27], т.е. обновляется текущее значение для следующей инициализации счетчика, обновленное значение СЧ1 записывается по ШД в РОН[R1]. Если СЧ1 = 0 [AF31], то осуществляется переход на выборку следующей команды. По шине адреса РОН (ШАрон) поля А2 регистра команд РК адрес РОН поступает на дешифратор адреса РОН[R2] (DCAрон), по которому происходит чтение РОН[R2] [AJ31] и запись по шине данных ШД адреса перехода в СчАК [AM31].
ВЫЧИТАНИЕ, СЛОЖЕНИЕ ПО МОДУЛЮ 2:
Формирование исполнительных адресов команды.
Анализируется признак адресации ПА [D33]. ПА=1 [E34] будет использована автодекрементная адресация (разновидность косвенно-регистровой адресации).
Из адресного поля А1 регистра команд на DCAрон ШАрон выставляется номер РОН[R1] через DCAрон, в котором находится адрес первого операнда и установка его в режим чтения [H35]. Из РОН[R1] считывается адрес и происходит обращение к РАозу для выборки первого операнда [K35]. Из ОЗУ происходит выборка первого операнда [M36], из PCозу считывается операнд и записывается по ШД в Р1алу [P35]. Выборка второго операнда происходит аналогичным образом, после двойного декремента РОН[R1] посредством счётчика Сч1 [R35], [T35]. Запись второго операнда при выборки из регистра слова ОЗУ РСозу происходит по ШД в регистр АЛУ Р2алу [AE35].
ВЫЧИТАНИЕ
Выполнение команды.
Содержимое регистров Р1алу и Р2алу копируются во внутренние регистры АЛУ Р1вн и Р2вн соответственно [E23]. Обнуляется регистр результата АЛУ [E23]. Далее на сумматоре производится сложение содержимого регистра Р1вн и инвертированного значения регистра Р2вн плюс единица [H23], а результат записывается в младшие 16 бит 32-х разрядного регистра результата РРалу. Затем производится проверка на переполнение разрядной сетки, причем используется следующее утверждение, что переполнение может произойти только при сложении чисел имеющих одинаковые знаки. Пользуясь этим утверждением сначала проверяем на КС1 равенство знаков [J23]. Если знаки равны, то заполняем все старшие разряды Ралу знаком одного из чисел (P1) [Y21], тогда в случае, если складываемые числа были отрицательными, то при переводе результата из дополнительного кода в прямой, на этапе инвертирования все единицы обратятся в нули, в случае же сложения положительных чисел в дополнительном коде прямой код соответствует дополнительному. Если знаки складываемых чисел не равны, то проверяем появилась ли единица переноса при сложении [P23], которая заноситься в 15-й разряд Ралу. Если единица переноса есть, то результат будет положительный. Поэтому заполняем 15 старших разрядов нулями [Y26]. Если единицы переноса нет, то результат отрицательный, поэтому заполняем 15 старших разрядов Ралу единицами [T24], которые при преобразовании из ДК в ПК обратятся в нули. Результат из регистра РРалу(0:31) записывается в Аккумулятор [AS13].
СЛОЖЕНИЕ ПО МОДУЛЮ 2.
Выполнение команды.
Содержимое регистров Р1алу и Р2алу копируются в КСmod2 представляющий из себя шестнадцать двухвходовых элементов «Исключающее ИЛИ», результат поступает на регистр РРалу [AP1] . Результат из регистра РРалу записывается в Аккумулятор [AS13].
4. Разработка структурной электрической схемы центральной
части процессора
4.1. Выбор и обоснование
Структурная схема определяет основные функциональные части процессора, их назначение и взаимосвязи и служит для общего ознакомления с устройством. Составные части процессора отображаются условными графическими отображениями. Графическое построение схемы дает наиболее наглядное представление о последовательности взаимодействия функциональных частей в устройстве.
На основании разработанного ранее алгоритма строится скелетная операционная схема. Каждому внутреннему слову ставится в соответствие регистр, а выходным словам ставятся в соответствие шины. Операционная схема дополняется множеством управляющих сигналов {y} и множеством осведомительных сигналов {x}. Для передачи информации между регистрами вводится система шин. Для выполнения логических операций вводятся комбинационные схемы.