Архитектура ЭВМ

Архитектура ЭВМ.
Лабораторные работы.

Введение.
Для выполнения лабораторных работ будет использована программная модель ЭВМ, которая была разработана Жмакиным А.П.[1]. Эта модель позволяет реализовать доступ к различным элементам ЭВМ. На рис.1 представлено главное окно этой программы.
рис.1

Окно Процессор обеспечивает доступ ко всем регистрам и флагам процессора.
Программно-доступные регистры и флаги:
Acc – аккумулятор;
PC – счетчик адреса текущей команды;
SP – указатель стека;
RB – регистр базового адреса;
RA – регистр адреса, содержащий исполнительный адрес при косвенной адресации;
IR – входной регистр;
OR – выходной регистр;
I - флаг разрешения прерываний.
Системные регистры и флаги:
DR – регистр данных АЛУ, содержащий второй операнд;
MDR – регистр данных ОЗУ;
MAR – регистр адреса ОЗУ;
RDR – регистр данных блока РОН;
RAR – регистр адреса блока РОН;
CR – регистр команд, содержащий поля:
COP – код операции;
TA - тип адресации
ADR – адрес или непосредственный операнд.
Z – флаг нулевого значения Acc;
S – флаг отрицательного значения Acc;
OV – флаг переплнения
Кнопка R (Reset) устанавливает все регистры в начальное (нулевое) значение.
Окно Текст программы представляет собой окно текстового редактора, в котором можно редактировать тексты программ, загужать в него текстовые файлы и сохранять подготовленный текст в виде файла.
В этом окне присутствует кнопка Компилировать, которая запускает процедуру ассемблирования текста программы. При обнаружении синтаксических ошибок информация о них выводится в окно Сообщения.
Внимание! Откомпилированная программа размещается, начиная с адреса 000. Данные надо располагать в памяти так, чтобы они не пересекались с кодом программы.


Рис.2
Выполнение программы осуществляется нажатием на кнопку Пуск. На рис.2 представлены результаты выполнения программы сложения чисел 5 и 7, которые располагаются в ячейках памяти с адресами 070 и 071. Результат выполнения программы, число 12 записывается в ячейку ОП с адресом 072. Описание этой программы содержится в таблице 1.
Таблица1.
Адрес
Команда
Комментарий

000
rd 070
Загрузка в аккумулятор первого числа.

001
wr R1
Запись первого числа в регистр R1

002
rd 071
Загрузка в аккумулятор второго числа

003
add r1
Сложение чисел, результат в аккумуляторе

004
wr 072
Запись результата в ОЗУ

005
hlt
Стоп


Таблица 2. Система команд.
№п/п
Мнемокод
Название

00
NOP
Пустая операция

01
IN
Ввод

02
OUT
Вывод

03
RET
Возврат из подпрограммы

04
HLT
Стоп

05
JMP
Безусловный переход

06
JZ
Переход, если 0.

07
JNZ
Переход, если не 0

08
JS
Переход, если отрицательно

09
JNS
Переход, если положительно

10
JO
Переход, если переполнение

11
JNO
Переход, если нет переполнения

12
CALL
Вызов п/п

13
RD
Чтение (в аккумулятор)

14
WR
Запись (из аккумулятора)

15
ADD
Сложение

16
SUB
Вычитание

17
MUL
Умножение

18
DIV
Деление

19
ADI
Сложение с данными

20
SBI
Вычитание с данными

21
MULI
Умножение с данными

22
DIVI
Деление с данными

23
MOV
Пересылка R1 R2


Таблица 3. Типы адресации
Обозначение
Код
Тип адресации
Пример


0
Прямая (регистровая)
ADD 23 (ADD R3)

#
1
Непосредственная
ADD #33

@
2
Косвенная
ADD @33

@R
3
Косвенно - регистровая
ADD @R3


Задание 1.
Ввести в окно Текст программы, программу, представленную в таблице 1. Выполнить ее, проанализировать полученные результаты.

Лабораторная работа № 1. Архитектура ЭВМ и система команд

Задание

