Сборник методических указаний 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Сборник методических указаний



СБОРНИК МЕТОДИЧЕСКИХ УКАЗАНИЙ

К ЛАБОРАТОРНЫМ РАБОТАМ

 

по дисциплине

 

ОРГАНИЗАЦИЯ ЭВМ И СИСТЕМ

 

Часть 1

 

Направление подготовки: 230100 «Информатика и вычислительная техника»

Специальность: 230101«Вычислительные машины, комплексы, системы и сети»

Формы обучения: очная, очно-заочная

 

 

Тула 2010 г.

 

Методические указания к лабораторным работам составлены доц. каф ЭВМ Лебеденко Ю.И. и обсуждены на заседании кафедры ЭВМ факультета кибернетики

протокол № 15 от "_18_"____мая_____ 2010 г.

Зав. кафедрой _______________________ В.С. Карпов

 

Методические указания к лабораторным работам пересмотрены и утверждены на заседании кафедры ЭВМ факультета кибернетики,

протокол №___ от "___"______________ 201_ г.

Зав. кафедрой _______________________ В.С. Карпов


С О Д Е Р Ж А Н И Е

 

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

Исследование микропроцессора КР580ИК80А

 

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

Исследование однокристальной микроЭВМ

 

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

Исследование микропроцессора i8086 (К1810ВМ86) в режиме интерпретации

 

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

Исследование арифметического сопроцессора

 

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

Исследование блока запоминающих устройств статического типа

 

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

Исследование внутренней системы прерываний микропроцессора архитектуры x86

 

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

 

ИССЛЕДОВАНИЕ МИКРОПРОЦЕССОРА КР580ВМ80А

 

1. Цель работы

Работа выполняется с целью изучения структуры микропроцессора (МП) КР580ВМ80А и практического овладения аппаратно - программными средствами учебно-отладочного устройства«Электроника - 580».

 

2. Теоретические положения

Микропроцессор КР580ВМ80А является типичным представителем процессоров с регистрами общего назначения. Он является центральным процессорным элементом учебно-отладочного устройства (УОУ) «Электроника - 580», которое используется в качестве лабораторной установки, демонстрирующей архитектуру ЭВМ фон-Неймановского типа [1].

Для осуществления диалога пользователя с УОУ предусмотрены клавиатура и цифровой дисплей, действие которых обеспечивается программой-монитором объемом 1 Кбайт, записанной в ПЗУ

Структурная схема МП приведена на рис.1. Это однокристальный восьмиразрядный МП с однотипной внутренней организацией. МП имеет 8-разрядный аккумулятор (А), шесть регистров общего назначения (РОН) по 8 разрядов каждый, 4 буферных регистра, регистр флагов АЛУ, хранящих признаки результатов операций; регистр команды IR, указатель команды IР, указатель стека SP [2 – 4].

МП имеет также 8-разрядное АЛУ параллельного типа. Адресная шина 16-разрядная, что позволяет адресоваться к 65536 (64K) однобайтовым ячейкам памяти. К МП может быть подключено до 256 внешних устройств. В состав МП входит 16-разрядный указатель стека (SP), что допускает организовать вложения практически неограниченного числа подпрограмм. Из всех показанных на схеме регистров программно доступными являются A, B, C, D, E, F, H, L, SP, IP.

Набор команд МП содержит 111 инструкций. Команды содержат от одного до трех байтов. Для выполнения каждой команды используется от одного до пяти машинных циклов по 3 - 5 тактов в каждом.

Язык микрокоманд - это язык двоичных кодов, являющихся приказанием произвести те или иные элементы в определенное соотношение. Микрокоманды хранить в памяти невыгодно, поэтому все программы записываются в виде команд. Для перевода команд в микрокоманды используются специальные «словари», хранимые в постоянных запоминающих устройствах (ПЗУ) или программируемых логических матрицах (ПЛМ). Если микропроцессор (МП) имеет фиксированный набор команд, то такие средства входят в БИС процессора. Именно к такому классу и относится МП К580 ИК80 (аналог i8080).

МП К580 ИК80А имеет 8-разрядную шину данных и 16-разрядную шину адреса. Соответственно, 8 разрядов имеют аккумулятор (А) и регистр флагов (F= s z 0 ac 0 p 1 c). 8-битные регистры общего назначения (РОН) образуют пары: B C, D E, H L. Указатель команды РС и указатель стека SP имеют разрядность 16.

