Национальный исследовательский ядерный университет «МИФИ»
Институт интеллектуальных кибернетических систем
Кафедра №12 «Компьютерные системы и технологии»
Пояснительная записка
к курсовому проекту
на тему "Проектирование процессора"
Студент:
Группа:
Преподаватель:
Литвинов В.А.
Б23-503
Ядыкин И.М.
Москва — 2025/2026

Проектирование блока операций

Формат данных

4-х разрядное слово представлено целыми числами с фиксированной запятой в прямом коде. Старший разряд отводится под знак числа. Результат операции умножение - двойное слово, операции установки бита - одинарное слово.

$$[A]_{\text{п}} = a_3, a_2 a_1 a_0$$ $$[R]_{\text{п}} = r_7, r_6 r_5 r_4 r_3 r_2 r_1 r_0$$

Примеры и алгоритмы выполнения операций

Алгоритм операции УМНОЖЕНИЕ

Умножение выполняется по алгоритму умножения с младших разрядов множителя и сдвигом суммы частичных произведений вправо с одним корректирующим шагом. Данный алгоритм при представлении сомножителей в прямом коде можно выразить следующей формулой:

$$[A]_{\text{п}} \cdot [B]_{\text{п}} = (..((0 + A \cdot b_0) \cdot p^{-1} + A \cdot b_1) \cdot p^{-1} + ... + A \cdot b_{n-1}) \cdot p^{3}$$
Пример 1: $[\mathrm{A}]_\mathrm{п} = 0.111 = 7$ $[\mathrm{B}]_\mathrm{п} = 0.111 = 7$ $\mathrm{Зн} = 0 \oplus 0 = 0$ $[\mathrm{A} \cdot \mathrm{B}]_\mathrm{п} = 0.0110001 = 49$
Пример 2: $[\mathrm{A}]_\mathrm{п} = 0.111 = 7$ $[\mathrm{B}]_\mathrm{п} = 1.101 = -5$ $\mathrm{Зн} = 1 \oplus 0 = 1$ $[\mathrm{A} \cdot \mathrm{B}]_\mathrm{п} = 1.0100011 = -35$

Рассмотренный алгоритм умножения представлен на рисунке .

Блок схема умножения

Проверка бита с установкой его в единицу

Операция проверяет бит в RB на позиции RA, устанавливает флаг CF, если значение бита в операнде 1, значение бита в операнде устанавливается в 1.

Пример 1: $A = xx00$ $B = 0001$
$i = 0$ $CF = RB_0 = 1$ $RB_0 = 1$ $RB = 0001$
Пример 2: $A = xx01$ $B = 0001$
$i = 1$ $CF = RB_1 = 0$ $RB_1 = 1$ $RB = 0011$
Блок схема проверки бита с установкой в единицу

Функциональная схема блока операций

Функциональная схема блока операций

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

Обозначение блока Назначение
RA Регистр первого операнда, 4 разряда, хранение, параллельная загрузка A
RB Регистр второго операнда / младшей части результата, 4 разряда, хранение, параллельная загрузка B, логический сдвиг вправо, формирование сигнала F0
RR Регистр старшей части результата, 4 разряда, хранение, параллельная загрузка, логический сдвиг вправо с переносом в RB, синхронный сброс в 0
CS1 Формирование знака произведения
CS2 Формирование флага CF (значения бита из B на позиции A)
CS3 Формирование нового значения B с установленным битом на позиции A
CS4 Выбор данных для загрузки в RB: B или CS3
SM Сумматор, 4 разряда
TCF Регистр флага CF (значения бита из B на позиции A), 1 разряд, хранение, загрузка

Проектирование логических элементов блока операций

Регистр первого операнда RA

Данный регистр является четырёхразрядным регистром хранения. Наиболее подходящим для реализации функций регистра RA является регистр FD4CE.

Обозначение Назначение
Y1
0 Хранение
1 Параллельная загрузка
Логическая схема RA

Регистр второго операнда / младшей части результата RB

Данный регистр должен выполнять микрооперации хранения, параллельной загрузки и логического сдвига вправо (с заполнением старшего бита младшим разрядом из RR). Для реализации выбран универсальный сдвиговый регистр SR4CLE. Младший бит выхода RB_Q0 формирует сигнал F0.

Обозначение Назначение
Y2 Y3
0 0 Хранение
1 x Параллельная загрузка
0 1 Логический сдвиг вправо
Логическая схема RB

Регистр старшей части результата RR

Данный регистр должен выполнять микрооперации хранения, параллельной загрузки, логического сдвига вправо (c коммутацией младшего бита в старший разряд RB) и синхронного сброса в 0. Для реализации выбран универсальный сдвиговый регистр SR4RLE.

