Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Задание 1. Выполнение команды сложение.




Тема: Основы организации компьютера

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

Тема: «Изучение общих принципов работы компьютера».

Цель занятия: Ознакомление с моделью функционирования компьютера на примере выполнения команд ввода-вывода.

Отрабатываемые вопросы:

1. Ознакомление с моделью функционирования компьютера.

2. Выполнение команд ввода-вывода.

 

Организационно – методические указания

Задание 1. Ознакомление с моделью функционирования компьютера.

Для запуска модели нужно в директории Computer запустить файл Computer.exe. Откроется окно «Система моделирования простейшей ЭВМ» (рис. 1.).

 

 

Рис. 1. Система моделирования простейшей ЭВМ

 

Данная модель состоит из:

1. Арифметического устройства, предназначенного для выполнения арифметических команд. В него входят:

1.1.Аккумулятор (АК) для временного хранения операндов и промежуточных результатов.

1.2. Регистр операндов (РО)для временного хранения операндов.

1.3. Флаги (признаки) для организации операций условного перехода (переход по нулю , переход по знаку ) и фиксации преполнения . Разрядность АКиРО пять десятичных знаков, следовательно максимальное положительное число равно 99999.

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

2.1.Поле код операции (КОП ). Для указания операции подлежащей исполнению. Это поле имеет разрядность два десятичных знака. В зависимости от того какие значение принимает поле, могут выполняться следующие команды:

· Поле КОП=01 – команда ввод. Ввод данных с Устройства ввода в Аккумулятор;

· Поле КОП=02 – команда вывода. Вывод данных из Аккумулятора на Устройство вывода;

· Поле КОП=03 – команда сложения;

· Поле КОП=04 – команда вычитания;

· Поле КОП=05 – команда умножения;

· Поле КОП=06 – команда деления;

· Поле КОП=07 – команда загрузить. Служит для загрузки в АК одного из операндов из Оперативной памяти (ОП). Изначально оба операнда хранятся в основной памяти, и до выполнения операции один из них нужно загрузить в Аккумулятор. Поскольку адрес одного из операндов предопределен, в командах обработки достаточно явно указать местоположение только второго операнда;

· Поле КОП = 08 – команда записать. Служит для загрузки операнда или результата операции в ячейку памяти (из АК в ОП);

· Поле КОП=09 – установить переход по нулю. Служит для организации условного перехода по адресу, указанному в поле адреса команды, если результат выполнения предыдущей команды равен нулю (флаг Ноль устанавливается в единицу). Если результат выполнения предыдущей команды не равен нулю, то переход не происходит и начинает выполняться следующая команда программы;

· Поле КОП=10 – установить переход по знаку. Служит для организации условного перехода по адресу, указанному в поле адреса команды, если результат выполнения предыдущей команды отрицательный (флаг Знак устанавливается в единицу). Если результат выполнения предыдущей команды не отрицательный, то переход не происходит и начинает выполняться следующая команда программы;

· Поле КОП=11 – безусловный переход. Служит для организации перехода по адресу указанному в команде. Переход осуществляется всегда в не зависимости от результата выполнения предыдущей команды;

· Поле КОП=12– останов. Этой командой должна заканчиваться любая программа.

Примечание. Команды Ввода и Вывода относятся к командам ввода – вывода; команды Сложения, Вычитания, Умножения, Деления к командам арифметической обработки; команды Переход по нулю, Переход по знаку и Безусловный переход к командам управления.

2.2. Поле тип адресации (ТА). Для указания способа формирования исполнительного адреса (адрес ОП по которому находится операнд). В зависимости от того какое значение принимает поле могут использоваться следующие способы адресации:

· Поле ТА=0 – прямая адресация. В поле Адреса (А) указан исполнительный адрес операнда (Рис. 2);

 

 

Рис. 2. Прямая адресация

 

· Поле ТА=0 – непосредственная адресация. В поле Адреса (А) находится не адрес, а операнд, т.е. обращение к ОП не происходит (Рис. 3);

 

 

Рис. 3. Непосредственная адресация

 

· Поле ТА=2 – косвенная адресация. В поле адреса команд находится адрес ячейки ОП, в которой расположен адрес операнда (Рис. 4).

Команда
КОП
ТА=2
 
Память
Операнд  
 
 
 
Непосредственный адрес операнда=90
Адрес ОП=80
Адрес ОП=90

 

Рис. 4. Косвенная адресация

 