Команды фиксированного набора команд этой микросхемы по длине делятся на:

  1-й байт 2-й байт 3-й байт
однобайтовые: код операции;      
двухбайтовые: код операции 8-разрядные данные (D8);    
трехбайтовые: код операции мл. байт 16-разр. данных (адреса) ст. байт 16-разр. данных (адреса);

 

Для удобства описания и программирования каждя команда имеет мнемоническое обозначение из 3 – 4 букв (мнемокод).

По назначению команды делятся на 5 групп:

- команды пересылок

- арифметико-логические

- команды ввода-вывода

- команды управления

- специальные команды.

1 Команды пересылок.

а) однобайтовые пересылки:

MOV R1,R: R

MOV R,M: M[HL] ®R (здесь и далее M[YZ] – память, адресуемая регистровой парой YZ).

MVI R, D8: D8 ®R - эта команда имеет длину 2 байта и содержит во втором байте непосредственный операнд.

STAX YZ*: A ® M[YZ*], (YZ* = BC Ú DE). (Мнемокоды записываются STAX B или STAX D).

LDAX YZ*: M[YZ*]®A

SPHL: HL® SP.

Следующие две команды имеют длину 3 байта:

STA ADR: A ® M[ADR]

LDA ADR: M[ADR] ® A, здесь ADR – 16-разрядное значение адреса.

б) двухбайтовые пересылки:

LXI YZ, D16: D16 ® YZ, (YZ= BCÚDEÚHLÚSP)

SHLD ADR: HL® M[ADR], M[ADR+1]

LHLD ADR: M[ADR], M[ADR+1] ® HL

PUSH YZ**: YZ**®M[SP-1], M[SP-2], SP-2®SP, (YZ** = BCÚDEÚHLÚPSW=AÙ F)

POP YZ**: M[SP], M[SP+1] ® YZ**, SP+2 ®SP

Команды обмена байтами:

XCGG: HL«DE

XTHL: H«M[SP+1], L«M[SP]

2 Команды арифметических и логических операций:

а) арифметико-логические операции с одним операндом

CMC: -c®c (инверсия флага переноса)

STC: 1®s (установка флага знака)

CMA: -A®A (инверсия аккумулятора)

DAA: двоично-десятичная коррекции аккумулятора в два приема корректирует 8 - битное значение в аккумуляторе на две двоично-десятичные цифры с правильной установкой флага c:

Если младшая тетрада содержит число, большее 9, или если установлен флажок межтетрадного переноса ac=1, содержимое аккумулятора увеличивается на 6.

Если после этого старшая тетрада аккумулятора содержит число, большее 9, или если установлен флажок c, то в старшую тетраду прибавляется 6.

INR R: R+1 ® R

DEC R: R-1 ® R

INX YZ: YZ+1 ® YZ

DCX YZ: YZ-1 ®YZ

Сдвиговые операции:

RAR: арифметический сдвиг А вправо через бит переноса с

RRC: циклический сдвиг А вправо с занесением D0 в бит с

RAL: арифметический сдвиг А влево через бит переноса с

RLC: циклический сдвиг А влево с занесением D7 в бит с

 

б) арифметико-логические операции с двумя операндами:

ADD R: A+R ® A; ADC R: A+R +c ®A;

SUB R: A-R ® A; SBB R: A – R – c ® A;

ANA R: A Ù R ® A;

ORA R: A Ú R ® A;

XRA R: A Å R ® A

Команда сравнения CMP R: если A=R, 1® z; если A<R, 1®c

Имеются аналогичные команды с непосредственными операндами (двухбайтовые):

ADI D8: A+D8 ® A; ADC D8: A+D8 +c ®A;

SBI D8: A-D8 ® A; SBB D8: A – D8 – c ® A;

ANI D8: A Ù D8 ® A;

ORI D8: A Ú D8 ® A;

XRI D8: A Å D8 ® A

CPI R: если A=D8, 1® z; если A<D8, 1®c

16-разрядное сложение DAD YZ: HL+ YZ ®HL.

 

3 Команды ввода-вывода

IN n: [n] ® A; OUT n: A ®[n], где n – номер порта, [n] - число в соответствующем регистре

 

4 Команды управления

а) команды передачи управления

PCHL: HL ® PC (указатель команды)

JMP ADR: ADR ® PC - безусловный переход.

Условные переходы по программе:

J{con} ADR: если выполняется условие {con}, ADR ® PC

Каждое условие (по состоянию регистра флагов F) отображается своим мнемокодом:

JNZ: z=0; JZ: z=1;

JNC: c=0; JC: c=1

JPO: p=0; JPE: p=1

JP: s=0; JM: s=1

JB: после СМР A > R

б) обращение к подпрограмме

CALL ADR: PC ® M[SP-1], M[SP-2] ® SP, SP-2 ® SP, ADR ® PC

возврат из подпрограммы RET: M[SP], M[SP+1] ® PC, SP+2 ®SP

Имеются команды обращения и возврата из подпрограммы, которые имеют форму

C{con} ADR и L{con} ADR

в) обращение к ячейке памяти (аналог команды прерывания)

RST X: PC ® M[SP-1], M[SP-2] ® SP, SP-2 ® SP, ADR ® PC,

где Х= 0, 1,….7 номера соответствующих адресов (ADR= 0000, 0008, …, 0038)

 

5 Специальные команды

EI – разрешение прерывания

DI - запрещение прерывания

HLT – останов

NOP - пустая операция.

 

В МП имеются три состояния, продолжительность нахождения в каждом из которых определяется внешними сигналами. Это состояния ожидания, захвата и останова.

Питание МП осуществляется от источников напряжения, синхронизация – тактовой частотой - МГц.

 

 

 

 

В состав УОУ кроме самого МП входят: кварцевый синхрогенератор, осуществляющий тактирование МП; буфер адресной шины, необходимый для увеличения нагрузочной способности ША; ППЗУ и ОЗУ, необходимые для хранение программ и данных. Для управления этими запоминающими устройствами и для связи с клавиатурой используются контроллер шины данных и контроллер прямого доступа в память (КПДП), а также интерфейсная микросхема параллельного порта.

Передняя панель УОУ имеет клавиши данных (0 - F), командные клавиши, назначение которых приведено в таблице 1, дисплей с семисегментными индикаторами и справочную таблицу кодов команд. В этой таблице по горизонтали в шестнадцатеричном формате заданы младшие 4 бита кода команды, а по вертикали - старшие.

Таблица 1 Назначение клавиш УОУ

№ п/ /п Название клавиши Обозначение клавиши   Назначение клавиши
  Сброс RST Формирует сигнала сброса УОУ
  Адрес ADDR Переводит УОУ в режим задания адреса ячейки памяти
  Память MEM Переводит УОУ в режим записи данных в ячейку памяти
  Следующий NEXT Увеличивает на единицу адрес индицируемой ячейки памяти или регистра МП
  Восстановление CLR Восстанавливает начальное значение адреса или данных, если после их ввода не нажимались другие клавиши
  Регистр REG Переводит дисплей в режим отображения 8-разрядного регистра МП
  Шаг STEP Служит для выполнения очередной команды МП
  Прогон RUN Запускает программу на выполнение с остановом на контрольной точке или по команде останова МП
  Контрольная точка BRK Служит для задания адреса контрольной точки в программе

 

Клавиши данных используются также для задания имен регистров и регистровых пар МП КР 580 ВМ80А:

- клавиши A, B, C, D, E, 8/H, 9/L, F - для обозначения аккумулятора (А), регистров общего назначения (РОН) B - L, регистра признаков F;

- клавиша 1/Р - для обозначения указателя стека (SP);

- клавиша 2/T - для обозначения содержимого вершины стека (ST).

Старшие разряды вершины стека хранятся по адресу SP+1, а младшие - по адресу SP.

Индикатор адреса и данных состоит из 8 разрядов, каждый из которых является семисегментной ячейкой на светодиодах. При отображении ячейки памяти в разрядах 1 - 4 индикатора в шестнадцатеричной системе счисления высвечивается адрес, а в разрядах 7 - 8 - данные, хранящиеся по этому адресу. В других случаях в адресных разрядах (1 - 4) отображается, например, содержимое счетчика команд, а в разрядах данных (7 - 8) - очередная команда, либо содержимое регистра микропроцессора. В последнем случае в пятом разряде индикатора появляется наименование регистра.

При работе с УОУ используются 9 команд монитора, соответствующих 9 командным клавишам (табл.1), а также система команд, соответствующих командам микропроцессора КР580ВМ80А, представленным в справочной таблице на передней панели устройства.