Обозначение Назначение
Y4 Y5 Y6
0 0 0 Хранение
1 x 0 Параллельная загрузка
0 1 0 Логический сдвиг вправо
x x 1 Синхронный сброс в 0
Логическая схема RR

Регистр флага TCF

Отвечает за хранение значения бита операнда B на позиции A.

Обозначение Назначение
Y8
0 Хранение
1 Загрузка
Логическая схема TCF

Комбинационная схема CS1

Отвечает за формирование знака произведения.

Логическая схема CS1

Сумматор SM

4-х битный сумматор ADD4.

Логическая схема SM

Комбинационная схема CS2

Отвечает за формирование флага CF (бита из B на позиции A).

Логическая схема CS2

Комбинационная схема CS3

Отвечает за формирование нового значения B с установленным битом на позиции A.

Логическая схема CS3

Комбинационная схема CS4

Отвечает за выбор данных для загрузки в RB: B или CS3.

Логическая схема CS4

Логическая схема блока операций

Логическая схема блока операций

Микропрограммы выполнения операций

Определение сигналов блока операций

Сигнал Операция
Y1 Загрузка A в RA
Y2 Загрузка CS4 в RB
Y3 Логический сдвиг вправо RB
Y4 Загрузка значения на выходе SM в RR
Y5 Логический сдвиг вправо RR
Y6 Синхронный сброс RR
Y7 Вход EN для CS1
Y8 Загрузка признака на выходе CS2 в TCF
Y9 Выбор данных для загрузки в RB: B или CS3
Сигнал Операция
F1 Младший разряд B

Алгоритм микропрограммы УМНОЖЕНИЕ

Микропрограмма операции УМНОЖЕНИЕ

Примеры микропрограммы УМНОЖЕНИЕ

Пример 1 микрооперации УМНОЖЕНИЕ приведен в таблице .

Временная диаграмма примера 1 УМНОЖЕНИЕ

Пример 2 микрооперации УМНОЖЕНИЕ приведен в таблице .

Временная диаграмма примера 2 УМНОЖЕНИЕ

Алгоритм микрооперации УСТАНОВКА БИТА

Микропрограмма операции УСТАНОВКА БИТА

Примеры микрооперации УСТАНОВКА БИТА

Примеры 1,2 микрооперации установка бита

Проектирование местного устройства управления

Функциональная схема

Для реализации местного устройства управления MUU с "жёсткой" логикой разработана функциональная схема, представленная на рисунке .

Функциональная схема МУУ

Модифицированные алгоритмы выполнения операций

Для реализации местного устройства управления алгоритмы выполнения операций должны быть изменены. На рисунках и приведены модифицированные схемы алгоритма микропрограмм выполнения операций УМНОЖЕНИЕ и УСТАНОВКА БИТА.

Модифицированный алгоритм микропрограммы выполнения операции УСТАНОВКА БИТА
Модифицированный алгоритм микропрограммы выполнения операции УМНОЖЕНИЕ

Проектирование датчика состояний

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

Автомат начинает свою работу с приходом сигнала SNO. В каждом состоянии формируются определенные для этого состояния сигналы Yi и Yct для продвижения счетчика тактов CT.

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

Графы переходов автомата

В момент времени после сигнала SKO и до сигнала SNO граф находится в состоянии IDLE, при котором никакие сигналы Y не установлены. Графы операций представлены на рисунках и .

Граф переходов операции УМНОЖЕНИЕ, COP = 0
Граф переходов операции УСТАНОВКА БИТА, COP = 1

Таблица переходов DS / истинности CS1

Состояния будут храниться в 2-х битном регистре с параллельной загрузкой, состояния P1, P2, P3 соответсвуют своим номерам в двоичном виде, состояние IDLE = 00 - начальное. Явно возвращаться в него после формирования SKO не нужно, тк происходит синхронный сброс датчика состояний по сигналу SKO.

$МКНФ: Q_1 = (D_1 + D_0)$ Минимизация Q1
$МКНФ: Q_0 = (\overline{D_0}) \cdot (\overline{D_1} + F_1)$ Минимизация Q0

Таблица управляющих сигналов Y / истинности CS2

В таблице отражены сигналы Yi и Yct, подающиеся на выход MUU в каждом состоянии. Часть функций являются подмножествами других функций, поэтому они минимизироватся не будут.