Ознакомиться с архитектурой ЭВМ.
Записать в ОЗУ "программу", состоящую из пяти команд варианты задания выбрать из табл. 1. Команды разместить в последовательных ячейках памяти.
При необходимости установить начальное значение в устройство ввода IR.
Определить те программно-доступные объекты ЭВМ, которые будут изменяться при выполнении этих команд.
Выполнить в режиме Шаг введенную последовательность команд, фиксируя изменения значений объектов, определенных в п. 4, в таблице (см. форму табл. 10).
Если в программе образуется цикл, необходимо просмотреть не более двух повторений каждой команды, входящей в тело цикла.


Таблица 1. Варианты задания 1


IR
Команда 1
Команда 2
Команда 3
Команда 4
Команда 5

1
000007
IN
MUL #2
WR10
WR @10
JNS 001

2
Х
RD #17
SUB #9
WR16
WR@16
JNS 001

3
100029
IN
ADD #16
WR8
WR@8
JS 001

4
Х
RD #2
MUL #6
WR 11
WR @11
JNZ 00

5
000016
IN
WR8
DIV #4
WR @8
JMP 002

6
Х
RD #4
WR 11
RD @11
ADD #330
JS 000

7
000000
IN
WR9
RD @9
SUB#1
JS 001

8
Х
RD 14
SUB #8
WR 8
WR @8
JNZ 001

9
100005
IN
ADD #12
WR 10
WR @10
JS 004

10
Х
RD 4
ADD #15
WR 13
WR @13
JMP 001

11
000315
IN
SUB #308
WR11
WR @11
JMP 001

12
Х
RD #988
ADD #19
WR9
WR @9
JNZ 001

13
000017
IN
WR11
ADD 11
WR @11
JMP 002

14
Х
RD #5
MUL #9
WR10
WR @10
JNZ 001


Лабораторная работа №2. Вычисление арифметических выражений

Задание 1. Вычислить значение арифметического выражения:

(a + b) + (c – d)

Варианты заданий Таблица 5.
Вариант
a
b
c
d


4
12
14
2


5
6
9
7


2
10
3
5


3
7
2
1


4
10
12
10


2
8
6
3


8
3
9
4


1
7
8
6


2
3
4
5


5
4
3
2


Задание 2. Вычислить значение арифметического выражения

1
x2-5(x+7)+55 x=5

2
8(x-2)2-5x+10 x=7

3
250- x2+ 12x x=8

4
12(x2-7)2 x=6

5
2x2-7x+12 x=9

6
(x+6)2+120 x=6

7
x2+5(x+12) x=8

8
3x2-5(x+12)+10 x=5

9
(3x-7)2 +5x-12 x=7

10
5x2+6(x+5)-25 x=6

11
(x-3)2-12x+30 x=5

12
5x2+4(x+3)-25 x=9


.
Лабораторная работа №3. Программирование разветвляющихся процессов.

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