В УОУ реализуются 3 режима работы: - пошаговый (режим отладки); - прогон программы пользователя в автоматическом режиме; - прогон программы пользователя с остановом по заданному адресу и числу проходов.

Основным режимом работы УОУ является режим отладки программ.

Программы размещаются в ОЗУ УОУ в области адресов от 8000h до 87FFh. Для загрузки программ в память нужно освоить следующие действия.

Начальный сброс МП выполняется при включении питания или нажатием клавиши RST (управление триггером сброса). При этом устанавливается: начальный адрес указателя стека (8200h), копирование содержимого счетчика команд пользователя в ячейках ОЗУ (83Е0h, 83E1h), очистка служебных регистров (83EF - 83FFh) и их загрузка исходными данными из ПЗУ.

Для чтения содержимого ячейки памяти с адресом NNNNh следует нажать клавиши ADDR NNNN. После этого в разрядах 1 - 4 индикатора отобразится заданный адрес ячейки памяти, а в разрядах 7 - 8 - ее содержимое. Для клавиши ADDR и далее для других командных клавиш опрос клавиатуры осуществляется программным путем через интерфейсную микросхему КР580ВВ55А. Код командной клавиши формирует начальный адрес программы ввода, а вводимый после этого адрес NNNNh через МП и буфер адреса поступает на 16-разрядную шину адреса (ША), формируя сигналы выбора кристалла и обращения к той или иной ячейке памяти ОЗУ или ППЗУ. При этом содержимое счетчика команд и содержимое ячейки памяти через контроллер ПДП поступает на индикацию.

Для чтения содержимого одного из регистров МП - X надо нажать следующие клавиши: REG X, где X - клавиша данных с наименованием соответствующего регистра (A, B, C, D, E, H, L, F). Код регистра по шине данных записывается в регистр Е микропроцессора, а в регистре HL формируется адрес области стека, где хранится содержимое выбранного регистра. При этом в разряде 5 индикатора формируется код регистра, в разряде 6 - тире, а в разрядах 7 - 8 через ПДП отображается содержимое этой области стека. При дальнейшем вводе с клавиатуры данные по ШД поступают в регистр D микропроцессора и в соответствующую ячейку памяти.

Нажатие на клавишу NEXT выведет на индикатор содержимое следующего регистра МП в последовательности A, B, C, D, E, F, H, L, А и т. д. При выполнении команды NEXT содержимое регистра НL увеличивается на 1.

Для отображения на индикаторе информации, хранящейся в регистровых парах МП, надо нажать следующие клавиши: ADDRRMEM, где R - обозначение одой из упомянутых выше клавиш. После нажатия клавиш в разрядах 5 - 6 индикатора отобразится имя регистровой пары, а в разрядах 1 - 4 - ее содержимое. Нажатие клавиши MEM обеспечивает доступ с возможностью смены информации в выбранной ячейке памяти ОЗУ, заключающийся в передаче данных (кодов команд и кодов чисел) с клавиатуры через ШД на ОЗУ с одновременной выдачей сигнала разрешения записи.

Запись программы в память УОУ осуществляется следующим образом:

Для установки адреса нужной ячейки памяти требуется нажать клавиши:

ADDRNNNN MEM, где NNNN - шестнадцатеричное значение адреса. После этого в четырех левых разрядах дисплея высветится адрес ячейки памяти, а в двух крайних правых - ее содержимое, а также загорится одна децимальная точка.

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

Если при вводе данных допущена ошибка, ее можно исправить нажатием дополнительных цифровых клавиш. В память будет записан и на дисплее отобразится только код двух последних цифровых клавиш. Нажатие клавиши CLR восстанавливает первоначальное содержимое ячейки памяти (при условии, что другие командные клавиши перед этим не нажимались).

Для перехода к адресу следующей ячейки памяти нужно нажать клавишу NEXT. При этом нет необходимости нажимать клавишу MEM еще раз.

Повторные нажатия клавиши MEM уменьшают на единицу адрес ячейки памяти (в отличие от клавиши NEXT, нажатие которой увеличивает этот адрес).

Высвечивание децимальной точки шестого слова индикатора дисплея указывает на то, что клавиша MEM была нажата и ввод данных в память разрешен. Если она не светится, данные восприняты не будут. При попытке ввести данные без предварительного нажатия клавиши MEM, а также, если на дисплее установлен адрес ПЗУ либо адрес, фактически отсутствующий в ОЗУ, на дисплее высветится сигнал ошибки E r r.