2.3. Поле адреса (А). В нем находится исполнительный адрес операнда при прямой адресации. Сам операнд при непосредственной адресации. Адрес ячейки ОП при косвенной адресации или адрес следующей команды при выполнении команд перехода.

3. Оперативной памяти, предназначенной для записи, хранения и выдачи команд и операндов. В неё входят: Регистр слова (РС), Регистр адреса (РА), кнопки Запись и Чтение. Для того чтобы занести в ячейку ОП какое – либо значение необходимо на РА набрать адрес ячейки, а на РС операнд или команду и нажать кнопку Запись ( Рис. 5). Для того чтобы прочитать данные из ОП необходимо задать адрес ячейки и нажать кнопку Чтение.

 

 

Рис. 5. Оперативная память

 

4. Блока управляющих сигналов (БУС), предназначенного для имитации работы устройства управления (Рис. 6). С его помощью можно задавать режимы работы (Автомат, по цикл, по такт), запускать программы в выбранном режиме (кнопка Старт), останавливать выполнение программы ( кнопка Стоп), осуществлять сброс регистров (кнопка Сброс). Кроме этого выбирать регистры для записи информации с помощью меню Выбор регистров, а также прослеживать выполнение команды по микрокомандам окно МК.

Рис. 6. Блок управляющих сигналов

Примечание. При выполнении все команды разбиваются на подкоманды. Подкоманда, которая выполняется за один такт (режим Такт при однократном нажатии кнопки Старт) называется микрокомандой.

5. Счетчика адреса команды (СЧАК). В рассматриваемой модели любая команда занимает одну ячейку, поэтому содержимое СЧАК увеличивается на единицу, что обеспечивается подачей сигнала управления +1 ( рис.1). По завершении текущей команды адрес следующей команды программы всегда берется из счетчика команд. Для изменения естественного порядка вычислений (перехода в иную точку программы) достаточно занести в СЧАК адрес точки перехода.

6. Устройства ввода в состав которого входит Регистр ввода (РВВ), предназначенного для ввода команд и данных.

7. Устройства вывода в состав которого входит Регистр вывода (РВЫВ), предназначенного для вывода команд и данных.

Задание 2. Выполнение команд ввода-вывода.

Рассмотрим работу компьютера на примере выполнения команд ввода – вывода.

Постановка задачи: составить программу считывающую операнд с Устройства ввода на Устройство вывода. Сохранить операнд в ячейки ОП.

Исходные данные: с Устройства ввода считать операнд равный « 555 », сохранить его в ячейке ОП по адресу «80» и вывести на Устройство вывода.

1. Введем заданный операнд в Регистр ввода. Для этого в Блоке управляющих сигналов в окне Выбор регистров выберем Регистр ввода (Рис. 7), соответствующее окно регистра окрасится в синий цвет. Введем заданный операнд с клавиатуры в РВВ.

 

Рис. 7. Ввод данных в РВВ

 

2. Составим программу согласно заданию. Она приведена на рис.8.

 

  Адрес Команды   Команда   Пояснения
Поля команды
КОП ТА А
        Запись операнда с РВВ в АК
        Запись операнда из АК в ячейку ОП по адресу 80
        Обнуление АК. В команде используется непосредственная адресация. Следовательно « 00 » в поле Аявляется операндом
        Пересылка операнда из ячейки ОП с адресом 80 в АК
        Вывод операнда на РВЫВ
        Останов
             

 

Рис. 8. Программа выполнения ввода-вывода данных

 

3. Введем составленную программу в модель. Для этогов Блоке управляющих сигналов в окне Выбор регистров выберем Регистр адреса, соответствующее окно регистра окрасится в синий цвет.Наберем адрес первой команды « 00 ». Затем выберем Регистр слова, соответствующее окно регистра окрасится в синий цвет. Введем с клавиатуры первую команду « 01 0 00 » (Рис. 9). Нажмем кнопку Запись.

 

 

Рис. 9. Занесение команд программы в ОП

 

4. Аналогично введем другие команды. Обратите внимание, что после нажатия кнопки Запись значение РА увеличивается на единицу, следовательно, нужно задать лишь адрес первой команды, адреса остальных формируются автоматически.

5. Введем в СЧАК адрес первой команды программы «00 », аналогично пункту 3 и рис. 6.

6. Для более полного представления принципов работы компьютера рассмотрим процесс выполнения команды Ввод по микрокомандам:

6.1. Выберем в Блоке управляющих сигналов режим работы - Такт и нажмем кнопку Старт, т.е. начнем выполнение команды Ввод по микрокомандам.