Y={
(x-11)2-125 при х>=16


x2+72x-680 при х<16



Адрес
Команда
Примечание

000
IN
Ввод х

001
WR 30
Запись х в ячейку 30

002
SUB #16
Сравнение х с границей (16)

003
JS 010
Переход по отрицательной разности

004
RD 30
Загрузка в аккумулятор х

005
SUB #11
Х-11

006
WR 31
Запись х -11 в ячейку 31

007
MUL 31
(х-11)2

008
SUB #125
(х-11)2-125

009
JMP 018
Переход на вывод результата

010
RD 30
Загрузка в аккумулятор х

011
MUL 30
Х2

012
WR 31
Запись Х2 в ячейку 31

013
RD 30
Загрузка в аккумулятор х

014
MUL #72
72*Х

015
ADD 31
Х2+72*Х

016
SUB 680
Х2+72*Х-680

017
OUT
Вывод результата в регистр OR

018
HLT
Стоп


Задание .
Разработать программу вычисления функции в соответствии с заданным вариантом.
1. Y={
x2-5(x+7)+55 x>=10
5. Y={
(3x-7)2 +5x-12 x>=10


15x-(x-5)2 x<10

3x2-12x x<10

2. Y={
250- x2+ 12x x>=10
6 Y={
5x2+6(x+5)-25 x>=10


12(x2-7)2 x<10

(x-3)2-12x+30 x<10

3. Y={
2x2-7x+12 x>=10
7. Y={
8(x-2)2-5x+10 x>=10


(x+6)2+120 x<10

5x2+4(x+3)-25 x<10

4. Y={
x2+5(x+12) x>=10
8. Y={
6(x+1)2-5x+12 x>=10


3x2-5(x+12)+10 x<10

2x2-9(x-3)+31 x<10




Лабораторная работа №4. Программирование циклических процессов.

Задание. Вычислить таблицу значений функции

1
x2-5(x+7)+55 x от 0 до 5 шаг 1

2
8(x-2)2-5x+10 x от 1 до 9 шаг 2

3
250- x2+ 12x x от 4 до 10 шаг 2

4
12(x2-7)2 x от 0 до 10 шаг 2

5
2x2-7x+12 x от 6 до 1 шаг -1

6
(x+6)2+120 x от 10 до 0 шаг -2

7
x2+5(x+12) x от 1 до 10 шаг 3

8
3x2-5(x+12)+10 x от 10 до 4 шаг -1

9
(3x-7)2 +5x-12 x от 2 до 10 шаг 2

10
5x2+6(x+5)-25 x от 9 до 1 шаг -1

11
(x-3)2-12x+30 x от 5 до 10 шаг 1

12
5x2+4(x+3)-25 x от 5 до 0 шаг -1


Лабораторная работа №5. Обработка массивов

При решении задач, связанных с обработкой массивов, возникает необходимость изменения исполнительного адреса при повторном выполнении некоторой последовательности команд.
Эта задача может быть решена путем использования косвенной адресации. В качестве примера рассмотрим программу суммирования последовательности чисел

Адрес
Команда
Примечание

000
rd #3
Загрузка в аккумулятор числа повторений цикла

001
wr r2
Запись числа повторений цикла в регистр R2

002
rd #070
Загрузка в аккумулятор адреса первого числа

003
wr r1
Запись адреса первого числа в регистр R1

004
rd #0
Загрузка в аккумулятор начального значения суммы S=0

005
wr r3
Запись начального значения суммы в регистр R3

006
m1:rd @r1
Загрузка в аккумулятор очередного числа

007
add r3
Добавление к текущей сумме очередного числа

008
wr r3
Запись текущего значения суммы в регистр R3

009
rd r1
Загрузка в аккумулятор адреса очередного числа

010
add #1
Увеличение на 1 адреса очередного числа

011
wr r1
Запись адреса очередного числа в регистр R1

012
rd r2
Загрузка в аккумулятор оставшегося числа повторений цикла

013
sub #1
Уменьшение на 1оставшегося числа повторений цикла

014
wr r2
Запись в R2 оставшегося числа повторений цикла

015
jnz m1
Проверка оставшегося числа повторений цикла(R2), и если R2<>0 переход на метку M1

016
rd r3
Загрузка в аккумулятор полученного значения суммы S

017
wr 080
Запись результата в ОЗУ

018
hlt
Стоп


Задание 1.

Вариант
Задание

1
Количество четных чисел

2
Значение и порядковый номер минимального числа

3
Сумму нечетных чисел

4
Значение и номер первого числа >10

5
Количество чисел <10

6
Сумму чисел >10

7
А1-А2+А3-А4+А5.

8
Значение и порядковый номер максимального числа


Задание 2. Решить задачу из Задания 3 для обработки 2х массивов с использованием подпрограммы, с записью полученного результата в ячейку, следующую за последним элементом массива.

Литература.
Жмакин А.П. Архитектура ЭВМ. СПБ.: БХВ - Петербург, 2006.-320с.








13PAGE 15


13PAGE 14515



Компилировать



ё 1ё
·
·
·Њ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·ѓ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·5
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·Ђ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·!
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·®
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·…
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ђ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·f
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·@
·
·
·
·
·
·
·
·
·
·
·
·
·м
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
· 
·
·
·
·
·Ђ
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·@
·
·
·
·
·
·
·
·
·
·
·
·
·°
·
·
·
·н
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·>
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·=
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·_
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·!
·”
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·D
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Ж
·
·
·
·
·
·
·
·
·
·
·
·
·
·‡
·
·
·
·
·
· Заголовок 1 Заголовок 215

Приложенные файлы

  • doc 8827580
    Размер файла: 261 kB Загрузок: 0

Добавить комментарий