Запись информации в регистры микропроцессора.

Для выбора нужного регистра МП необходимо нажать следующие клавиши: REG, где X - клавиша с наименованием регистра. После нажатия клавиш в разряде 5 отобразится имя регистра, а в разрядах 7 - 8 - его содержимое, которое так же, как и для ячейки памяти можно изменить путем нажатия цифровых клавиш.

Если при некорректных действиях на индикаторе появился код ошибки - символ E r r, нажатием клавиши CLR или ADDR можно восстановить предыдущее состояние счетчика команд и саму команду. Нажатием клавиши MEM восстанавливается предыдущее значение ячейки памяти и ее адрес.

Операции, выполняемые микропроцессором.

Для МП КР580ИК80А характерно стандартное представление чисел для микроЭВМ:

-целое без знака от 0 до 28 - 1 (рис.2).

 

-целое со знаком в дополнительном коде с диапазоном изменения от минус 27 до плюс 27 - 1 (рис.3).

 

-двоично - кодированный десятичный формат (рис.4):

 

При составлении прикладных программ приходится выбирать то или иное направление их выполнения в зависимости от особенностей (признаков) текущих результатов, т.е. принимать решения в соответствии со складывающейся ситуацией. Для этого при выполнении многих команд микропроцессор формирует двоичные признаки (флажки), отражающие особенности результат выполнения команды. Значение каждого признака фиксируется в специальном триггере. Если какая-либо особенность имеет место, то в соответствующем триггере записывается 1 (флажок установлен); в противном случае триггер фиксирует 0 (флажок сброшен). Совокупность триггеров флажков образует регистр F - регистр флагов. Входы регистра флагов (рис.5) через комбинационную схему связаны с выходом АЛУ, и вместе с формированием результата операции производится установка или сброс флажков.

В МП КР580ВМ80А имеются следующие флажки:

С - флаг переноса; устанавливается при наличии переноса из старшего бита результата (в операциях вычитания С становится флажком заёма);

S - флажок знака; совпадает со значением старшего бита результата;

Z - флажок нуля; устанавливается при нулевом результате;

Р - флажок паритета (четности); устанавливается при наличии в результате четного числа единиц;

АС - флажок вспомогательного переноса (полупереноса); устанавливается при возникновении переноса из бита D3 в бит D4 (т.е. из младшей тетрады в старшую).

В регистре F флаги распределены следующим образом (рис.5):

 

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

 

Сложение и вычитание осуществляется однобайтными командами ADD R: A (A)+(R) и SUB R: A (A)-(R), где R - имя одного из РОНов. Флаг С в операции вычитания устанавливается, если уменьшаемое меньше вычитаемого.

Многобайтные числа хранятся в смежных ячейках памяти и адресуются по младшему байту. Обработка отдельных байтов осуществляется последовательно. При обработке многобайтных чисел используются команды сложения с переносом ADС R: A (A)+(R)+ С и вычитания с заёмом SUB R: A (A)-(R)-C, где C - значение бита переноса.

В системе команд имеются 2-байтные команды сложения и вычитания с непосредственной адресацией: адресуемым операндом служит второй байт <B2> команды. Это команды

ADI: A (A)+ <B2>, SUI: A (A) - <B2>,

ACI: A (A)+ <B2>+C, SBI: A (A) - <B2> - C.

Команды арифметического сравнения CMP R: A (A) - (R) и CPI: A (A) - <B2> производят вычитание из содержимого аккумулятора значения адресуемого операнда, модифицируют по результату все флажки, но не изменяют содержимого аккумулятора. Факт равенства фиксируется по флагу Z=1.

Однобайтная команда десятичной коррекции аккумулятора DAA в два приема корректирует 8 - битное значение в аккумуляторе на две двоично-десятичные цифры с правильной установкой флага С:

1) Если младшая тетрада содержит число, большее 9, или если установлен флажок межтетрадного переноса АС=1, содержимое аккумулятора увеличивается на 6.

2) Если после этого старшая тетрада аккумулятора содержит число, большее 9, или если установлен флажок С, то в старшую тетраду прибавляется 6.

 

 

3. Оборудование

Учебно-отладочное устройство «Электроника К580».

 

4 Задание на работу

4.1. Ознакомиться со структурой УОУ и МП КР580ИК80А.

4.2. Изучить назначение клавиш УОУ и способы отображения адреса и данных на дисплее.