6.2. В окне МК БУС появится первая микрокоманда: РА:=СЧАК (Регистру адреса присвоить (:=) значение Счетчика адреса команды), по которой информация из СЧАК, т.е. адрес первой команды программы будет передан в ОП на РА. На модели направление передачи показано красной стрелкой (рис. 10).

6.3.При следующем нажатие кнопки Старт в БУС появиться микрокоманда: Чтение (РС:=ОП(РА)) (присвоить Регистру слова содержимое Регистра адреса оперативной памяти),т.е. в РС будет считана команда 01 0 00. А в результате выполнения предыдущей МК на РА Оперативной памяти появится значение СЧАК.

 

 

Рис. 10. Выполнение микрокоманды РА:=СЧАК

6.4. Нажмем кнопку Старт. В РС появилась команда, а в БУС микрокоманда: РК:=РС (Регистру команд присвоить значение Регистра слова), которая будет выполняться в следующем такте (рис. 11).

 

 

Рис. 11. Выполнение микрокоманды Чтение РС:=ОП(РА)

 

6.5.Последовательно нажимая кнопку Старт, получим порядок выполнения микрокоманд (микропрограмму) реализующий команду Ввод (рис 12).

Внимание! Микрокоманда, появляющаяся в окне МК БУС в текущем такте будет выполнена в следующем.

 

№ такта Микрокоманда Результат выполнения МК
  РА:=СЧАК На РА появится адрес команды из СЧАК
  Чтение (РС:=ОП(РА)) В РС заносится содержимое РА, т.е. команда 01 0 00 (Ввод)
  РК:=РС В РК считывается команда Ввод из РС ОП
  АК:=РВВ В АК с РВВ считывается операнд, т.е. число 555
  СЧАК:=СЧАК +1 Окончание выполнения команды Ввод. Формирование адреса следующей команды. В следующем такте значение СЧАК будет увеличено на 1(в данной модели команды занимают одну ячейку памяти), т.е. в нем будет находиться адрес следующей команды

Рис. 12. Микропрограмма выполнения команды «Ввод»

 

7. После окончания выполнения команды Ввод переведите режим работы в Автомат,нажмите кнопку Старт, т.е. выполните остальные команды программы (рис 8).

8. Проверьте правильность выполнения программы, используя кнопку Чтение в блоке ОП. В Блоке управляющих сигналов выберете Регистр адреса ( окно Выбор регистров). Наберете адрес « 80 ». Нажмите кнопку Чтение. В ячейке по адресу «80» и в РВЫВ должен быть занесен операнд «555».

Задание для самостоятельной работы. Составить и выполнить программу считывающую операнд с Устройства ввода на Устройство вывода. Операнд сохранить в ячейке ОП. Исходные данные:

· Операнд = 9091;

· Адрес ячейки ОП = 90 (в ней будет сохранен операнд);

· Выполнить по тактам команду Вывод и объяснить назначение микрокоманд.

Лабораторная работа №2

Тема: «Изучение принципов работы компьютера на примере выполнения команд арифметической обработки данных».

Цель занятия: Получение практических навыков по принципам функционирования компьютера.

Отрабатываемые вопросы:

1. Выполнение команды сложение.

2. Выполнение команды умножение.

 

Организационно – методические указания

Рассмотрим работу компьютера на примере выполнения команд арифметической обработки.

Задание 1. Выполнение команды сложение.

Постановка задачи: составить программу вычисляющую сумму двух операндов и сохраняющую результат в ячейке ОП.

Исходные данные: первый операнд принять равным «100 », записать его вячейку ОП по адресу «50 »; второй равным «299 », записать по адресу «51 »; сохранить сумму в ячейке ОП по адресу «90 ».

1. Занесём данные в ячейки ОП. Для этогов Блоке управляющих сигналов в окне Выбор регистров выберем Регистр адреса, соответствующее окно регистра окрасится в синий цвет.Наберем адрес первого операнда « 50 ». В Блоке управляющих сигналов в окне Выбор регистров выберем Регистр слова, соответствующее окно регистра окрасится в синий цвет. Введем с клавиатуры первый операнд « 100 ». Нажмем кнопку Запись. После нажатия кнопки значение адреса в РА увеличилось на единицу и приняло значение « 51 », следовательно, адрес второго операнда задался автоматически, т.к. операнды расположены в смежных ячейках ОП. Введем второй операнд « 299 », нажмем кнопку Запись (действия выполняются аналогично, как и для первого операнда).

