- •«Кузбасский государственный технический университет
- •1. Описание цикла лабораторных работ
- •2. Описание архитектуры учебной эвм
- •2.1. Программные модели для изучения архитектуры эвм
- •2.2 Структура учебной эвм
- •2.3. Представление данных в модели
- •2.4. Система команд учебной эвм
- •2.5. Состояния и режимы работы учебной эвм
- •2.6. Интерфейс пользователя
- •2.7. Микрокомандный уровень учебной эвм
- •2.8. Внешние устройства
- •2.8.1 Общая характеристика моделей внешних устройств
- •2.8.2 Контроллер клавиатуры
- •2.8.3. Дисплей
- •2.8.4. Блок таймеров
- •2.8.5. Тоногенератор
- •2.8.6. Блок индикаторов
- •2.9. Подсистема прерываний
- •2.9. Программная модель кэш-памяти
- •2.10. Программная модель alu-1
- •2.10.1. Общие сведения о программной модели alu-1
- •2.10.2. Операционный автомат
- •2.10.3. Регистры операционного автомата
- •2.10.4. Арифметико-логический блок
- •2.10.5. Блок сдвигателя
- •2.10.6. Счетчик
- •2.10.7. Микрооперации и логические условия
- •2.10.8. Управляющий автомат с программируемой логикой (уапл)
- •3. Лабораторные работы
- •3.1. Лабораторная работа № 1. Основы работы с программной моделью учебной эвм
- •3.1.1. Цель работы
- •3.1.2. Общие положения
- •3.1.3. Последовательность выполнения работы
- •3.1.4. Варианты заданий
- •3.1.5. Пример выполнения работы
- •3.1.6. Содержание отчета
- •3.2.3. Последовательность выполнения работы
- •3.2.4. Варианты заданий
- •3.2.5. Пример выполнения работы
- •3.2.6. Содержание отчета
- •3.3.3. Последовательность выполнения работы
- •3.3.4. Варианты заданий
- •3.3.5. Пример выполнения работы
- •3.3.6. Содержание отчета
- •3.3.7. Задания повышенной сложности
- •3.3.8. Контрольные вопросы
- •3.4. Лабораторная работа №4. Подпрограммы и стек
- •3.4.1. Цель работы
- •3.4.2. Общие положения
- •3.4.3. Последовательность выполнения работы
- •3.4.4. Варианты заданий
- •3.4.5. Пример выполнения работы
- •3.4.6. Содержание отчета
- •3.5.5 Пример выполнения работы
- •3.5.4 Варианты заданий
- •3.5.5 Пример выполнения работы
- •3.5.6. Содержание отчета
- •3.5.7. Задания повышенной сложности
- •3.5.8. Контрольные вопросы
- •3.6. Лабораторная работа №6. Программирование внешних устройств
- •3.6.1. Цель работы
- •3.6.2. Общие положения
- •3.6.3. Последовательность выполнения работы
- •3.6.4. Содержание отчета
- •3.6.5. Варианты заданий
- •3.6.6. Пример выполнения работы
- •3.6.7. Задания повышенной сложности
- •3.6.8. Контрольные вопросы
- •3.7. Лабораторная работа №7. Принципы работы кэш-памяти
- •3.7.1. Цель работы
- •3.7.2. Общие положения
- •3.7.3. Последовательность выполнения работы
- •3.7.4. Содержание отчета
- •3.7.5. Варианты заданий
- •3.7.6. Контрольные вопросы
- •Рекомендуемая литература
- •Лабораторный практикум по архитектуре эвм и систем
- •230201 «Информационные системы и технологии»
2.10.6. Счетчик
Четырехразрядный двоичный счетчик ведет счет от 0000 до 1000 и реализует две микрооперации: начальная установка (в «0000») и инкремент. Счетчик формирует два логических условия:
• x4 истинно, когда состояние счетчика равно 1000;
• x5 истинно, когда состояние счетчика превышает 0011.
2.10.7. Микрооперации и логические условия
Полный список микроопераций, которые реализуются элементами структуры операционного автомата, и логических условий, формируемых в операционном автомате, приведен в табл. 2.8 и 2.9.
Таблица 2.8
Микрооперации операционного автомата ALU-1
y |
Микрооперация |
Описание микрооперации |
y0 |
Shina:=Ax |
Подключение входов регистра Ax к шине данных |
y1 |
Shina:=Bx |
Подключение входов регистра Bx к шине данных |
y2 |
A:=Shina |
Запись в регистр A, значений из регистра, подключенного к шине |
y3 |
B:=Shina |
Запись в регистр B, значений из регистра, подключенного к шине |
y4 |
R:=A |
Подключение прямых входов элементов регистра А к входу R АЛБ. При отсутствии микрокоманды подключения на вход R подаются нули |
y5 |
R:=˥A |
Подключение инверсных входов элементов регистра А к входу R АЛБ |
y6 |
S:=B |
Подключение прямых входов элементов регистра В к входу S АЛБ. При отсутствии микрокоманды подключения на вход S подаются нули |
y7 |
S:=˥B |
Подключение инверсных входов элементов регистра А к входу R АЛБ |
y8 |
p8.Q:=R+S+p0 |
Сложение чисел, представленных кодами на входах R, S и триггере p0 АЛБ. Содержимое p0 добавляет 0 или 1 к младшему разряду суммы, а в p8 формируется перенос |
y9 |
p8.Q:=R–S–p0 |
Вычитание из числа, представленного на входе R, числа, представленного на входе S, и числа, представленного состоянием триггера p0. Содержимое p0 вычитается из младшего разряда разности, а в p8 формируется заем старшего разряда |
y10 |
p8.Q:=S–R–p0 |
Вычитание из числа, представленного на входе S, числа, представленного на входе R, и числа, представленного состоянием триггера p0. Содержимое p0 вычитается из младшего разряда разности, а в p8 формируется заем старшего разряда |
y11 |
0.Q:=S&R |
Поразрядная конъюнкция кодов, представленных на входах S и R АЛБ. В p8 записывается ноль |
y12 |
0.Q:=S∨R |
Поразрядная дизъюнкция кодов, представленных на входах S и R АЛБ. В p8 записывается ноль |
y13 |
0.Q:=S⊕R |
Поразрядная неравнозначность кодов, представленных на входах S и R АЛБ. В p8 записывается ноль |
y14 |
p0:=0 |
Установка триггера p0 в 0 |
y15 |
p0:=1 |
Установка триггера p0 в 1 |
y16 |
F:=Q |
Передача кода Q с выхода АЛБ на выход F схемы сдвига без изменений |
y17 |
F[7:0].DR:=DL.Q[7:0] |
Сдвиг выходного кода АЛБ вправо. Младший разряд Q записывается в DR. Старший разряд заполняется содержимым DL. DL не изменяется |
y18 |
DL.F[7:0]:=Q[7:0].DR |
Сдвиг выходного кода АЛБ влево. Старший разряд Q записывается в DL. Младший разряд F заполняется содержимым DR. DR не изменяется |
y19 |
F[7:0].DR:=DR.Q[7:0] |
Специальный сдвиг выходного кода АЛБ вправо. Младший разряд Q записывается в DR. Старший разряд F заполняется предыдущим значением DR |
y20 |
F[7:0]:=Q[7:0].˥Z Z=p8⊕DL |
Сдвиг выходного кода АЛБ вправо. Младший разряд Q записывается в DR. Старший разряд Q теряется, значение DL сохраняется. Младший разряд Q заполняется цифрой частного (в операциях деления) |
y21 |
Стоп |
Останов. Сигнал окончания выполнения операции |
y22 |
Сч:=0 |
Присвоение всем разрядам счетчика значения 0. Установка триггеров признаков (выходы х4, х5 ОА) |
y23 |
Сч:=Сч+1 |
Увеличение счетчика на 1. При кодах счетчика 0100, 0101, 0111, 1000 . При коде счетчика 1000 х4=1. За кодом 1000 следует код 0000 и оба признака сбрасываются в ноль |
y24 |
C:=F |
Запись выходов схемы сдвига в регистр C |
y25 |
D:=F |
Запись выходов схемы сдвига в регистр D |
y26 |
Shina:=C |
Подключение входов регистра C к шине данных |
y27 |
Shina:=D |
Подключение входов регистра D к шине данных |
y28 |
DL:=0 |
Установка триггера DL в 0 |
y29 |
DL:=1 |
Установка триггера DL в 1 |
y30 |
DR:=0 |
Установка триггера DR в 0 |
y31 |
DR:=1 |
Установка триггера DR в 1 |
y32 |
Q:=R |
Передача кода с входа R АЛБ на выход Q АЛБ без изменений |
Таблица 2.9
Логические условия, формируемые операционным автоматом ALU-1
x |
Значение логического условия |
x1 |
p8 – признак переноса/заема |
x2 |
DL – значение триггера «данные слева» |
x3 |
DR – значение триггера «данные справа» |
x4 |
С=8 – признак «счетчик равен 8» |
x5 |
С>8 – признак «счетчик равен 8» |
x6 |
Z:=p8⊕DL – признак, по которому можно определить значение цифры частного в операциях деления |
Описанная модель операционного автомата может работать в двух режимах – автономно или под управлением микропрограммы, размещенной в модели управляющего автомата.
Автономный режим реализуется только пошагово и позволяет проверить правильность разработанных алгоритмов арифметических и логических преобразований.