4.3. Освоить практическое пользование таблицей кодов команд и загрузку программ в память УОУ.

4.4. Используя порядок работы с программой - монитором, ввести команду ADD в память с начального адреса 8200h. Записать необходимые данные в регистры. Считать содержимое регистра F, представленное в шестнадцатеричной форме, и перевести его в двоичной код. В режиме «отладка» выполнить команду. Считать содержимое регистров А и F и убедиться в правильности выполнения команды.

4.5. Проделать перечисленное в п. 4.4. для команд ADD, SUB, ADC, SBB, ACI, SBI, CMP, DAA. Особенно обратить внимание на команду CMP (сравнение знаковых и беззнаковых чисел). Определить, какие команды условного перехода следует употребить для случаев условий >, <, =, ³, £..

 

5. Порядок выполнения работы

5.1. Подключить УОУ к сети и перевести тумблер «Сеть» в положение «Вкл».

5.2. Нажать клавишу RST, при этом на индикаторе появится значение 8200**??, где * - пробел;? - случайная информация.

5.2. Перевести тумблер в положение «Отладка».

5.3. Закодировать первую команду, используя таблицу кодов на лицевой панели УОУ.

5.4. Задать начальный адрес программы 8200 и ввести команду.

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

5.6. Прочитать значение регистра F.

5.7. Выполнить команду нажатием клавиши STEP.

 

Таблица 2 Исследование МП КР580ИК80А

Чис-ла Ко-ман-да Содержимое аккумулятора Содержимое   Непосред. Содержимое регистра флагов
    до выполн. после выполн. РОНа операнд до выполнения команды после выполнения команды
    команды команды   <B2> F S Z AC P C F S Z AC P C
без ADD                                
зна- SUB                                
ка ADC                                
  ……                                
  CMP                                
  DAA                                
со ADС                                
зна- SBB                                
ком CMP                                

 

5.8. Прочитать содержимое выбранного регистра (РОНа), аккумулятора и регистра F. Полученные данные занести в таблицу (таблица 2).

5.9. Повторить вышеуказанное для других команд. Для команд SBI, ACI вместо графы «Содержимое РОНа» заполняется графа «Непосредственный операнд».

5.10. Повторно выполнить команды ADC, SBB, CMP, взяв в качестве операндов однобайтовые числа со знаком (числа в дополнительном коде).

5.11. Декодировать значения бит регистра флагов, записать их в таблицу и проанализировать причины установки (сброса).

 

6. Оформление отчета

Отчет оформляется на листах формата А4 или на тетрадных листах и должен содержать:

- название курса, название и номер лабораторной работы;

- цель работы и задание на исследование;

- общую структурную схему МП КР580ВМ80А;

- таблицу с результатами вычислений;

 

7. Контрольные вопросы

7.1. Перечислите основные технические характеристики МП КР580ВМ80А.

7.2. В чем состоит назначение программы - монитора УОУ?

7.3. Назовите наиболее распространенные формы представления чисел для микропроцессорных систем.

7.4. Как формируются и фиксируются признаки текущих результатов?

7.5. Как учитывается межбайтный перенос в операциях с многобайтными числами?

7.6. Каким образом обнаруживается переполнение при сложении и вычитании чисел со знаком?

7.7. Как распределяются флажки в регистре F МП КР580ВМ80А?

7.8. Как фиксируется факт А>B и А<B при выполнении команд СМР?

 

 

Библиографический список

1. Горнец Н.Н. Организация ЭВМ и систем: Учеб. пособие для вузов / Н.Н. Горнец, А.Г. Рощин, В.В. Соломенцев. – М.: Академия, 2006. – 320 с.

2. Белов А.В. Самоучитель по микропроцессорной технике / А.В. Белов. – 2-е изд., СПб.: Наука и техника, 2007. – 256 с.

3. Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справочник: В 2 т. / Н.Н.Аверьянов, А.И.Березенко, Ю.И.Борщенко и др.; Под ред. В.А.Шахнова. - М.: Радио и связь, 1988 - Т.1. - 380 с.

3. Проектирование микропроцессорной электронно-вычислительной аппаратуры: Справочник /В.Г.Артюхов, А.А.Будняк, В.Ю. Лапий и др. – К.: Техника, 1988. – 263 с.

 

 

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

 

ИССЛЕДОВАНИЕ ОДНОКРИСТАЛЬНОЙ МИКРОЭВМ

 

