Линейное программирование симплекс-методом Данцига
Содержание 1. Постановка задачи 2. Форматы команд и их кодировка 3. Структурная схема процессора 4. Регистры 5. АЛУ 6. Формат микрокоманд 7. Микрокод 8. Кодировка микрокода 9. Примеры выполнения команд 10. Основные сигналы и регистры процессора 11. Примеры программ 12. Определение производительности Постановка задачи Синтезировать структуру простого магистрального процессора с одним АЛУ, выполняющего 8 заданных команд. Разработать формат команд, кодировку команд. Разработать структурную схему процессора, функциональные схемы всех блоков процессора, функциональную схему процессора в целом с указанием всех шин и управляющих сигналов. Разработать формат микрокоманд, организацию управления всеми устройствами процессора, микрокод для каждой из заданных команд. Привести примеры выполнения каждой команды с указанием значения всех основных сигналов и содержимого основных регистров на каждом такте. Привести 2 примера небольших программ с указанием значения основных сигналов и содержимого основных регистров на каждом такте. Определить максимальную тактовую частоту процессора. Определить производительность процессора в операциях в секунду (IPS), а также выраженную в числе выполняемых тестовых программ в секунду. Указать способы повышения производительности процессора. Характеристика процессора Простой процессор магистрального типа с одноблочным универсальным АЛУ. Разрядность регистров РОН и АЛУ процессора - 8 бит. Число РОН - 4. Адресуемая память - 256 слов. Устройство управления - микропрограммное с ПЗУ микропрограмм. Способ выполнения команд - последовательное выполнение или JMP или JC. Адресация памяти - прямая. Арифметика в дополнительном коде. Вариант: 54 = «2 2 2 3» Без использования непосредственной адресации. 3х-адресные команды. Операции АЛУ: NOP, ADD + SHRA, NAND. Состав команд: LD, ST, ADD, SHR + JC, DEC, SUB, NAND. Форматы команд и их кодировка Коды команд |
КОП | Команда | Действие | | 000 | ADD Rx,Ry,Rz | Rx=Ry+Rz | сложение | | 001 | NAND Rx,Ry,Rz | Rx=!(Ry&Rz) | И-НЕ | | 010 | SHR Rx,Ry | Rx=Ry/2 | арифметический сдвиг вправо | | 011 | JC address | jmp on carry | условный переход по переносу | | 100 | DEC Rx,Ry | Rx=Ry-1 | декремент (уменьшение на 1) | | 101 | SUB Rx,Ry,Rz | Rx=Ry-Rz | вычитание | | 110 | LD Rx,address | Rx=Mem(address) | загрузка из ОЗУ в регистр | | 111 | ST Ry,address | Mem(address)=Rx | запись из регистра в ОЗУ | | |
Формат команд |
ADD Rx,Ry,Rz | | КОП | Rx | Ry | Rz | не используется | | 0 | 0 | 0 | x | x | y | y | z | z | | | | | | | | | |
|
NAND Rx,Ry,Rz | | КОП | Rx | Ry | Rz | не используется | | 0 | 0 | 1 | x | x | y | y | z | z | | | | | | | | | |
|
SHR Rx,Ry | | КОП | Rx | Ry | не используется | | 0 | 1 | 0 | x | x | y | y | | | | | | | | | | | |
|
JC address | | КОП | не использ. | address | | 0 | 1 | 1 | | | | | | a | a | a | a | a | a | a | a | | |
|
DEC Rx,Ry | | КОП | Rx | Ry | не используется | | 1 | 0 | 0 | x | x | y | y | | | | | | | | | | | |
|
SUB Rx,Ry,Rz | | КОП | Rx | Ry | Rz | не используется | | 1 | 0 | 1 | x | x | y | y | z | z | | | | | | | | | |
|
LD Rx,address | | КОП | Rx | не исп. | address | | 1 | 1 | 0 | x | x | | | | a | a | a | a | a | a | a | a | | |
|
ST Rx,address | | КОП | не исп | Ry | | address | | 1 | 1 | 1 | | | y | y | | a | a | a | a | a | a | a | a | | | Структурная схема процессораРегистры|
Номер | При записи (по шине С) | При чтении (по шине A и B) | | 000 | 0 | Rg0 | программно-доступные регистры | Rg0 | программно-доступные регистры | | 001 | 1 | Rg1 | | Rg1 | | | 010 | 2 | Rg2 | | Rg2 | | | 011 | 3 | Rg3 | | Rg3 | | | 100 | 4 | Temp0 | Temp0 | | 101 | 5 | PC | PC | | 110 | 6 | IR_HI (старшая часть IR) | IR | константа 1 | | 111 | 7 | IR_LO (младшая часть IR) | | IR_LO | | | При чтении старшей части регистра команд, на шину A или B поступает единичная константа (00000001). Это вполне допустимо, т.к. старшая часть регистра команд имеет свои выходы из блока регистров: (КОП, Rx, Ry, Rz). Младшая часть регистра команд поступает на шины A или B в неизменном виде, т.к. в некоторых командах процессора в младшей части регистра команд находиться 8-битный адрес. Единичная константа применяется при инкрементировании счетчика команд, а также для получения константы -1 = 11111111 (см. микрокод для команды DEC). Разрядность РОН (регистры общего назначения) - 8 битРазрядность PC (program counter) - 8 битРазрядность IR (регистр команд) - 16 бит (доступно два регистра по 8 бит) АЛУ Структурная схема АЛУ и его связь с другими блоками машины показаны на рисунке. В состав АЛУ входят регистры Рг1 - Рг7, в которых обрабатывается информация , поступающая из оперативной или пассивной памяти N1, N2, ...NS; логические схемы, реализующие обработку слов по микрокомандам, поступающим из устройства управления. Закон переработки информации задает микропрограмма , которая записывается в виде последовательности микрокоманд A1,A2, ..., Аn-1,An. При этом различают два вида микрокоманд: внешние, то есть такие микрокоманды, которые поступают в АЛУ от внешних источников и вызывают в нем те или иные преобразования информации (на рис. 1 микрокоманды A1,A2,..., Аn), и внутренние, которые генерируются в АЛУ и воздействуют на микропрограммное устройство, изменяя естественный порядок следования микрокоманд. Например, АЛУ может генерировать признаки в зависимости от результата вычислений: признак переполнения, признак отрицательного числа, признак равенства 0 всех разрядов числа др. На рис. 1 эти микрокоманды обозначены р1, p2,..., рm. Результаты вычислений из АЛУ передаются по кодовым шинам записи у1, у2, ...,уs, в ОЗУ. Функции регистров, входящих в АЛУ: Рг1 - сумматор (или сумматоры) - основной регистр АЛУ, в котором образуется результат вычислений; Рг2, РгЗ - регистры слагаемых, сомножителей, делимого или делителя (в зависимости от выполняемой операции); Рг4 - адресный регистр (или адресные регистры), предназначен для запоминания (иногда и формирования) адреса операндов и результата; Ргб - k индексных регистров, содержимое которых используется для формирования адресов; Рг7 - i вспомогательных регистров, которые по желанию программиста могут быть аккумуляторами, индексными регистрами или использоваться для запоминания промежуточных результатов.
Страницы: 1, 2
|