Методические указания к лабораторной работе CUU-2016 (1065526), страница 2
Текст из файла (страница 2)
Примеры использования машинных команд для организации ветвления:
S1, если РИ > 0;
РС:=
PC+1, если РИ < 0;
S1, если ОП [F.R]<0;
РС:= S2, если ОП [F.R]>0;
PC+1, если ОП [F.R]=0;
S1, если РОН [R]>0;
РС:= S2, если РОН [R]<0;
S3, если РОН [R]=0;
1.6. Микрооперации.
ЦУУ определяет, какую микрооперацию выполнять по выставленным управляющим сигналам. Соответствие управляющих сигналов и микроопераций, используемых в данной работе, приведено в таблице 1.
При указании нескольких управляющих сигналов, соответствующих микрооперациям, микрооперации будут выполнены в порядке возрастания номеров управляющих сигналов.
Таблица 1.
| УС | Микрооперации | УС | Микрооперации |
| y20 | А:=R | Y49 | PC: =0 |
| Y21 | A: =S1 | Y50 | PC: =PC*A |
| Y22 | A: =S2 | … | |
| Y23 | A: =S3 | Y52 | SP: =A |
| Y24 | A: =PC | Y53 | SP: SP*A |
| Y25 | A: =PB | … | |
| Y26 | A: =SP | Y55 | РОН[R]:=S1 |
| Y27 | A: =РОН [R1] | Y56 | РОН[R1]:=A |
| Y28 | A: =РОН [R2] | Y57 | РОН[R]:=РОН[R]*A |
| Y29 | A: =РОН [T] | Y58 | РОН[T]:=РОН[T]*A |
| Y30 | A: =ОП [PA] | … | |
| Y31 | A: =A*B | Y60 | ОП[PA]:=A |
| … | … | ||
| Y35 | B: =РИ | Y62 | РК[31:16]:=ОП[PA] |
| Y36 | B: =РОН[R] | Y63 | РК[31:8]:=ОП[PA] |
| Y37 | B: =A*B | Y64 | РК[31:0]:=ОП[PA] |
| Y38 | B: =F.R | … | |
| … | Y66 | А:=Дисплей | |
| Y41 | PA: =РОН [T] | Y67 | Дисплей:= А |
| Y42 | PA: =A*B | Y68 | «Переполнение» |
| Y43 | PA: =0 | Y69 | «Ошибка в ОП» |
| … | Y70 | «Стоп» | |
| Y45 | PB: =A | ||
| … | |||
| Y47 | РИ:=РИ+/-1 | ||
| Y48 | РИ:=A |
* - операция в АЛУ. Операция выбирается с помощью управляющих сигналов y11,y12,y13,y14,y15(см. таблицу 2)
T – адрес(номер) РОН. Т задается с помощью управляющих сигналов y7,y8,y9,y10(см. таблицу 3).
Сигнал Y47 используется как для увеличения, так и для уменьшения РИ на 1. Управление схемой инкремента-декремента осуществляется с помощью сигнала Y6(см. таблицу 4).
Сигнал Y66 используется для ввода байта данных с клавиатуры, сигнал Y67 – для вывода байта данных на экран.
Сигналы Y68 и Y69 используются для вывода сообщений об ошибках на экран.
Сигнал Y70 соответствует микрооперации, которая выводит на экран сообщение о завершении программы и завершает ее на следующем такте.
Пример: Данный набор управляющих сигналов соответствует микрооперации РОН[3] := РОН[3] + А:
y7,y8,y11,y14,y58
Таблица 2.
| Управляющие сигналы | Логические операции в АЛУ | Арифметические операции в АЛУ | |||
| y11 | y12 | y13 | y14 | y15=1 | y15=0 |
| 0 | 0 | 0 | 0 | _ Х | X+1 |
| 0 | 0 | 0 | 1 | ____ ХУ | X << 1 (1) |
| 0 | 0 | 1 | 0 | _ ХУ | X+2 |
| 0 | 0 | 1 | 1 | 0 | - |
| 0 | 1 | 0 | 0 | ____ ХУ | X >> 1 (0) |
| 0 | 1 | 0 | 1 | _ У | X+3 |
| 0 | 1 | 1 | 0 | ХУ | X-Y |
| 0 | 1 | 1 | 1 | _ ХУ | - |
| 1 | 0 | 0 | 0 | _ ХУ | X >> 1 (1) |
| 1 | 0 | 0 | 1 | ____ ХУ | X+Y |
| 1 | 0 | 1 | 0 | У | Y-X |
| 1 | 0 | 1 | 1 | ХУ | X+4 |
| 1 | 1 | 0 | 0 | FF | X << 1 (0) |
| 1 | 1 | 0 | 1 | _ ХУ | - |
| 1 | 1 | 1 | 0 | ХУ | - |
| 1 | 1 | 1 | 1 | Х | X-1 |
Операции Х >> 1 и X << 0 означают сдвиг на один разряд вправо и влево соответственно. В скобках указано значение, которое после сдвига устанавливается у старшего(при сдвиге вправо) или младшего(при сдвиге влево) бита.
Таблица 3.
| Управляющие сигналы | Адрес РОН [Т] | |||||||||||||||
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
| y7 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| y8 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| y9 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
| y10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Таблица 4.
| Управляющий сигнал | Выполняемая микрооперация |
| У6 =1 | Декремент (-1) |
| У6 = 0 | Инкремент (+1) |
2. Работа с макетом.
2.1 Запуск макета.
Windows – скачайте архив “cuu-windows.zip”, распакуйте его в отдельную папку, найдите в ней файл «cuu.exe», запустите.
Mac OS X –
