1.Цель работы

Работа выполняется с целью изучения структуры однокристальной микроЭВМ (ОМЭВМ) MCS 48 (К1816ВЕ48) и практического овладения имитационной программой для отладки программ ОМЭВМ PseudoSam.

 

2. Теоретические положения

Семейство микросхем MCS-48 фирмы Intel содержит микроЭВМ, каждая из которых выполнена на одном кристалле. В это семейство входят несколько различных однокристальных микроЭВМ, которые используют единый набор команд, но отличаются разным количеством дополнительных кристаллов, содержащих ПЗУ, их типом и средствами ввода-вывода [1 –4].

Однокристальные микро ЭВМ выполняются в виде СБИС и содержат все устройства, необходимые для реализации цифровых систем обработки информации. В минимальную конфигурацию ОМЭВМ входят процессор, ОЗУ данных и ПЗУ команд, порты ввода-вывода информации, встроенный тактовый генератор, таймер-счетчик.

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

Базовая организация ОМЭВМ представлена на рис.1.

Рис. 1 Структура однокристальной микро ЭВМ

Назначение выводов ОМЭВМ:

BUS (порт Р0) – 8-разрядная шина данных; Р1 и Р2 – 8-разрядные порты ввода/вывода; Т0- тестируемый вход нуля; Т1 - тестируемый вход единицы; INT - запрос прерывания.

 

Средства, доступные для программирования, показаны на рис.2.

Рис. 2. Программно-доступные регистры ОМЭВМ

Счетчик команд PC 12 разрядов, однако, старшие разряды не изменяются в процессе счета, например, если производится выборка по адресу 7FFh, то очередная команда счетчика будет выбираться по адресу 000h. Это позволяет создавать 2 банка памяти команд объемом по 2К. Процессор содержит единственный аккумулятор А, с помощью которого выполняются арифметические и логические операции также имеется несколько одноразрядных регистров, которые могут использовать программы. С – флаг переноса, F0, F1 - разряды условий, т.е. признаки состояний, которые устанавливаются пользователем, BS - выбор банков регистров, и MB- выбор банка памяти команд, SP – 3-х разрядный указатель на ячейку стека в памяти данных. Стек содержит адрес возврата при вызове подпрограмм и обслуживании прерываний. Большинство 1 разрядных регистров и указатель стека группируются в виде байта PSW - слова состояния процессора, который может передаваться в аккумулятор и извлекаться оттуда.

Память команд и память данных в микро ЭВМ логически и физически разделены. Память команд представляет собой только ПЗУ. Такое адресное пространство, выделяемое для программ и обслуживаемое архитектурой ЭВМ, составляет 4К, включая внешнее ПЗУ. Максимальный объем памяти данных на самом кристалле 256 байт. Большинство моделей семейства имеют конструктивно ввод-вывод в виде 3-х однобайтовых портов, 2-х тестовых входов и одного входа сигнала прерывания. Имеются дополнительные контакты для таких функций, как установка в начальное состояние после выключения источника питания, пошаговое выполнение программы, стробирование расширителей памяти и каналов ввода-вывода. Один 8-ми разрядный порт (BUS) и часть 2-го порта (P23 – Р20) используются для формирования мультиплексной шины адреса и данных. Процессор имеет одноуровневую систему прерываний по вектору, которая воспринимает прерывания от 2-х источников: внутреннего таймер/счетчика и внешнего источника в виде сигнала прерывания, которое поступает через входной контакт. При запросах на прерывание и возврата после их обслуживания обеспечивается автоматическая задержка и извлечение из стека внутренней памяти данных содержимого счетчика команд и определенных признаков состояния.

 

Большинство команд микро ЭВМ имеет длину 1 байт. Многие команды могут осуществлять доступ к одному из 8-ми разрядных регистров, находящихся в памяти данных. Номер регистра содержится в 1-м байте команды вместе с кодом операции. Команды, которые задают непосредственный операнд или адрес в памяти содержат второй байт.

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

