Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
IntAn EQU 61h ;номер программного прерывания↑ ⇐ ПредыдущаяСтр 2 из 2 Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
CmdProc MACRO;обработка шага команды ЕС ЭВМ, предполагая, ;что адрес в ES:DI SAR WORD PTR ES:[DI],1;сдвиг двух 32-битных RCR WORD PTR ES:[DI+2],1;регистров на 1 бит RCR WORD PTR ES:[DI+4],1; вправо RCR WORD PTR ES:[DI+6],1 ENDM PshReg MACRO ListReg;сохранить указанные в списке регистры IRP Reg,<ListReg> PUSH Reg ENDM ENDM PopReg MACRO ListReg;восстановить указанные регистры IRP Reg,<ListReg> POP Reg ENDM ENDM prg_cod SEGMENT PARA PUBLIC 'code' ASSUME CS:prg_cod,DS:prg_cod ASSUME SS:prg_cod,ES:prg_cod ORG 100h;программа для.com-файла Start: JMP main RegIm DD 6 DUP (?);регистры ЕС ЭВМ 0 - 5 DD -14; регистр 6 DD 00h; регистр 7 DD 8 DUP (?); регитры 8 - 15 OldInt DD 0 Main PROC NEAR;основная процедура CALL Init;установка обработчика прерывания INT IntAn; префикс DB 8Eh; код команды SRDA DB 60h; r1=6-операнд, r3=0 - игнорируется DB 0; база b2=0, смещение d2=0 - игнорируется DB 32; непосредственное число сдвигов CALL Restore;восстановление обработчика прерывания RET Main ENDP OurInt PROC FAR; обработчик прерывания-префикса PshReg <AX,BX,CX,DI,BP> MOV BP,SP ADD BP,10;5 регистров по 2 байта до CS:IP MOV BX,[BP];читаем смещение команды MOV ES,[BP+2];ЕС ЭВМ и ее сегмент ADD WORD PTR [BP],4;модифицируем адрес возврата MOV AL,BYTE PTR ES:[BX+1]; номер регистра, ROR AL,1; прочитанный в старшей ROR AL,1; тетраде получили CBW; в регистре AX LEA DI,CS:RegIm; номер регистра как смещение ADD DI,AX; в таблице двойных слов MOV AL,BYTE PTR ES:[BX+3];число сдвигов CBW; устанавливаем в MOV CX,AX; регистре CX CyclES: CmdProc;выполнение одного сдвига LOOP cyclES PopReg <BP,DI,CX,BX,AX> IRET OurInt ENDP Init PROC NEAR;установка обработчика прерывания MOV ah,35h MOV AL,IntAn;получить в ES:BX адрес INT 21h;старого обработчика MOV WORD PTR OldInt, BX;сохраняем адрес MOV WORD PTR OldInt+2,ES;этого обработчика MOV AH,25h; и устанавливаем новый MOV AL,IntAn MOV DX,CS MOV DS,DX LEA DX,OurInt INT 21h RET Init ENDP Restore PROC NEAR;восстановление старого обработчика MOV AH,25h MOV AL,IntAn LDS DX,CS:OldInt INT 21h RET Restore ENDP prg_cod ENDS END start
Лабораторная работа №4 ИССЛЕДОВАНИЕ АРИФМЕТИЧЕСКОГО СОПРОЦЕССОРА
1. Цель и задачи работы
Изучение архитектуры и основ системы команд арифметического сопроцессора К1810ВМ87 (i8087). Получение навыков программирования сопроцессорной системы.
2.Теоретические положения
Арифметический сопроцессор (АСП) К1810ВМ87 является сопроцессором центрального процессора (ЦП) К1810ВМ86 (i8086) [1], ориентированным на выполнение арифметических операций над числами с плавающей точкой. Назначение и наименование большинства его выводов полностью совпадает с соответствующими выводами ЦП в максимальном режиме [2] (см. лаб. раб. №4). Остальные выводы имеют следующее назначение: BUSY – выходной сигнал занятости – соединяется со входом TEST ЦП; INT – выходной сигнал прерывания. Выводы QS1, QS2 служат АСП для получения информации о состоянии очереди команд ЦП. АСП может работать только совместно с ЦП, разделяя с ним общий поток команд, выбираемый из памяти центральным процессором и поступающий в оба процессора. ЦП имеет в своей системе команд команду ESC, которая содержит код внешней операции для АСП и (если необходимо) адрес операнда в памяти. Выполнение ЦП команды ESC заключается в вычислении, если необходимо, адреса операнда и фиктивном считывании слова данных по этому адресу. АСП контролирует выполняемый ЦП поток команд и, встретив команду ESC, запоминает ее физический 20-разрядный адрес операнда и первое слово данных. После этого АСП выполняет операцию параллельно с работой ЦП. Если АСП требуется операнд, то он выбирает оставшиеся слова из памяти посредством запросов цикла шины у ЦП по сигналу RQ/GT. С начала выполнения команды АСП выставляет уровень BUSY=1, который используется для синхронизации с ЦП. Параллельная работа ЦП и АСП продолжается до тех пор, пока ЦП не потребуется получить результаты выполнения текущей операции в АСП или выполнить новую команду ESC. Перед выполнением соответствующего действия ЦП должен выполнить команду WAIT, которая переводит ЦП в состояние ожидания до тех пор, пока не будет получен сигнал TEST=0. Команда WAIT вставляется компилятором в программу автоматически. АСП оперирует с числами в семи форматах (рис.1).
Формат директива определения данных Целое слово (ЦС) 15 0 s |________ DW Короткое целое (КЦ) 31 0 s |__________________ DD Длинное целое (ДЦ) 63 0 s |____________________________________ DQ Двоично-десятичное (ДД)79 0 s |0000000|d17 … _______________________…d0 DT Короткое веществ. (КВ) 31 23 0 s |__E__|_____m______ DD Длинное веществ. (ДВ) 63 52 0 s |____E____|_____________m____________ DQ Временное веществ (ВВ)79 64 0 s |_____E_____|_______________m______________ DT Рис.1. Форматы данных арифметического сопроцессора
Все форматы вещественных чисел имеют бит знака (s), поле порядка (E) и мантиссы (m). Обычно числа представлены в АСП в нормализованной форме, когда мантисса лежит в пределах от 1 до 2. Например, число, объявленное как короткое вещественное определяется как: (-1)S ´(1, m1 m2 m3 …. m23 )´2 E-127 . Для объявления некоторого числа в вещественном формате в программе оно должно быть приведено с точкой. Например, переменные var1 DQ - 4.0256 и var2 DQ 4.0 будут числами с плавающей точкой, а var3 DQ 4 будет задано в целочисленном формате ДЦ. В процессе обработки данных все операнды АСП хранятся в формате ВВ; в него они переводятся при загрузке в АСП и переводятся из него в исходный формат при сохранении в памяти. АСП имеет стековую организацию блока регистров. Группа рабочих 80-битовых регистров заполняется операндами по стековому принципу (рис.2). Регистр ST(0) первым получает загружаемое число и передает предыдущее значение в ST(1) при загрузке следующего значения. Большинство арифметических операций используют вершину стека ST(0), этот регистр адресуется во многих командах неявно (по умолчанию). Команды с двумя операндами оперируют с регистрами ST(0) и ST(1), помещая результат в ST(0), если это не определено дополнительно. 79 64 0 ST(0) ________|_______________________ ST(1) ________|_______________________ ST(2) ________|_______________________ ST(3) ________|_______________________ .. ________|_______________________ .. ________|_______________________ ST(6) ________|_______________________ ST(7) ________|_______________________ Рис.2. Рабочие регистры арифметического сопроцессора
АСП имеет регистр управления CR (16-бит) и регистр состояния SR (16-бит). В регистре управления можно задавать режимы работы АСП с помощью установки бит управления бесконечностью (IC), управления округлением (RC), точностью (PC). В младшем байте CR содержатся общая маска запроса прерывания (IEM) и отдельные биты маскирования различных причин прерывания АСП: PM – неточный результат, UM – антипереполнение, OM - переполнение, ZM – деление на ноль, DM – денормализованный операнд, IM – недействительная операция. Регистр состояния служит для проверки условий по результату операций АСП. Его формат приведен на рис.3. 15 0 B | C3 | ‘ST’ | C2 | C1 | C0 || IR | ´ | PE | UE | OE | ZE | DE | IE Pис.3. Регистр состояния арифметического сопроцессора
Здесь младший байт отображает разные случаи причин прерывания от АСП (например, при делении на ноль ZE=1, при переполнении OE=1, и т.п.) Бит IR соответствует активному состоянию вывода INT (выход запроса прерывания от АСП, который соединяется обычно с одним из входов запроса контроллера прерываний). В старшем байте 3-битовое поле ST указывает физический регистр, являющийся в данный момент вершиной стека. Бит В соотвествует выходному сигналу сопроцессора BUSY (занятость). Биты C3 – C0 показывают тип результата операции. В первую очередь необходимо запомнить значение битов C0 и C3, т.к. они часто используются для определения результата сравнения (таблица 1). Таблица 1 Значения бит состояния АСП
Чтобы использовать сопроцессор в программе, достаточно включить команды АСП в ее текст. Все эти команды имеют мнемоническое обозначение, начинающееся с буквы ‘F’ (“floating-point”). Если следующая буква команды - ‘I’, следовательно, операция выполняется с целочисленным форматом. Другие буквы указывают на конкретную операцию. Например, команда FADD складывает два вещественных операнда; FISUB – вычитает одно целое число из другого. Базовая модель АСП i8087 имеет 68 мнемокодов, которые можно разделить на четыре группы: команды перемещения данных, арифметические команды, специальные вычислительные команды и команды управления. Обычно мнемокоды легки для понимания: FLD – “load” (загрузка стека из памяти), FST – “store” (сохранение из регистра в память), FCOM – “compare”, (сравнение) FSQRT – вычисление квадратного корня («square root») числа в ST(0)), FSTSW – «store state word», (сохранить слово состояния) и т.д. В конце команды может стоять суффикс ‘P’. Он означает, что операция выполняется с извлечение значения (pop) из регистра ST(0). После мнемокода операции записываются имена операнда получателя (destination) и источника (source). При отсутствии одного из них, он по умолчанию содержится в регистре ST(0), как было указано выше. Суффикс ‘R’ означает, что команда выполняется с переменой направления (reverse) источника и получателя. Например, FDIV src: ST(0) ST(0) / src, FDIVR src: ST(0) src / ST(0). Большинство современных процессоров с архитектурой х86 имеют встроенный арифметический сопроцессор, который программно совместим с АСП i8087.
3. Оборудование IBM – совместимая ПЭВМ, операционная система, поддерживающая MS-DOS, интегрированный отладчик Turbo Debugger, компилятор Ассемблера tasm.exe.,компоновщик tlink.exe. 4. Задание на лабораторную работу 4.1. Изучить теоретические положения. 4.2. Разобрать программу, приведенную в приложении, которая выводит на экран номер ветви алгоритма вычисления функции v=f(x,y,z): ì x2 - y2 +z, если x > y и z > 0; (1) v = í , если x < y и z > 0; (2) î x + y + z, если z < 0. (3) 4.3. Изменить программу в соответствии с вариантом задания (таблица 2). Таблица 2 Варианты заданий
Выполнить программу в отладчике и записать результаты для команд АСП в таблицу: Таблица 3 Результаты исследования арифметического сопроцессора
5. Порядок выполнения работы 5.1. Прочитать теоретические положения и ответить на контрольные вопросы. 5.2. Набрать текст программы, приведенный в приложении, откомпилировать и компоновать его в exe-файл. 5.3. Выполнить программу в пошаговом режиме. Состояние АСП в отладчике контролируется при выводе на экран специального окна «Numeric processor» в меню «View». Обратить внимание на выполнение условного перехода в соответствии со значением регистра SR. 5.4. Изменить текст программы в соответствии с вариантом задания, выполнить ее в пошаговом режиме и записать результаты в таблицу 3. 5.5. Изменить значения исходных операндов так, чтобы выполнялась другая ветвь алгоритма и повторить для них п.5.4.
6. Содержание отчета Отчет должен содержать цель и задачи работы, схему алгоритма вычисления функции по варианту задания, таблицу с результатами двух прогонов программы.
7. Контрольные вопросы 7.1. Как включается АСП в вычислительную систему? 7.2. С какими форматами чисел работает АСП? 7.3. Какие регистры содержит в своем составе сопроцессор? 7.4. Каково значение префиксов и суффиксов в мнемокодах команд АСП? 7.5. Напишите мнемокод команды, АСП, выполняющей действие над целыми числами: ST(0) mem - ST(0) (mem – операнд в памяти). 7.6. Какие биты содержит регистр состояния АСП и каково их значение?
Библиографический список 1. Абель П. Ассемблер. Язык и программирование для IBM PC / П. Абель. – 5-е изд. – Киев: Вектор. – М.: Энерго: Корона-Вектор, 2007. – 736 с. 2. Микропроцессорный комплект К1810: Структура, программирование, применение: Справочная книга / Под ред. Ю.М. Казаринова. - М.: Высшая школа, 1990. - 269 с.
Приложение
DB 30 dup ('stack') Sts1 ends ds1 segment para public 'data' X dq 1.0 Y dq 3.0 Z dq -4.0 Stat dw (?) V dq (?) Ds1 ends cs1 segment para public 'code' Main proc far Assume cs:cs1,ds:ds1 Push ds Xor ax,ax Push ax Mov ax,ds1 Mov ds,ax Fld qword ptr z Ftst Fstsw word ptr stat Fwait mov ah,byte ptr stat+1 Sahf Ja label1 Fld qword ptr y Fadd Fld qword ptr x Fadd Fstp qword ptr v mov dx,'3' Jmp label3 Label1: fld qword ptr y Fcom x Fstsw stat Fwait mov ah,byte ptr stat+1 Sahf Ja label2 Fmul st(0), st(0) Fsub st(1),st(0) Fld qword ptr x Fmul st(0),st(0) Fadd st(0),st(2) Fstp qword ptr v mov dx,'1' Jmp label3 Label2: fld qword ptr z Fmul st(0),st(0) Fld qword ptr x Fmul st(0),st(0) Fsub st(0),st(1) Fabs Fsqrt Fstp qword ptr v mov dx,'2' Label3: mov ah,2 Int 21h Ret Main endp Cs1 ends End main
Лабораторная работа №5 ИССЛЕДОВАНИЕ БЛОКА ЗАПОМИНАЮЩИХ УСТРОЙСТВ СТАТИЧЕСКОГО ТИПА 1. Цель и задачи работы Изучение принципов построения модулей полупроводниковых запоминающих устройств (ЗУ) на БИС ЗУ статического типа и вопросов сопряжения с микропроцессором (МП) КР580ИК80А. Овладение системой адресации МП и навыками проектирования аппаратно-программных средств систем памяти. 2. Теоретические положения Микропроцессор КР580ИК80А является центральным процессорным элементом учебно-отладочного устройства (УОУ) "Электроника 580". Это устройство используется в качестве лабораторной установки. При проектировании функционально и конструктивно законченных модулей ЗУ на полупроводниковых БИС ЗУ решаются следующие основные задачи [1, 2]: - выбор БИС ЗУ с оптимальной организацией модуля, отвечающей требованиям на технические характеристики (быстродействию, емкости памяти, потребляемой мощности, конструктивным параметрам и помехоустойчивости); - включение модуля ЗУ и размещение его в адресном пространстве; - согласование работы модуля. ЗУ с системной шиной процессора по временной диаграмме и нагрузочной способности. Используемые микросхемы ЗУ в устройстве "Электроника 580" - асинхронные БИС ЗУ статического типа (СТ) КР565РУ2А (1К х 1) в качестве основной памяти (рис.1 я) и БИС ПЗУ КР573РФ2(2К х 8) (рис. Id}. Последние представляют собой перепрограммируемые ПЗУ со стиранием информации ультрафиолетовым облучением [3 - 5]. Любая БИС ЗУ имеет организацию памяти Ni x ni бит, где Ni - число адресуемых слов (если БИС имеет число адресных входов Ao,A}...,Am-i, то Ni =2 в степени mi); ni - число двоичных разрядов в слове (определяется числом выводов входных данных DI или числом выводов выходных данных DO). На временных диаграммах (рис.16, 26) представлены динамические параметры микросхем памяти [3]. Наиболее важными из них являются: - tCY - длительность цикла обращения к памяти - это минимальный промежуток времени, по истечении которого можно вновь обращаться к памяти (обычно это относится к адресным входам, поэтому цикл обращения чаще обозначается как tCY(A)); - tA - время выборки данных (например, t A(A)-это промежуток времени от момента подачи адреса до появления данных на выходе при условия, что все остальные сигналы поданы). Как видно из рисунков, в некоторых случаях индекс «А»; - t su - интервал времени между началами двух сигналов на входах микросхемы; - tDIS - интервал времени, в течение которого происходит восстановлении исходного состояния на выходе данных БИС. Указанные динамические параметры БИС ЗУ являются справочными данными [3]. Они характеризуют условия работоспособности схемы и, кроме тогo, являются верхними значениями: и tA(A), и tcs отсчитываются в режиме чтения от самого последнего сигнала на входе БИС до появления данных на выходе. Рассмотрим задачу покрытия адресного пространства основной памяти МП КР580ВМ80А (Рис. 3 а). Решение этой задачи на; БИС ПЗУ КР573РФ2 (2К х 8) и БИС ОЗУ СТ КР565РУ2А(1Кх1) показано на (рис, 36). Дешифратор адреса выполнен двухступенчатым: первая ступень - микросхема К155ИДЗ, на нее поступают 4- старших разряда ША, а каждый выход адресует пространство в 4 Кбайт. Вторая ступень выполнена на двух микросхемах К155ИД4. Эта ступень дешифрует разряды; А10, А11 ША, непосредственно формируя сигналы выбора микросхем памяти CS ROMi,. Каждый выход дешифратора адресует пространство в 1 Кбайт. По входам S1 и S2 эти микросхемы пробируются сигналом MEMW & MEMR. Нулевой выход ИДЗ адресует 4К с адреса OOOOh no OFFFh. Разделение любого 4К на два блока по 2К производится с помощью адресного разряда А11 (если А11=0 - младшие 2К, если А11=1, то старшие 2К). Конструкция устройства «Электроника - 580» предусматривает возможность более полного перекрытия адресного пространства за счет использования дополнительных выходов дешифратора CS ROM i, CS RAM i. В этом случае в существующий блок ЗУ могут быть установлены ПЗУ 2 - ПЗУ 4 (адреса 0800h - IFFFh), а за счет установки платы расширения ЗУ используются сигналы выбора кристалла ОЗУ 3, ОЗУ 4, адресующие область памяти 8800h - 8FFFh. Особенностью асинхронных БИС ЗУ КР565РУ2А статического типа, как видно из рис. 1, является то, что на выходе микросхемы будет информация при записи в нее данных со входа [2]. Эта особенность не позволяет подключить ОЗУ непосредственно к шине данных. Разделение двунаправленной ШД на две однонаправленные шины - шину записи в ОЗУ и шину считывание из ОЗУ осуществляется с помощью двух микросхем шинных формирователей КР589АП16 (рис. 4). Эти шинные формирователи отпираются только на время обращения к ОЗУ, т.е. на время существования сигналов выбора кристалла ОЗУ, а направление передачи определяется сигналом DBIN. Входной сигнал DMAEN (разрешение прямого доступа к памяти) также позволяет считывать данные из ОЗУ. Другие варианты сопряжения блоков ЗУ с системными шинами приведены в [2,3]. Решение третей задачи - согласование во времени работы блока ЗУ с системной шиной (расчет ТCY и ТA и решение вопроса о синхронном или асинхронном режиме работы системной шины с формированием сигнала внешней готовности ЗУ - сигнала RDY (аппаратная готовность ЗУ)) требует знания шинного цикла чтения и записи памяти микропроцессора КР580ИК80А.
Рассмотрим командный цикл на примере команды STA 8234h (рис. 5). Кроме указанных шинных циклов микропроцессор реализует также циклы: прямого доступа в память, прерывания, останова, ввода, вывода. Эти типы циклов в лабораторной работе не рассматриваются. Машинные циклы (выборки 1-го, 2-го и 3-го байта, записи или чтения ОЗУ, занесения в стек или извлечения из стека) различаются лишь одним. При выборке команды в такте Т1 значение счетчика команд выдается на ША и его содержимое увеличивается на 1. При чтении - записи ОЗУ на ША выдается исполнительный адрес операнда. При обращении к стеку в первом такте выполняются действия: - в стек: SP-1 -> SP; SP ->ШA (цикл 1) и SP-1->SP; SP –> ША (цикл 2); - из стека: SP -> ША; SP+1 -> SP (цикл 1) и SP -> ША; SP+1 ->SP (цикл 2). Поэтому рассмотрим временную диаграмму машинного цикла чтения/записи ОЗУ (рис.6). Временные интервалы здесь приведены в наносекундах.
Как показано на рис.6, сигнал аппаратной готовности ОЗУ всегда равен «I». В этих условиях к моменту t* ОЗУ должно выдать данные на шину данных. Для схемы сопряжения блока ОЗУ согласно схемам рис.3 и 4 (цепи входных и выходных данных) задержка появления данных на шине данных составит: tD(RD-D) = tзлэ + tD(DC)+ tA(cs) + tD(FB) = 10 + 33 + 300 + 30 = 373 нс,
где tD(RD_D) - задержка появления данных на шине данных относительно самого последнего из управляющих сигналов, подаваемых на БИС ЗУ; tЗЛЭ- время задержки одного логического элемента; tD(DC) - время задержки сигнала на дешифраторе ИД4; tA(CS) - время выбора микросхемы; tD(FB)- время задержки сигнала на формирователе КР589АП16 от входов DI до выхода DB. К полученному значению следует прибавить значение задержки распространения сигнала по системной шине (30 нс). Таким образом, последним на модуль ОЗУ подается сигнал чтения (MEMRD) (фактически последним на БИС ЗУ будет подан сигнал CS) и задержка данных относительно сигнала (MEMRD) составит ~ 400 нс. Длительность Т* (рис.6) равна: Т* = Тс+ Тф- TD(T2-MEMRD) = 500 + 220 -140 = 580 нс. Таким образом, Т* > TD(RD-D) и аналогичным расчетом можно получить, что ТCY(A) > ЗТс. Отсюда следует вывод, что блок ОЗУ будет работать по синхронной системной шине (на входе «аппаратной готовности» - RDY МП должна постоянно быть логическая единица). 3. Оборудование Учебно-отладочное устройство «Электроника 580», двухлучевой осциллограф. 4.Задание на работу 4.1. Построить командный цикл команды безусловного перехода JMP аналогично рис. 5. Снять осциллограмму командного цикла для команды JMP, используя контакты разъемов УОУ (см. приложение). 4.2. В соответствии с вариантом задания (табл.1) выполнить программирование бесконечного цикла с первой командой. Ассемблировать команды вручную. 4.3. Используя порядок работы с программой - монитором, ввести программу в память УОУ. В режиме «Отладка» выполнить программу и убедиться в правильности ее работы. 4.4. Запустив программу на выполнение в автоматическом режиме, снять осциллограммы циклов чтения и записи ОЗУ, выделить на осциллограмме основные временные параметры блока ОЗУ. 4.5. Повторить п.п. 4.2 - 4.4. для второй команды. Таблица 1 Варианты заданий
5. Порядок выполнения работы 5.1. Ответить на контрольные вопросы, обратив внимание на то, что в системе команд МП отсутствуют команды, у которых оба операнда находились бы в памяти; команда занимает от одного до трех байтов; цикл шины микропроцессора составляет три такта; системная шина МП - синхронная; блок ОЗУ работает в режиме «чтение - модификация - запись». Подготовить к работе осциллограф. 5.2. Перевести тумблер режима в положение «отладка» и закодировать с адреса 8200h команду JMP 8200, используя таблицу кодов на лицевой панели УОУ (старшая шестнадцатеричная цифра находится в столбце, а младшая - в строке, соответствующей команде). Необходимый результат кодирования: СЗ 00 82. Ввести команду JMP 8200 в память, нажав клавиши: 1) -ADDR8200; переход к исходному адресу; 2) - MEMС 3; результат занесения данных в память 3) - NEXTО О; контролируется на индикаторе 4) - NEXT82; 5) - RST; возврат к исходному адресу 5.3. Перевести тумблер режима в положение «прогон» и выполнить программу с бесконечным циклом в автоматическом режиме, нажав клавишу RUN. После этого снять осциллограмму команды JMP, используя разъемы Х8, Х9 (см. приложение). Для идентификации шинного цикла Ml - выборки первого байта команды необходимо добиться устойчивого изображения 10 тактов с выхода С2ттл (контакт Б8 разъема Х9) соединенного со входом канала Y1. Вход канала Y2 соединить с выходом сигнала цикла Ml (контакт Б11 разъема Х9) (рис.7). В качестве сигнальной земли каналов использовать контакты Б21, Б22 разъема Х8. Для снятия сигналов MEMWR и MEMRD используются соответственно контакты Б2 и БЗ разъема Х8. 5.4. Аналогично п. 5.2 ввести с заданного начального адреса первую команду, указанную в задании, а затем - команду JMP <adr>, запрограммировав бесконечный цикл. Определить по рис.3 и начальному адресу, какой из сигналов выбора кристалла (CS RAM 1 (контакт А17) или (CS ram 2 (контакт А19 разъема Х8) будет использоваться при снятии временных диаграмм. Занести в регистр данные, содержащие в бите DO единицу, и в режиме «прогон» снять осциллограмму цикла записи в ОЗУ (сигналы MEMWR, CS RAM i, DO). Байт состояния МП в циклах обращения к ЗУ содержит ноль в бите DO, поэтому именно эта линия используется для определения поступления записываемых данных на шину. Выполнить измерения основных временных задержек в цикле чтения ЗУ (аналогично рис.1). 5.5. Повторить п. 5.4. для второй команды, снять временную диаграмму для шинного цикла записи, измерив необходимые динамические характеристики. | 5.6. Построить командные циклы двух заданных команд аналогично рис. 5. 5.7. Сделать выводы по работе в целом (распределение адресного пространства ЗУ; согласование с системной шиной; понятие командного цикла). 6. Оформление отчета Отчет должен сдержать: - название курса, название и номер лабораторной работы; - цель работы и задание на исследование; - распределение адресного пространства УОУ «Электроника 580» и схему реализации перекрытия адресного пространства; - временную диаграмму командного цикла JMP; - временные диаграммы циклов чтения и записи ОЗУ с указанием шинных циклов в командах и основных динамических параметров работы блока ЗУ; - командные циклы операций обращения к памяти. 7. Контрольные вопросы 7.1. В чем состоит назначение программы - монитора УОУ «Электроника 580»? Назовите команды монитора и порядок их использования. 7.2. Назовите основные режимы адресации операндов в ОЗУ для микропроцессора КР580ИК80А. 7.3. Какие три задачи приходится решать при проектировании ЗУ микропроцессорной системы? Каковы общие подходы к их решению? 7.4. Какой объем адресного пространства может быть использован в УОУ с применением схемы дешифратора адреса, показанной на рис.3? 7.5. В чем состоит понятие шинного цикла? Какие имеются виды шинных циклов? 7.6. На рис. 3 покажите все возможные варианты формирования сигнала выбора кристалла для определения БИС ЗУ статического типа. 7.7. Назовите основные динамические параметры ОЗУ статического типа, влияющие на согласование циклов работы блока ЗУ и микропроцессора КР580ИК80А. Библиографический список 1. Хамахер К., Вранешич З., Заки С. Организация ЭВМ. – СПб.: Питер, 2003. – 848 с. 2. Большие интегральные микросхемы запоминающих устройств: Справочник /Ю-А.Гордонов, Н.В. Бекин, В.В. Цыркин и др. - М.: Радио и связь, 1990. -280с. 3. Лебедев. О. Н, Микросхемы памяти и их применение. М.: Радио и связь, - 1990.-160с. 4. Проектирование микропроцессорной электронно-вычислительной аппаратуры: Справочник / В.Г. Астахов, А.А. Буднях, В.Ю. Далий и др. - Киев: Техника, 1988.-263 с: Приложение Таблица основных контактов разъемов Х8 и Х9 УОУ «Электроника 580»
Примечание: контакты А – верхний ряд, Б – нижний ряд на разъеме.
Лабораторная работа №6
ИССЛЕДОВАНИЕ ВНУТРЕННЕЙ СИСТЕМЫ ПРЕРЫВАНИЙ МИКРОПРОЦЕССОРА АРХИТЕКТУРЫ x86
1. Цель и задачи работы
Цель работы состоит в изучении обработки различных видов программных прерываний. Вопросы для изучения: - основные понятия - система прерывания, внутренняя и внешняя; -какими путями могут быть осуществлены прерывания; -достоинства и недостатки этих путей.
2. Теоретические положения
Система прерываний компьютера предназначена для организации быстрой реакции процессора на внутренние и внешние события. Необходимость в появлении прерываний была вызвана следующими причинами: а) организацией работы управляющих компьютеров, для которых в каждый момент необходимо решать наиболее важную задачу из имеющихся; б) необходимостью отклика на сбои и отказы в аппаратуре; в) необходимостью перехода от задачи к задаче для повышения степени использования ресурсов компьютера; г) организацией вызовов процедур системного характера. В Фон-Неймановских компьютерах выполняемая программа целиком определяется счетчиком памяти, состоянием микропрограммного уровня для интерпретации прочитанной из памяти информации и множеством условий перехода из одного состояния в другое. Поэтому обработка прерываний сводилась к перезагрузке счетчика адреса и интерпретации первой единицы информации, полученной из памяти (слово, 6айт), как кода операции программы обработки прерывания (обработчика прерывания). Отличие прерывания от вызова подпрограммы состоит в том, что необходимо по окончании работы обработчика прерывания возобновить работу центрального процессора. Это требует сохранения состояния процессора (регистров программно-доступных - регистров общего назначения, указателей сегментов, регистра флагов) в обработчике прерывания в самом его начале, а в конце его - восстановления состояния процессора.. Прерывание в МП системе может быть осуществлено двумя путями: либо с помощью обращения к стандартным процедурам обработки, находящейся в системной области ПЗУ, либо с помощью вызова подпрограммы. Для первого случае в ассемблере микропроцессора i8086/88 существует специальная команда INT <n>. 0на выполняется так: 1.Помещается в стек регистр флагов (RF); (происходит уменьшение указателя стека SP=SP-2). 2. Обнуляются флаг трассировки TF и флаг маскирования прерываний IF для исключения пошагового режима исполнения команд и блокировки других маскируемых внешних прерываний. 3. Помещается в стек значение сегментного регистра. CS; (изменяется значение SP=SP-2). 4. Вычисляется адрес вектора прерывания (умножается нa четыре номер вектора прерывания EA int =n*4). 5. Второе слово вектора прерывания загружается в CS. 6. Помещается в стек значение указателя команды IP (при уменьшении SP=SP-2). 7. Загружается в указатель команд IP первое слово вектора прерывания. После исполнения команды INT <n> пара регистров CS: IP будет указывать на начало программы обработки прерывания. Последней в программе обработки прерывания должна выполняться команда IRET, которая возвращает управление из программы обработки прерываний в исходную программу.Она извлекает из стека три 16-битовых слова и загружает их в указатель команд IP, регистр сегмента команд CS и регистр флагов соответственно. Вектор прерывания представляет собой двоичный код идентифицирующий программу обработки прерываний, соответствующую этому вектору. Адрес нахождения этой программы (точнее адрес перехода к адресу) вычисляется умножением номера вектора, прерывания на четыре. Всего в процессорах i8086/8088 имеется 256 векторов прерывания с номерами 0-255. Обычно номер, например 1, соответствует типу прерывания. Векторы занимают 1 Кбайт оперативного запоминающего устройства. Приведем назначение.некоторых из них. Тип 0 (деление на нуль) - это прерывание инициируется, если при исполнении команды деления (DIV или IDIV ) получаемое частное не помещается в регистре. Тип 1 (пошаговый режим исполнения команд процессора) - этот тип прерывания инициируется командой INT 1. Обработчик прерывания (для MS\PC\DR - DOS ) обычно содержит только команду IRET. Поэтому INT 1 - это команда для фиксации точки останова (без возможности продолжения) программы. Тип 2 (немаскируемое прерывание) - это прерывание инициируется по активному сигналу на входе NMI (Non-Maskable Interrupt). Обычно используется для контроля, например, исправности ОЗУ или цепей питания и контр
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-26; просмотров: 460; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.11.13 (0.015 с.) |