2. Составим программу согласно заданию. Она приведена на рис.1.

 

  Адрес Команды   Команда   Пояснения
Поля команды
КОП ТА А
        Загрузка первого операнда из ячейки ОП с адресом 50 в АК
        Сложение двух операндов результат будет изначально находиться в АК
        Запись результата в ОП по адресу 90
        Останов
             

 

Рис. 1. Программа сложения двух чисел

 

3. Введем составленную программу в модель. Для этогов Блоке управляющих сигналов в окне Выбор регистров выберем Регистр адреса, соответствующее окно регистра окрасится в синий цвет.Наберем адрес первой команды « 00 ». В Блоке управляющих сигналов в окне Выбор регистров выберем Регистр слова, соответствующее окно регистра окрасится в синий цвет. Введем с клавиатуры первую команду « 07 0 50 ». Нажмем кнопку Запись.

4. Аналогично введем другие команды. Обратите внимание, что после нажатия кнопки Запись значение РА увеличивается на единицу.

5. Введем в СЧАК адрес первой команды программы «00 », аналогично

ЛР №1, рис. 5.

6. Выполним команду сложения по микрокомандам. Для этого:

6.1.В Блоке управляющих сигналов выберем режим работы – Такт. Последовательно нажимая кнопку Старт,выполним первую команду не акцентируя внимания на этапах её выполнения (выполнение команды Загрузка происходитза шесть тактов).

6.2. Начало выполнения команды Сложение представлено на рис. 2. В Регистре команд находится команда 07 0 50 – загрузить в АК содержимое ячейки «50». В АК находится первый операнд – «100». В ОП содержимое ячейки «50». В окне МК БУС появилась микрокоманда – СЧАК:=СЧАК +1, которая будет выполнена в следующем такте.

6.3. Нажмем кнопку Старт. В результате выполнения микрокоманды СЧАК увеличится на единицу, в окне МК появится микрокоманда:

РА:=СЧАКРегистру адреса присвоить значение Счетчика адреса команд.

 

 

Рис.2. Начало выполнения команды сложение

 

6.4. Последовательно нажимая кнопку Старт, проследим все этапы выполнения команды Сложение (рис. 3).

Внимание! Микрокоманда, появляющаяся в окне МК БУС будет выполнена в следующем в такте. Направления передачи информации показаны красными стрелками.

 

№ такта Микрокоманда Результат выполнения МК
1- 5 - Выполнение команды «Загрузка» в АК первого операнда (100)
  СЧАК:=СЧАК+1 Формирование адреса следующей команды
  РА:=СЧАК На РА появится адрес команды из СЧАК
  Чтение (РС:=ОП(РА)) В РС заносится содержимое РА, т.е. команда 03 0 51(сложение)
  РК:=РС В РК считывается команда сложение из РС ОП
  РА:=А На регистр адреса заносится адрес второго операнда (51) из поля А команды, находящейся на РК
  Чтение (РС:=ОП(РА)) В РС (ОП) заносится второй операнд (299)
  РО:=РС Регистру операнда присваивается значение РС
  ПУСК АУ Запуск арифметического устройства, т.е. в следующем такте выполнится команда сложение и в АК будет сформирован результат
  СЧАК:=СЧАК +1 Окончание выполнения команды Сложение. Формирование адреса следующей команды. В следующем такте значение СЧАК будет увеличено на 1(в данной модели команды занимают одну ячейку памяти), т.е. в нем будет сформирован адрес следующей команды

 

Рис. 3. Микропрограмма выполнения команды сложение

 

7. Выберем в Блоке управляющих сигналов режим работы Автомат инажмем кнопку Старт, т.е. выполним все остальные команды программы.

8. В результате выполнения программы в ячейке ОП по адресу «90» будет результат равный «399».

9. Проверьте правильность выполнения программы (аналогично ЛР№1, заданию 2, пункт 8).

Задание для самостоятельной работы. Составить программу вычитания из первого операнда второго. Результат сохранить результат в ячейке ОП. Исходные данные:

· Операнд 1 = 456, записать по адресу = 53;

· Операнд 2 = 68, записать по адресу равному 54;

· Адрес ячейки ОП = 77 (в ней будет сохранен результат);

· Выполнить по тактам команду «Загрузка» дляпервого операндаи объяснить назначение микрокоманд;

· Выполнить по тактам команду «Вычитание» и объяснить назначение микрокоманд.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...