Архитектура микро ЭВМ обеспечивает работу памяти команд максимальным объемом 4К, но команды перехода и вызова подпрограмм указывают адрес только в 11 разрядах. Адрес задается в команде (например, JMP addr), причем старшие биты адреса заданы в первом байте. Переключение 12-ого разряда счетчика команд обеспечивается с помощью триггера MB, который может устанавливаться в 1 и сбрасываться в 0 с помощью команд SEL MB1 и SEL MB0. Всякий раз, когда выполняется переход или вызов подпрограммы в 11-ти младших разрядах PC производится загрузка адреса из команды, а самый старший разряд загружается из триггера MB. При вызове подпрограммы по команде CALL и возврате из нее по команде RET полный 12-ти разрядный адрес возврата загружается в стек и извлекается оттуда. Команда возврата из прерывания RETR обеспечивает также восстановление четырёх признаков состояния (BS, F0, AC, C) из стека.

Кроме разбиения на банки объемом 2К память команд делится на страницы объемом 256 байт каждая. Команды условного перехода (например, JC addr, JNZ addr, JT1 addr) указывают 8-ми разрядный адрес назначения текущей страницы. Они выполняют проверку наличия или отсутствия 0 в аккумуляторе или проверку состояния отдельных разрядов C, F0, F1 и TF (флаг таймера), которые отображают внутренний признак состояния. Можно проверять также состояние внешних выводов T0, T1 и INT. Команда JB - проверка наличия единицы в указанном разряде аккумулятора. Величина индекса B изменяется от 0 до 7. Команда DJNZ R, addr обеспечивает уменьшение содержимого регистра и последующий переход, если содержимое регистра не равно 0, эта команда очень полезна для организации цикла.

Память команд используется для хранения непосредственных данных. Например, этот способ используется в командах MOV A,#data; ANL A,#data; MOV @R0,#data и т.п. В ассемблере PseudoSam непосредственные данные задаются в виде строки символов, которые могут интерпретироваться как двоичные (с префиксом #b'), десятичные (с префиксом #d'), или шестнадцатеричные (с префиксом #h').

 

Для выполнения большинства операций над данными в микро ЭВМ используется ЗУ чтение/запись на кристалле, т.е. внутренняя память данных объемом до 256 байт.

Во внутреннюю память данных входит 2 набора рабочих регистров, называемых регистровыми банками: R0 – R7 и R0’ – R7’. Триггер BS указывает, какой набор рабочих регистров будет использоваться в программе: при BS=0 банк 0; при BS=1 - банк 1. 8-я – 23-я ячейки образуют стек адресов возврата. Стек включает 8 элементов по 2 байта и организован в виде кольцевого буфера, что исключает переполнение или антипереполнение Выбор банка регистров осуществляется командой SEL RB0(1). В процессоре микро-ЭВМ используется только 2 способа адресации для доступа к внутренней памяти данных:

1. Внутренняя прямая регистровая адресация - операнд содержится в рабочем регистре R0-R7 текущего регистрового дампа, что указывается 3-х разрядным полем команды, например:

MOV R3,A – пересылка аккумулятора в регистр;

ORL A,R1 – логическое «ИЛИ»;

XCH A,R5 – обмен;

ADD A, R0 - сложение и т.п.

2. Внутренняя косвенная регистровая адресация - один из регистров R0 или R1 текущего регистрового банка содержит адрес байта внутренней памяти данных, которая в свою очередь содержит операнд:

ADDC A,@R1 – сложение с переносом;

INC @R0 – инкремент операнда в памяти данных.

Сложение - единственно возможная в ОМ ЭВМ MCS 48 арифметическая операция.

Ввод/вывод организуется с помощью команд вида IN A,P2; OUTL BUS,A. С портами ввода/вывода возможны логические операции вида ORL BUS,#data.

Архитектура микро-ЭВМ также обслуживает внешнюю память, достигающую 256 байт, которая размещается в отдельной микросхеме. Доступ к ней организуется с помощью косвенной адресации с использованием аккумулятора, с помощью команд вида. MOVX @R0, A.

 

4. Оборудование

IBM –совместимый персональный компьютер. Комплекс программ пакета PseudoSam.

 

4 Задание на работу

4.6. Ознакомиться со структурой ОМЭВМ, ее способами адресации и системой команд, а также с программами а48.com, avsim.exe.

4.7. Набрать в текстовом редакторе программу в соответствии с вариантом задания и откомпилировать её с помощью командной строки >а48.com prog.asm, где prog – имя файла с программой. В тексте можно использовать директивы вида:

.org - установка начального адреса программы;

.equ - определение идентификатора-константы;

.db - определение байта;

.end - конец программы.



Поделиться:


Последнее изменение этой страницы: 2016-04-26; просмотров: 504; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.91.153 (0.16 с.)