$Y_2 \supset Y_1,Y_6$ $Y_3 \supset Y_5$ $SKO \supset Y_7,Y_9$
$Y_1, Y_6 := Y_2$ $Y_5 := Y_3$ $Y_7, Y_9 := SKO$
Нужно минимизировать $Y_2, Y_3, Y_4, Y_8, Y_{ct}, SKO$
$МДНФ: Y_2 = \overline{Q_1} \cdot Q_0 + COP \cdot Q_1$ Минимизация Y2
$МКНФ: Y_3 = (Q_1) \cdot (Q_0 + \overline{F_1} + FC)$ Минимизация Y3
$МДНФ: Y_4 = Q_1 \cdot \overline{Q_0} \cdot F_1 \cdot \overline{FC}$ Минимизация Y4
$МДНФ: Y_8 = COP \cdot Q_1$ Минимизация Y8
$МКНФ: Y_{ct} = (Q_1) \cdot (Q_0 + \overline{F_1})$ Минимизация Yct
$МКНФ: SKO = (Q_1) \cdot (\overline{Q_0}) \cdot (COP + FC)$ Минимизация SKO

Логическая схема МУУ

На рисунке представлена синтезированная логическая схема местного устройства управления.

Логическая схема местного устройства управления

Функциональное моделирование МУУ

Пример 1 УМНОЖЕНИЕ

Функциональное моделирование МУУ УМНОЖЕНИЕ 1

Пример 2 УМНОЖЕНИЕ

Функциональное моделирование МУУ УМНОЖЕНИЕ 2

Пример УСТАНОВКА БИТА

Функциональное моделирование МУУ УСТАНОВКА БИТА

Временные параметры АЛУ

Получен отчет статического анализа времени предварительной установки с помощью программы "Timing Analyzer", который представлен на рисунке . На рисунке представлено внутреннее устройство схем, участвующих в критическом пути сигнала.

Отчет о временных параметров АЛУ Схемы, участвующие в критическом пути АЛУ

Критический путь АЛУ

Используя результат работы "Timing Analyzer" как отправную точку, в режиме временного моделирования был определен минимальный период сихнроимпульсов 23.2ns, не вызывающий состязаний. На рисунке представлена временная диаграмма с путем сигнала, на рисунке представлены измерения задержек сигнала.

Сообщение о состязании Временная диаграмма критического пути АЛУ Замеры длительности критического пути АЛУ

Длительность критического пути операции УМНОЖЕНИЕ:
4(MUU_Q0) + 4.4(MUU_Y4) + 12.5(BO_RR_D1) + 2.1(tуст BO_RR_Q1) = 23ns.

Характеристики быстродействия АЛУ

В таблице приведены параметры быстродействия АЛУ.

Для подключения АЛУ к стэнду задействовано количество элементов, приведенное на рисунке . На рисунке представлена схема размещения элементов на кристалле ПЛИС. 

Отчет о количестве элементов Схема размещения на кристалле

Моделирование АЛУ на стенде

Схема управления АЛУ на стенде представлена в таблице и на рисунке .

Схема подключения АЛУ к стенду

Проектирование блока управления командами

Система памяти

Оперативная память имеет организацию 16x8 ячеек, регистровая - 8x4. В каждой ячейке ОП хранится два четырехразрядных слова, каждое из которого имеет свой адрес. Четыре старших разряда логического адреса ячейки являются физическим адресом, младший бит логического адреса указывает на старший/младший полубайт. В таблице представлена схема адресации оперативной памяти.

Под адрес ОП выделяется 5 бит, под адрес РП выделяется 3 бита, в первой половине ячеек ОП содержатся команды, во второй операнды, поэтому исполнительный адрес 4 бита.

Длинные слова хранятся в формате Little Endian.

Определение форматов команд и способов адресации

ЛИНЕЙНАЯ команда - два слова, двухадресная, формат регистр-память. Первый операнд в РП указывается с помощью прямой адресации, второй операнд в ОП с помощью базовой с индексированием адресации вар. 1. Результат УМНОЖЕНИЯ по адресу второго операнда, результат УСТАНОВКИ БИТА по адресу первого операнда.

Команда ПЕРЕХОДА - одно слово, одноадресная. Адрес перехода указывается с помощью относительной адресации со знаком в дополнительном коде. Условный переход осуществляется, если значение флага CF = 1.

Базовая адресация с индексированием вар. 1

Блок схема выполнения команд БУК

Линейные команды состоят из 4-х слов, нелинейные из 2-х, поэтому всегда, независимо от команды, считывается 2 слова, а затем, если команда линейная, считывается еще 2 слова. Алгоритм выполнения команды представлен на рисунке .

Алгоритм выполнения команды

Функциональная схема БУК

Функциональная схема БУК

Функциональная схема БУК представлена на рисунке X, в таблице X приведены все элементы функциональной схемы БУК с их функциями и назначением.