Главная страница
Навигация по странице:

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

  • Лабораторная работа № 1.

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

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

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


    Скачать 261 Kb.
    НазваниеАрхитектура эвм. Лабораторные работы
    АнкорАрхитектура ЭВМ
    Дата12.07.2022
    Размер261 Kb.
    Формат файлаdoc
    Имя файлаАрхитектура ЭВМ.doc
    ТипДокументы
    #629457



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

    Лабораторные работы.



    Введение.

    Д ля выполнения лабораторных работ будет использована программная модель ЭВМ, которая была разработана Жмакиным А.П.[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. Ознакомиться с архитектурой ЭВМ.

    2. Записать в ОЗУ "программу", состоящую из пяти команд — варианты задания выбрать из табл. 1. Команды разместить в последовательных ячейках памяти.

    3. При необходимости установить начальное значение в устройство ввода IR.

    4. Определить те программно-доступные объекты ЭВМ, которые будут изменяться при выполнении этих команд.

    5. Выполнить в режиме Шаг введенную последовательность команд, фиксируя изменения значений объектов, определенных в п. 4, в таблице (см. форму табл. 10).

    6. Если в программе образуется цикл, необходимо просмотреть не более двух повторений каждой команды, входящей в тело цикла.


    Таблица 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) + (cd)
    Варианты заданий Таблица 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с.


    написать администратору сайта