neosee.ru

24.10.17
[1]
переходы:37

скачать файл
Список вопросов по “МПС”

Список вопросов по “МПС”


  1. Принципы программного управления. Обобщенная структура ЭВМ с архитектурой фон-Неймана. Сравнение Гарвардской и фон-Неймановской архитектур ЭВМ.


  1. Основные особенности организации обмена данными при использовании шинных структур.

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

При классической структуре связей все сигналы и коды между устройствами передаются по отдельным линиям связи. Каждое устройство, входящее в систему, передает свои сигналы и коды независимо от других устройств. При этом в системе получается очень много линий связи и разных протоколов обмена информацией.

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

Шинная структура связей.

Причем передача по всем линиям связи может осуществляться в обоих направлениях (так называемая двунаправленная передача). В результате количество линий связи существенно сокращается, а правила обмена (протоколы) упрощаются. Группа линий связи, по которым передаются сигналы или коды как раз и называется шиной (англ. bus).

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

Большое достоинство шинной структуры связей состоит в том, что все устройства, подключенные к шине, должны принимать и передавать информацию по одним и тем же протоколам обмена информацией по шине. Соответственно, все узлы, отвечающие за обмен с шиной в этих устройствах, должны быть единообразны, унифицированы.

В системах с шинной структурой связей применяют три существующие разновидности выходных каскадов цифровых микросхем:

· стандартный выход (или выход с двумя состояниями - обозначается 2С, 2S, реже ТТЛ, TTL);

· выход с открытым коллектором - обозначается ОК, OC;

· выход с тремя состояниями (с возможностью отключения - обозначается 3С, 3S).

Упрощенно эти три типа выходных каскадов могут быть представлены в виде следующих схем:

Три типа выходов цифровых микросхем

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


Количество адресов, обеспечиваемых шиной адреса, определяется как 2N, где N — количество разрядов. Например, 16-разрядная шина адреса обеспечивает 65 536 адресов. Разрядность шины адреса обычно кратна 4 и может достигать 32 и даже 64. Шина адреса может быть однонаправленной (когда магистралью всегда управляет только процессор) или двунаправленной (когда процессор может временно передавать управление магистралью другому устройству, например контроллеру ПДП). Наиболее часто используются типы выходных каскадов с тремя состояниями или обычные ТТЛ (с двумя состояниями).



Шина данных — это основная шина, которая используется для передачи информационных кодов между всеми устройствами микропроцессорной системы. Обычно в пересылке информации участвует процессор, который передает код данных в какое-то устройство или в ячейку памяти или же принимает код данных из какого-то устройства или из ячейки памяти. Но возможна также и передача информации между устройствами без участия процессора. Шина данных всегда двунаправленная. Наиболее часто встречающийся тип выходного каскада для линий этой шины — выход с тремя состояниями.


Количество ее разрядов (линий связи) определяет скорость и эффективность информационного обмена, а также максимально возможное количество команд. Обычно шина данных имеет 8, 16, 32 или 64 разряда. Понятно, что за один цикл обмена по 64-разрядной шине может передаваться 8 байт информации, а по 8-разрядной — только один байт. Разрядность шины данных определяет и разрядность всей магистрали. Например, когда говорят о 32-разрядной системной магистрали, подразумевается, что она имеет 32-разрядную шину данных.



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


Другие управляющие сигналы могут использоваться для подтверждения приема данных, для сброса всех устройств в исходное состояние, для тактирования всех устройств и т.д. Кроме того, управляющие сигналы обеспечивают согласование работы процессора (или другого хозяина магистрали, задатчика, master) с работой памяти или устройства ввода/вывода (устройства-исполнителя, slave). Управляющие сигналы также обслуживают запрос и предоставление прерываний, запрос и предоставление прямого доступа.


Линии шины управления могут быть как однонаправленными, так и двунаправленными. Типы выходных каскадов могут быть самыми разными: с двумя состояниями (для однонаправленных линий), с тремя состояниями (для двунаправленных линий), с открытым коллектором (для двунаправленных и мультиплексированных линий).


  1. Классификация микропроцессорных наборов, их особенности и сравнение.

БИС - большая интегральная схема.

1)специализированные микропроцессорные БИС

а) арифметические сопроцессоры

б) процессоры ввода-вывода

2)секционированные микропроцессорные БИС

3)универсальные микропроцессорные БИС

а) вычислительные операции малой степени сложности (8008, 8080, 80286).

б) вычислительные операции высокой степени сложности (80386 и выше)

в) процессоры задач управления и измерения.

Арифметические сопроцессоры - специализированное процессорное устройство. На его основе нельзя построить самостоятельную микропроцессорную систему. Может использоваться только вместе с универсальным процессором. При этом берет на себя в такой системе все операции, связанные с вычислением.

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

Секционированные процессоры - набор блоков фиксируемой разрядности (обычно 4-16), на базе которых можно сделать процессор практически любой разрядности. В отличие от универсальных и специализированных процессоров имеют не фиксированный набор команд и имеют внешнюю шину управления.

Универсальные микропроцессорные БИС - функционально законченные устройства, способные выполнять функции центрального процессора в микропроцессорной системе. Центральным звеном является арифметико-логическое устройство (АЛУ), также может входить: быстродействующая память (для хранения операндов и промежуточных данных), регистр общего назначения (РОН) и регистр специального назначения (РСН), дешифратор команд, схемы синхронизации, схемы формирования сигналов управления памятью и обменом с внешними устройствами (в том числе по прерываниям и в режиме прямого доступа к памяти ПДП), формирователи (схемы для увеличения нагрузочной способности выводов процессора).

Особенности однокристальных МЭВМ (ОМЭВМ): помимо процессора на кристалле размещены порты ввода-вывода, специально организованная память, таймеры, средства поддержки обмена по прерыванию, средства прямого доступа к памяти, аналогово-цифровые и цифро-аналоговые преобразователи.

Классификация микропроцессорных БИС по техническим характеристикам.

1)технология изготовления

р-МОП (серии 145, 536),

n-МОП (серии 580, 1810, 1816),

КМОП (серии 588, 587 наименьшее электропотребление),

биполярные ТТЛ (серии 580),

ТТЛШ (серии 589, 1802),

ИИЛ - инжекционная интегральная логика (серии 582),

ЭСЛ - эмиттерно-связанная логика - самая быстродействующая.)

2)разрядность микропроцессорных БИС - длина информационного слова, которое может быть одновременно обработано микропроцессором (от 4 до 64 бит).

3)емкость адресуемой памяти - характеризует возможности по взаимодействию в запоминающем устройстве. Однозначно определяется числом адресных линий процессора: если n-линий, то 2n информации.

4)по принципу управления: - программное управление (универсальные микропроцессоры и фиксированный набор команд); - микропрограммное управление (секционированные микропроцессоры с изменяемым набором команд)

5)быстродействие (MIPS - миллион инструкций за секунду, тактовая частота, время машинного цикла, время выполнения операции над данными в аккумуляторе)

6)электрические параметры - количество источников питания и их напряжения: потребляемый ток, количество и амплитуда синхросерий, входные и выходные емкости, сопротивление нагрузки.


  1. МП-комплект КР580, состав и назначение БИС. Структура микро-ЭВМ на базе этого комплекта.

Характеризуется архитектурным достоинством, которое обеспечивается автономностью и функциональной законченностью отдельных микросхем, унификацией их интерфейса, логической и электрической совместимостью. Большой выбор программируемых периферийных микросхем различного назначения, электрическая совместимость с микросхемами ТТЛ серий К155, К531, К555 обеспечивают данному комплекту широкое применение в ПЭВМ и микроЭВМ.

Семейство представляет собой набор функционально законченных микропроцессорных БИС, предназначенных для применения в устройствах управления и обработки данных, и ориентировано на модульное проектирование микроЭВМ. МикроЭВМ конструируется на основе следующих модулей (рис.1.1):

  • модуля центрального процессора (ЦП), выполняющего основные управляющие функции в системе;

  • модуля памяти, включающий постоянное (ПЗУ) и оперативное (ОЗУ) запоминающие устройства, предназначенные для хранения программ и данных;

  • модуля ввода/вывода, осуществляющий сопряжение микроЭВМ с устройствами ввода/вывода.

Все модули соединяются с помощью системной шины, состоящей из трех шин:

  • адресной шины, предназначенной для передачи адресов;

  • шины данных, по которой осуществляется обмен данными;

  • шины управления, предназначенной для передачи сигналов управления, определяющих режимы работы модулей.

Состав семейства иллюстрируется рис.1.2, а его основные

технические характеристики приведены в табл. 1.1.




Прим. Буквы (ИК) в названии БИС соответствуют старым обозначениям, (ВВ)-новое.


Тип БИС

Назначение

I

2

3

1

КР580ВМ80А

Микропроцессор

2

КР580ВВ55

Программируемый парал­лельный интерфейс

3

КР580ВВ51

Программируемый интер­фейс последовательной связи (универсальный синхронно-асинхронный приемопередатчик -УСАПП)

4

КР580ВН59

Программируе-мый контроллер прерываний

5

КР580ВИ53

Программируе-мый таймер

6

КР580ВВ57

Программируе-мый контроллер прямого доступа к памяти

7

КР580ВГ75

Программируе-мый контроллер ЭЛТ

8

КР580ВВ79

Программируе-мый контроллер клавиатуры и индикации



  1. Процессор КР580ВМ80А (Intel80A), назначение, основные характеристики, функциональная схема .

Микросхема КР580ВМ80А (рис.2.1) представляет собой одно­кристальный 8-разрядный микропроцессор с фиксированной системой команд, выполненный по п-канальной МОП технологии. Микро­процессор имеет 16-разрядный канал передачи адресов и 8-разряд­ный канал данных. Канал адресов обеспечивает адресации памяти объемом до 64 Кбайт, адресацию 256 устройств ввода и 256 уст­ройств вывода.


Микропроцессор содержит внутреннее регистровое ОЗУ с организацией 6х8 или 3х16,регистры кото­рого могут использоваться программой, а также средства, позволяющие организовать в любой зоне внешней оперативной памяти (или как отдельное ЗУ) стек объемом до 64 Кбайт. Это позволяет обрабатывать подпрограммы практически с неограни­ченным числом вложений.

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

Конструктивно микросхема выполнена в пластмассовом корпусе с 40 выводами (рис. 2.1).

Микропроцессор выполняет команды по машинным циклам. Число циклов, необходимое для выполнения команды, зависит от ее типа и может быть от одного до пяти. Машинные циклы выполняются по машинным тактам. Число тактов в цикле определяется кодом выполняемой команды и может быть от трех до пяти. Длительность такта равна периоду тактовой частоты и при частоте 2 МГц составляет 500 не.

На выводах МП отсутствуют сигналы для непосредственного управления памятью, УВВ и контроллером прерывания. Информация о. типе выполняемого цикла (устройства, к которому обращается МП) выдается в коде состояния по шине данных и сопровождается сигналом SYN. Для приема, хранения этой информации и преобразования ее в управляющие сигналы используется системный контроллер КР580ВК28/38, который умощняет шину данных. Синхроимпульсы, тактирующие работу МП, вырабатываются генератором КР580ГФ24.


  1. Программная модель микропроцессора КР580ВМ80А. Адресное пространство, структуры данных, форматы команд, регистры.

Микропроцессор разработан для работы с байтовой органи­зацией памяти и имеет следующие форматы представления данных и команд.

Формат обрабатываемых данных имеет вид

D7

D6

D5

D4

D3

D2

D1

DO


D7- старший значащий бит.

Для выполнения некоторых операций допускается представление чисел в двухбайтовом формате в прямом или в дополнительном коде. Диапазон изменения чисел при этом составляет +32767 ... -32768. Сложение, вычитание, приращение/уменьшение выполняются по правилам двоичной арифметики над числами в дополнительном коде. Для обработки двоично-деся­тичных чисел имеется возможность преобразования двоичного ре­зультата сложения/вычитания в двоично-десятичный код. Логические операции (И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ, инверсия, сдвиги) выполняются по правилам поразрядной двоичной логики.

Результат операции представляется числом в соответствую­щем формате и байтом признаков результата в регистре флагов:


D7

D6

D5

D4

D3

D2

D1

DO

S

Z

O

AC

O

P

1

C


Пять битов признаков устанавливаются в зависимости от резуль­татов выполнения операции следующим образом:

Бит знака (S) - устанавливается в соответствии с 7-м битом (D7) результата.

Бит нуля (Z) - устанавливается в “1”, если результат равен 0; в противном случае сбрасывается в “0”.

Бит четности (Р) - устанавливается в “1”, если число единиц в результате четно; в противном случае сбрасывается в “0”.

Бит переноса (C) - устанавливается в “1”, если в результате выполнения операции сложения возникает перенос из старшего разряда или при выполнении операции вычитания перенос не возникает (т.е. происходит заем), в противном случае обнуляется.

Бит дополнительного переноса (АС) - устанавливается в “1”,когда появляется перенос из 3-го (D3) в 4-й (D4) при выполнении операций сложения или вычитания. Признак используется для преобразова­ния двоичного результата в двоично-десятичный при обработке двоично-десятичных чисел.

Формат представления команд зависит от типа команды и ис­пользуемого способа адресации. Для представления кода операции используется один байт. Процессор имеет возможность прямой адре­сации до 65536 байтов (ячеек) памяти, для чего используется адрес длиной 16 бит. Максимальная длина команды составляет 3 байта.

Для обеспечения гибкости кодирования вычислительного про­цесса используется 3 формата команд:

Однобайтовый формат

Байт 1

D7

D6

D5

D4

D3

D2

D1

DO

Код операции (КОП)
Двухбайтовый формат

Байт 1

D7

D6

D5

D4

D3

D2

D1

DO

Код операции(КОП)

Байт 2

D7

D6

D5

D4

D3

D2

D1

DO

Данные или адрес
Трехбайтовый формат

Байт 1

D7

D6

D5

D4

D3

D2

D1

DO

Код операции (КОП)

Байт 2

D7

D6

D5

D4

D3

D2

D1

DO

Мл. байт
Данные или адрес

Байт 3

D7

D6

D5

D4

D3

D2

D1

DO

Ст. байт

Форматы команд и данных.

Пример однобайтной команды: MOV rd,rs. (rs)(rd).

7

6

5

4

3

2

1

0

0

1

0

0

1

1

1

1

Пример двухбайтной команды. Второй байт — непосредственный операнд или адрес порта.

MVI A,b2

MVI A,0Fh.

Пример трехбайтной команды. Третий байт — либо адрес перехода, либо данные.

JMP b3b2.

LXI SP,84=b327=b2.


Рис.2.2 а. Программная модель процессора

Многобайтовые команды хранятся в соседних ячейках памяти и адре­суются по первому байту. Формат команды определяется кодом опе­рации.

Программная модель процессора приведена на Рис.2.2 а и 2.2 б.



  1. Программная модель микропроцессора КР580ВМ80А. Основные группы команд и способы адресации. Примеры.

В микропроцессоре КР580ИК80А используются следующие способы адресации:

  • Непосредственная - второй или второй и третий байты не­посредственно содержат данные (операнд или адрес, заносимый в регистр). Единственное исключение составляет команды вызова под­программ обслуживания прерываний RST.V- векторный адрес которых указывается в байте кода операции(в КОП).

Операнд находится в команде.

(PC)КОПнепосредственный операндданные.

MVI B,75h


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

Код адреса полностью содержит в исполняемой команде.

(PC)КОПb2b3адрес операндаданные.

STA 860A ;860AA.


  • Прямая регистровая - для адресации одно и двухбайтовых слов, содержащихся в регистрах процессора. Адреса регистров, участвующих в операции, содержатся в байте кода операции.

Операнд в одном из регистров.

(PC)КОП

MOV C,A


  • Косвенная регистровая - для адресации байтов данных, нахо­дящихся в памяти. Адрес определяется содержимым регистров, ис­пользуемых в качестве адресных указателей. Адрес регистра указы­вается в байте кода операции.

В команде содержится код регистра, который определяет адрес операнда.

(PC)КОПBC,DE,HLадрес данныхданные

LDAX D ;((DE)) — содержимое ячейки памяти.


  • Стековая - для косвенной адресации двухбайтовых слов данных, находящихся в области памяти, отведенной под стек. Адрес определяется по содержимому регистра - указателя стека.

  • Неявная - адрес регистра в команде явно не указывается, он определяется схемой.

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


  1. МП Intel 80A, функциональная схема, назначение внутренних узлов и их взаимодействие при выполнении команд с прямой, непосредственной и косвенной адресацией. Примеры.


Микропроцессор КР580ВМ80А реализован на основе общей внутренней шины данных и включает в себя следующие функциональные узлы:

Микропроцессор КР580ИК80А реализован на основе общей внут­ренней шины данных и включает в себя следующие функциональные узлы (рис.2.3): блок регистров общего назначения (РОН) с адресной логикой; блок арифметико-логического устройства (АЛУ); двунаправленную буферированную шину дан­ных; блок управления и синхронизации.

Адресная логика предназначена для хранения, программного из­менения и выдачи на адресную шину адресов данных и команд. Она содержит буферный регистр адреса (БРА), логическую схему прира­щения/уменьшения (СПУ) и адресный буфер. Буферный регистр адреса принимает и хранит адрес с любого 16-битового регистра. Его вы­ход связан с входами схемы СПУ и входами адресного буфера.

Схема приращения/уменьшения представляет собой схему бы­строго переноса/заема. C ее помощью содержимое буферного регистра адреса может быть передано с изменением на (+1, -1) или без изме­нения через 16-разрядный мультиплексор на вход любого 16-битового регистра BC, DE, HL, SP или PC.

Адресный буфер представляет собой 16 выходных формировате­лей с тремя состояниями и предназначен для выдачи адреса на вы­воды адресной шины A15 ... А0. Наличие третьего (отключающего) состояния позволяет непосредственно подключить микропроцессор к общей системной адресной шине микроЭВМ.

Блок арифметико-логического устройства предназначен для вы­полнения арифметических и логических операций над числами в па­раллельном 8-разрядном дополнительном коде. Информация обрабатывается в АЛУ с использованием регистров: ВР (временного хранения), ВА (вре­менного аккумулятора), А (аккумулятора) и F (регистра признаков). При выполнении бинарных операций один из операндов пересылается из аккумулятора в регистр ВА; второй операнд поступает из памяти или из блока регистров по внутренней шине данных в регистр ВР. Затем он передается в АЛУ через кодопреобразователь в прямом или в обратном кодах в зависимости от выполняемой операции. Ре­зультат операции передается в аккумулятор или по внутренней шине данных в регистр общего назначения, а признаки результата записывают­ся в регистр признаков F. Обмен содержимого аккумулятора и регистра признаков c памятью или блоком регистров осуществляется также через внутреннюю шину данных.

Схема десятичной коррекции (СДК) предназначена для преобра­зования результата двоичного сложения двоично-десятичных чисел в двоично-десятичный код.

Двунаправленная шина данных служит, для организации взаимо­связи между отдельными блоками микропроцессора, а также связи микропроцессора с другими подсистемами микроЭВМ. Она включает в себя внутреннюю шину данных, буфер данных (БД) и соединена с выводами шины данных D7...D0 процессора. Буфер данных - 8-раз­рядный двунаправленный с тремя состояниями предназначен для изо­ляции внутренней шины данных от внешней шины данных (D7...D0).

Он состоит из буферного регистра данных и формирователей. В режиме вывода информация с внутренней шины загружается в буферный регистр, а затем передается на внешнюю шину данных через форми­рователи. При вводе данные из внешней шины через формирователи непосредственно передаются на внутреннюю шину. Буферный регистр данных при этом отключается. Он также отключается при выполнении операций, не связанных с передачей информации от процессора.

Блок управления и синхронизации предназначен для приема и хранения кодов операций команд, их дешифрации и формирования внутренних и внешних синхронизирующих и управляющих сигналов. Устройство управления также воспринимает и обеспечивает необходимую реакцию на внешние сигналы запросов от подсистем микро-ЭВМ. Оно содержит регистр команд (РК), дешифратор команд (ДШК), схему формирования машин­ных циклов и другие узлы. Регистр команд принимает и хранит байт кода операции, по­ступивший с внутренней шины данных, в течении всего времени работы процессора с данной командой. При декодировании кода операции определяется формат команды, характер преобразования операндов, способ их адресации. Эта информация используется для формирования внутренних сигналов управления блоком РОН, АЛУ с регистрами, буферами шины данных и адреса и прочими узлами. Это необходимо для обеспечения их правильного взаимодействия с целью реализации микропрограммы вы­полнения команд. Кроме сигналов управления внутренними узлами, УУ формирует внешние синхронизирующие сигналы управления и специальные коды (байты состояния). Это, в первую очередь, сигналы DBIN и WR, которые совместно с кодом байта состояния позволяют сформировать сигналы управления подсистемами микро-ЭВМ (MR, MW, I/OR, I/OWR, INTA). Прием и выдача внешних синхронизирующих и управляющих сигналов осуществляется через выводы микропроцессора.


10. Особенности выполнения команд IN A,n и OUT n,A

Каждая команда в микропроцессоре выполняется в течение командного цикла, состоящего из фазы выборки команды и фазы ее исполнения. Команды микропроцессора КР580ИК80А состоят из различного числа байт. Поэтому длительность фазы выборки коман­ды различна для различных команд и зависит от формата команды.

В командах ввода/вывода (IN N , OUT N) (рис.2.6 в) для выборки команды используются два цикла, в каждом из которых на ад­ресную шину выдается содержимое программного счетчика, увеличи­ваемого в Т1 на единицу. Первый байт поступает в регистр команд, второй - дублировано в регистры W, Z. В третьих циклах команд - циклах ввода/вывода - на адресную шину выдается адрес порта (одинаковый на младший и старший байты шины), по которому затем осущест­вляется обмен с адресуемым портом.



11. Назначение выводов и сигналов МП Int80A, основные режимы работы процессора.

Выводы синхронизации

F1, F2 - входы двух не перекрывающихся последовательностей

синхроимпульсов;

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

RESET- вход сигнала начальной установки процессора. После окончания

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

ready - вход сигнала готовности, указывающего, гото­в (READY=1) или нет (READY=0) интерфейс внешнего устройства или память к обмену с процессором. Сигнал позволяет синхронизировать обмен информацией с внешними устройствами или памятью более низкого быстро­действия. Может также использоваться для органи­зации пошагового, командного или с остановом по требуемому адресу режимов работы микропроцессора;

WAIT - выход сигнала, указывающего, что процессор на­ходится в состоянии ОЖИДАНИЕ (WAIT=1).

WR - выход сигнала управления записью в память или во внешнее устройство; низкий активный уровень сигна­ла указывает, что микропроцессор выдал данные на шину данных;

DBIN - выход сигнала, указывающего, что шина данных (D7...D0) находится в режиме приема. Использует­ся для формирования сигналов управления чтением данных из памяти или из внешних устройств.

INT - вход сигнала запроса прерывания, поступающего от внешних устройств, которые запрашивают обмен с микро­процессором в режиме прерывания;

INTE - выход сигнала триггера разрешения прерывания; (INTE=1) указывает, что процессор готов к обмену в ре­жиме прерывания (может принять запрос прерывания). Используется для управления цепями формирования сигналов запросов прерывания. Если процессор готов к обмену в режиме прерывания, на выходе INTE устанав­ливается сигнал высокого уровня, и процессор мо­жет принять запрос прерывания. После перехода к обслуживанию прерывания на выходе INTE уста­навливается сигнал низкого уровня, и запросы пре­рывания не воспринимаются. Способность восприятия процессором последующих запросов достигается программным путем.

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

Под дей­ствием сигнала захвата процессор переходят в со­стояние

ЗАХВАТ, в котором шины данных и адреса микропроцессора находятся в

третьем (отключенном) состоянии, благодаря чему системная шина микро-ЭВМ может использоваться внешними устройствами;

HLDA - выход сигнала подтверждения захвата, указывающе­го, что процессор находится в состояния ЗАХВАТ. Шины данных и адреса процессора при этом отключены от выходов.


Работа процессора при наличии питающих напряжений и синхросигналов F1 и F2 начинается после снятия сигнала Reset. Процессор передает содержимое программного счетчика IP(PC)=0000H в регистр адреса буфера ША, инкрементирует PC(тем самым формируя адрес следующего байта), выставляет на шину адреса содержимое РА, настраивает буфер ШД на ввод и выполняет чтение байта по этому адресу из памяти в регистр команд. Этот байт должен быть кодом операции первой команды программного обеспечения микро ЭВМ. Дальнейшее взаимодействие узлов процессора определяется типом первой команды( информацией, извлеченной из кода операции).Это может быть считывание других байт этой команды, если команда многобайтовая, или выполнение команды. Следует помнить что при вводе байт любой команды адресация памяти производится только из PC, значение которого всякий раз инкрементируется. Это позволяет к моменту ввода последнего байта команды автоматически сформировать адрес кода операции следующей команды.


12.Выполнение МП Int80A команд во времени; такты, циклы, байт состояния.

Каждая команда в микропроцессоре выполняется в течение командного цикла, состоящего из фазы выборки команды и фазы ее исполнения. Команды микропроцессора КР580ИК80А состоят из различного числа байт. Поэтому длительность фазы выборки коман­ды различна для различных команд и зависит от формата команды. Например, для выборки однобайтовой команды ADD r потребуется одно обращение к памяти, а для выборки трехбайтовой команды CALL ADR - три обращения. С другой стороны, длитель­ность фазы выполнения команды также зависит от типа команды и способа адресации операндов в команде. Например, для выполнения команды АDD r с регистровой адресацией не требуется обращения к памяти за операндом - он находится в регистре; для выполнения команды ADD M с косвенной адресацией требуется одно обращение к памяти - за операндом, адресуемым парой HL , а для выполне­ния команды САLL ADR требуется два обращения к памяти для сохранения в стеке 16-разрядного адреса возврата.

В связи с этим длительность командного цикла в микропроцес­соре КР580ИК80А различна для различных команд и определяется числом обращений к памяти или к внешнему устройству. Интервал времени, в течение которого осуществляется одно обращение процессо­ра к памяти или к внешнему устройству, называется машинным циклом (М). Командный цикл процессора состоит, таким образом, из то­го или иного (в зависимости от типа команды) числа машинных цик­лов.

Число машинных циклов в команде изменяется от 1 для одно­байтовых команд с регистровой адресацией до 5 для трехбайтовых сложных команд.

Машинный цикл в свою очередь разбивается на некоторое число машинных тактов Т, в течение каждого из которых выполняется эле­ментарное действие (микрооперация) в процессоре. Число тактов в цикле определяется кодом выполняемой команды и изменяется от 3 до 5. Длительность такта задается периодом синхроимпульсов и оп­ределяется как интервал времени между фронтами двух соседних импульсов последовательности F1, формируемой внешним генератором. Типовой цикл М1 состоит из 4-х тактов.

Для обеспечения работы процессора c памятью или внешними устрой­ствами с меньшим чем у ЦП быстродействием; для организации работы в режиме прямого доступа к памяти и останова про­цессора предусмотрены три специальных состояния: ОЖИДАНИЕ, ЗАХ­ВАТ и ОСТАНОВ, длительность которых может иметь произвольную, но всег­да кратную длительности такта Т величину.

Таким образом, командный цикл микропроцессора КР580ИК80А состоит из некоторого числа машинных циклов, а каждый машинный цикл из определенного числа тактов, в течение которых выпол­няются те или иные элементарные действия в процессоре.

Последовательность взаимодействия внутренних узлов ЦП и формируемых сигналов в каждом машинном цикле опре­деляется типом машинного цикла. Первым машинным циклом команды всег­да является цикл М1- ВЫБОРКА, в течение которого осуществляется вы­борка байта кода операции команды по содержимому программного счетчика PC.

Для выборки двух- или трехбайтовых команд кроме цикла М1 требуется еще один или два машинных цикла для чтения второго и третьего байтов команды. Это циклы ЧТЕНИЕ ПАМЯТИ. Цикл ЧТЕНИЕ ПАМЯТИ требуется. Для записи операндов или сохранения адресов при выполнении соответствующих команд необходимы машинные циклы ЗАПИСЬ В ПАМЯТЬ.

В командах с обращением к стеку используются циклы ЧТЕНИЕ СТЕКА и ЗАПИСЬ В СТЕК. Адреса памяти формируются указателем стека SP. Для выполнения команд ввода/вывода используются циклы ВВОД или ВЫВОД. Для организации прерываний программы и останова процессора используются циклы ПРЕРЫВАНИЙ, ОСТАНОВ, ПРЕРЫВАНИЕ ПРИ ОСТАНОВЕ.

В каждой команде циклы появляются в той или иной последова­тельности, но первым циклом всегда является цикл ВЫБОРКА. Примеры последовательностей машинных циклов в зависимости от типа ко­манды:

ADD r Ml (ВЫБОРКА);

ADD М Ml (ВЫБОРКА) - М2 (ЧТЕНИЕ ПАМЯТИ) ;

IN N Ml (ВЫБОРКА) - М2 (ЧTEНИE ПАМЯТИ) - МЗ (ВВОД);

Каждый машинный цикл процессора идентифицируется так назы­ваемым байтом состояния (табл.2.3), который выдается на шину дан­ных в начале каждого машинного цикла и сопровождается выдачей сигнала синхронизации на вывод SYNC. Этот байт несет информацию о типе текущего цикла, действиях процессора в нем и может быть использован для расширения функций управления в микропроцес­сорной системе. Двоичные коды байтов состояния приведены в табл.2.4. Байт состояния выдается на шину данных кратковременно - в течение 1-го периода синхроимпульсов F2. Для формирования управляющих сигналов на его основе, необходимо запомнить байт состояния во внешнем регистре состояния. Для записи байта состояния в регистр нельзя использовать сигнал SYNC из-за нестабильности данных на ШД в момент окончания SYNC, поэтому необходимо сформировать строб ST.STB. лог.схемой *И* сигналов SYNC и F1 и подать ST.STB на вход записи регистра.


Таблица 2.3 Байт состояния микропроцессора КР580ИК80А


Разряд ШД

Сигнал состояния

Описание


1

2

3

D0

Подтверждение прерывания (ППР)

D0=1 указывает что процессор готов вести обработку запроса прерывания

D1

Запись-вывод (ЗВ)

D1=0 указывает, что выполняется выдача данных из процессора в память или порт,при D1=1 выполняются циклы ЧТЕНИЕ ПАМЯТИ или ВВОД.

D2

СТЕК

D2=1 указывает, что на адресной шине находится содержимое указателя стека, т.е. адрес верхней ячейки стека .

D3

Подтверждение останова (ПОСТ)

D3=1 указывает, что процессор находится в состоянии ОСТАНОВ (выполняется команда HLT).

D4

Вывод (ВЫВОД)

D4=1 указывает, что на адресной шине находится адрес внешнего устройства,в которое осуществляется вывод информации (цикл ВЫВОД).

D5

М1

М1=1 указывает, что выполняется первый цикл команды (цикл выборки кода операции).

D6

ВВОД

D6=1 указывает, что на адресной шине находится адрес внешнего устройства, с которого осуществляется ввод информации (цикл ВВОД)

D7

Чтение памяти (ЧТП)

D7=1 указывает, что процессор будет вводить данные из памяти.


13.Процессорные циклы Int80A обращения к памяти, временные диаграммы.

Временная диаграмма типичного машинного цикла показана на рис.2.7. Длительность такта в МП КР580ИК80А задается периодом синхроимпульсов фазы F1, внутренние микрооперации инициируются импульсами из последовательности F2. Начало каждого машинного цикла (такт Т1) отмечается появлением сигнала на выходе SYNC (начало связано с фронтом импульса F2 c некоторой задержкой, а конец - с фронтом следующего импульса F2). В течение этого ин­тервала на шину данных выдается код байта состояния процессора,

Фронт импульса F2 в такте T1 также вызывает загрузку ад­реса на адресную шину. Адрес сохраняется до появления фронта им­пульса F2 после такта ТЗ. Выдав адрес на адресную шину, про­цессор в такте Т2 осуществляет проверку сигналов запросов на режимы ОЖИДАНИЕ, ЗАХВАТ, ОСТАНОВ. Если, например, память не готова к обмену, на линию READY блок памяти должен выдать сигнал низкого уров­ня. При этом процессор переходит в состояние Тож и выдает сигнал высокого уровня на линию WAIT, подтверждающий режим ожидания (переключение сигнала на линии WAIT осуществляется фронтом им­пульса F1).

Процессор остается в состоянии ОЖИДАНИЕ до тех пор, пока сигнал на линии READY не переходит в состояние высокого уровня. Если информация о готовности предшествует спаду импульса F2, то следующий импульс F1 переводит линию WAIT в состояние низкого потенциала, и процессор переходит в состояние Т3. В этом состоянии осуществляется обмен информацией с памятью или с внеш­ним устройством по шине данных. При этом процессор формирует сигнал высокого уровня на ли­нии DВ1N (сигнал формируется в пределах действия фронтов им­пульсов F2 в тактах Т2 и Т3). Длительность сигнала DBIN зависит от количества тактов ожидания Тож между тактами Т2, ТЗ.

Данные, вводимые в процессор, должны быть стабильными в течение интервала времени, начало которого предшествует спаду им­пульса F1 или фронту импульса F2 в такте ТЗ, а конец следует за фронтом импульса F2 в этом-же такте.

При этом процессор формирует сигнал высокого уровня на ли­нии DВ1N (сигнал формируется в пределах действия фронтов им­пульсов F2 в тактах Т2 и Т3). Длительность сигнала зависит от количества тактов ожидания Тож между тактами Т2, ТЗ. При выводе данные появляются на шине по фронту импульса F2 (одновременно информация о состоянии снимается) и выдаются на шину до появления новой информации о состоянии. При этом процессор формирует сигнал низкого уровня на линии WR.



Сигнал появляет­ся по фронту импульса F1, следующего за тактом Т2 (это могут быть такты ТЗ или Тож), а оканчивается по фронту F1 в такте, следующем за ТЗ. Таким образом, его длительность также зависит от длительности тактов ожидания Тож. Все машинные циклы содержат такты T1, Т2, ТЗ. Такты Т4 и Т5 используются для выполнения команды. Завершив цикл M1, процессор переходит к циклам М2-М5 текущей команды или к циклу Ml следующей команды, если для выполнения текущей команды достаточно одного цикла.

В последнем такте последнего машинного цикла проверяется наличие запроса прерывания и, если он имеется, ЦП переходит к вы­полнению цикла M1 специального типа. В течение этого цикла содер­жимое программного счетчика не увеличивается на 1, в байте состояния выдаются значения битов (D0=1- подтверждения прерывания и D7=0-запрет обращения к памяти). Из устройства, вызвавшего пре­рывание, должен быть послан код вектора прерывания в форме команды RST.V (где V-код вектора ), или код операции команды CALL ADR(код CD Hex), где ADR-адрес обслуживающей пре­рывание подпрограммы. Байты адреса на ШД также формируются ВУ и вводятся микропроцессором в двух дополнительных циклах INTA.

Примеры временных диаграмм выполнения некоторых команд показаны на рис.2.8.


14. Процессорные циклы Int80A обращения к портам в/в, временные диаграммы.

Ввод из порта интерфейса внешнего устройства

Этим машинным циклом процессор выполняет команду IN Port - ввод байта данных из регистра интерфейса (порта Port) внешнего устройства в аккумулятор. По формату IN Port - двухбайтная команда. Port в составе команды - второй её байт, который является адресом регистра интерфейса. Вспомним. что адреса регистров интерфейсов - однобайтные, в отличие от адресов памяти.

Временные диаграммы данного машинного цикла приведены на рис.

2.15. Однобайтный адрес порта, выставляемый в первом такте на линии адреса будет дублироваться как в старшие 8 разрядов адресной шины (А48.. 15) так и в младшие 8 разрядов (А0..7). Поэтому логика дешифрации адреса может быть построена, на выбор разработчика, либо на старшей, либо на младшей частях адресной шины. Ввод из порта аналогичен чтению из памяти. Отличие состоит в том. что в при вводе нз порта вместо сигнала !(MRD). системный контроллер сформирует дтя стробирования ввода сигнал !(IORD).



Вывод в порт интерфейса внешнего устройства

Этим машинным циклом процессор выполняет команду OUT Port - вывод байта данных из аккумулятора в регистр интерфейса (порт Port) внешнего устройства. Как представленная выше команда IN Port, данная команда по формату двухбайтная. Port в составе команды - второй её байт, который является адресом регистра интерфейса.

Временные диаграммы данного машинного цикла приведены на рис. 2.17. Однобайтный адрес порта, выставляемый в первом такте на линии адреса будет дублироваться как в старшие 8 разрядов адресной шины (Л8..15) так и в младшие 8 разрядов (А0..7). Поэтому логика дешифрации адреса может быть построена, на выбор разработчика, либо на старшей, либо на младшей частях адресной шины. Ввод из порта аналогичен записи в память. Отличие состоит в том. что в при вводе из порта вместо сигнала MWR. Системный контроллер сформирует для стробирования ввода сигнал IOWR.


15. Аппаратные и программные средства поддержки работы Int80A с подпрограммами.

Принцип работы стека. Для аппаратной поддержки выполнения вложенных подпро­грамм идеально подходит магазинная память типа LIFO (last-in, first-out — последним вошел, первым вышел), называемая стеком (Stack). Такая память автоматически обеспечивает после­довательное сохранение нескольких адресов возврата из вложенных подпрограмм и последова­тельное их извлечение в обратном порядке (последний адрес возврата, включенный в стек, из­влекается первым).

Для адресации стека в неявном виде используется указатель стека SP. Например, при вы­полнении команды вызова подпрограммы CALL addr автоматически последовательно произ­водятся операции:

SP SP - 1, Stack PCh, SP SP - 1, Stack PCl — включение в стек адреса возврата,

PC addr — переход по адресу, по которому расположена первая команда подпрограммы,

где Stack = M(SP) — содержимое ячейки памяти ОЗУ, адресуемой текущим значением указате­ля стека SP; PCh — старший байт программного счетчика PC; PCl — младший байт РС; addr= 0000h ... FFFFh; адрес возврата — адрес первого байта команды, непосредственно сле­дующей за командой CALL addr. В результате выполнения команды CALL addr содержимое указателя стека SP уменьшится на 2. Если в вызванной подпрограмме имеется другая команда CALL addr1 (вложенные подпрограммы), то описанные выше действия будут повторены — в стек будет включен еще один адрес возврата. Число вложений подпрограмм ограничивается только объемом памяти, который можно отвести в МП-системе под стек за счет уменьшения памяти данных.

Каждая подпрограмма должна заканчиваться командой возврата из подпрограммы RET, при выполнении которой автоматически последовательно производятся операции:

PCl Stack, SP SP + 1, PCh Stack, SP SP + 1 — извлечение из стека адреса возврата.

Рис 1.4 Стек (а) и типовое распределение памяти в микроконтроллере (б)

В результате выполнения команды RET содержимое указателя стека SP увеличится на 2 и выполнение основной программы продолжится с того места, в котором произошло обращение к подпрограмме. Вызов одной и той же подпрограммы может производиться любое число раз из разных мест основной программы. Автоматический декремент при включении байта в стек и инкремент при извлечении байта из стека избавляют программиста от задания адресов ячеек памяти в явном виде.

В МП используются только команды, которые включают и извлекают из стека слова — два байта адреса или данных. Для включения в стек и извлечения из стека слов данных предна­значены команды PUSH и POP соответственно. Итак, стек используется только при выполне­нии команд CALL, RST, RET, PUSH и POP (имеются также команды условного вызова подпро­грамм и условного возврата из подпрограмм, аналогичные по выполняемым операциям коман­дам безусловного вызова подпрограмм CALL addr и безусловного возврата из подпрограмм RET). При выполнении любой из этих команд МП на шину адреса А15-0 выдает содержимое указателя стека SP.

Работа стека наглядно представлена на рис. 1.4, а — последовательность выполнения ко­манд помечена цифрами ... 10, значения указателя стека SP после выполнения очередной команды указаны в скобках. После включения питания МП-системы сразу же следует выпол­нить инициализацию указателя стека SP— командой LXI SP, d16 (d16 = 0000h... FFFFh) не­обходимо записать в указатель стека некоторый адрес, задающий начальную вершину стека (Top of Stack).

Указатель стека SP в любой момент времени указывает на вершину стека, т. е. на послед­ний элемент, включенный в стек. Содержимое 8-разрядных ячеек памяти стека изменяется только при включении в него новых слов. При извлечении же слов из стека содержимое ячеек памяти не изменяется, как и при чтении данных из ОЗУ.

Программист при разработке программ должен следить за правильным использованием стека — всегда должен соблюдаться баланс между числом команд включения в стек и числом команд извлечения из стека. При выполнении равного числа таких типов команд указатель сте­ка SP будет указывать на начальную вершину стека, заданную командой LXI SP, d16. В частности, после выполнения всей программы указатель стека SP должен указывать на начальную вершину стека.

Ошибки в использовании стека программистом очень трудны для обнаружения. Типич­ными примерами ошибок являются извлечение из стека данных в неверном порядке, включе­ние в стек или извлечение из него избыточных данных, переполнение стека или потеря данных в стеке. Могут также возникнуть сложности при отладке и документировании программ, опе­рирующих со стеком — так как элемент данных в стеке не имеет фиксированного в программе адреса, то его содержимое может быть трудно для распознавания.


Четыре флага (Z, CY, S и Р) используются командами передачи управления для осуществления условных переходов, условных вызовов подпрограмм и условных возвратов из подпрограмм. Все команды по их назначению делятся на пять групп.

Одна из них: группа команд передачи управления. Выборка команд программы производится из по­следовательных ячеек памяти в порядке возрастания их адресов при выполнении всех команд, кроме команд передачи управления (JMP, Jcond, PCHL и CALL, Ccond, RST). Данные коман­ды применяются для изменения последовательности выборки команд из памяти. Некоторые из этих команд используют флаги регистра признаков F для условных передач управления — при выполнении условия, зафиксированного во флаге регистра признаков F, производится передача управления по адресу, указанному в команде, а при невыполнении условия производится пере­ход к выполнению следующей команды программы.

Cond

Результат операции для

Команды условных

передачи управления

передач управления

NZ

Не нуль (Z = 0)

JNZ

CNZ, RNZ

Z

Нуль (Z= 1)

JZ,

CZ, RZ

NC

Нет переноса(CY= 0)

JNC

CNC, RNC

С

Есть перенос(СУ= 1)

JC,

СС, RC

РО

Нечетность (Р = 0)

JPO,

СРО, RPO

РЕ

Четность = 1)

JPE,

CPE, RPE

Р

Плюс (S = 0)

JP,

CP, RP

М

Минус (S=1)

JM,

CM, RM

В табл. 1.5 были приведены ко­манды условных передач управле­ния. Они содержат мнемонику cond (condition — условие), которая заме­няется в командах на языке ассемб­лера на мнемонику в соответствии с табл. 1.8.




Команды CALL addr, Ccond addr (трехбайтовые команды) и RST п (однобайтовые ко­манды) используются для вызова подпрограмм. Команды CALL addr и Ccond addr передают управление по адресу addr, который содержится во втором и третьем байтах этих команд. Ко­манды RST п передают управление по адресу addr = п х 8 (п = 0, 1, ..., 7), который автомати­чески вычисляется внутри МП. Эти команды можно использовать также для организации век­торных прерываний (см. § 2.4). Команды рестарта RST n передают управление только по фик­сированным адресам:

0000h, 0008h, 0010h, 0018h, 0020h, 0028h, 0030h, 0038h

Для наиболее часто вызываемых подпрограмм целесообразно использовать однобайтные команды RST п вместо трехбайтовых команд CALL addr. Команды вызова подпрограмм ис­пользуют стек для включения в него адреса возврата:

SP SP- 1, М(SP) РСh, SP SP - 1, M(SP) РСl — включение в стек адреса возврата;

PC addr (для команд CALL) и PC 8 х п (для команд RST) — передача управления

(адрес возврата — это находящийся в программном счетчике PC адрес команды, непосредст­венно следующей за командой вызова подпрограммы).

Команды возврата из подпрограмм RET и Rcond заканчивают выполнение подпрограммы и передают управление на команду, непосредственно следующую за командой, вызвавшей эту подпрограмму: РСl M(SP), SP SP + 1, РСh M(SP), SP SP + 1 — извлечение из сте­ка адреса возврата.

Выполнение подпрограммы обычно прекращается по команде RET безусловного возврата из подпрограмм, однако для выхода из подпрограммы можно использовать и команды Jcond условных переходов (см. задачу 9 в § 1.8 на с. 81). Подпрограммы могут содержать и команды условного возврата Rcond, досрочно прекращающих их выполнение при реализации заданного условия. Но в любом случае подпрограмма должна заканчиваться командой безусловного вы­хода RET.


Пример 1:

Адрес передачи управления при вызове подпрограмм на языке ассемблера указывается метками, например, LC1 — символическое имя адреса передачи управления. Метка должна заканчиваться двоеточием (в некоторых ассемблерах двоеточие можно и не писать — его заме­няет пробел). Ассемблер при трансляции программы в машинные коды вычисляет адреса ме­ток и подставляет их двухбайтовые численные значения в команды вызова подпрограмм, со­держащие символические имена этих адресов.

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

Пример 2:

Эта программа имеет один уровень вложенности подпрограмм — подпрограмма LC2 вложена в подпрограмму LC1 (цифрами помечен порядок выполнения передач управления).


16. Выполнение МП Int80A команд перехода на подпрограммы.

CALL ADR M1 (ВЫБОРКА) - М2 (ЧТЕНИЕ ПАМЯТИ) - МЗ (ЧТЕНИЕ ПАМЯТИ) - М4 (ЗАПИСЬ В СТЕК) - М5 (ЗАПИСЬ В СТЕК).

В команде обращения к подпрограмме CALL ADR (рис.2.6 г) команда выбирается в течение трех машинных циклов по адресам, формируемым в программном счетчике: в первом цикле в регистр РК (регистр команд) выбирается байт кода операции, во втором - младшие разряды адре­са (второй байт команды) в регистр Z, в третьем - старшие разряды адреса (третий байт команды) в регистр W. Таким образом, адрес подпрограммы хранится в паре WZ.

В тактах Т4, Т5 цикла M1 осуществляется подготовка адреса стека - уменьшение содержимого SP на единицу. По этому адре­су в цикле М4 в ячейку стека, адресуемую содержимым SP-1 , за­писывается старший байт адреса возврата, и адрес стека уменьшается на 1(SP-2). Затем в цикле M5 в ячейку стека с адресом SP-2 записывается млад­ший байт адреса возврата. Адрес перехода на подпрограмму заносит­ся в PC из WZ в такте Т1 цикла М1 следующей команды .

Переход на подпрограмму обработки прерывания в следующем вопросе.


17. Аппаратные и программные средства поддержки в Int80A обработки внешних сигналов запроса прерывания Int.

В микропроцессоре КР580ИК80А имеются средства обработки запросов прерываний INT с распознаванием источника запроса при помощи специального идентификационного кода (вектора прерывания). Источник прерыва­ний должен сформировать запрос прерывания, сопровождаемый векто­ром в форме кода операции команд RST .V или CALL ADR.

Последовательность действий микропроцессора в режиме прерываний при использовании RST.V (Рис.2.9а):

прием запроса прерывания и блокировка входа запроса пре­рывания;

прием кода операции RST. V;

сохранение адреса возврата (содержимого программного счет­чика) в стеке и формирование адреса подпрограммы обслуживания источника запроса.

Запросы прерывания микропроцессора КР580ИК80А принимают­ся со входа INT триггером прерываний, доступ к которому управ­ляется триггером разрешения прерываний INTE.




18. Временные диаграммы циклов перехода на подпрограммы обслуживания запросов прерывания.

Внешнее устройство, запрашивающее прерывание, устанавли­вает на линии INT сигнал высокого уровня (рис.2.9б). Этот сигнал может возникнуть в произвольный момент выполнения текущей команды, однако прием его синхронизируется внутренними це­пями процессора. При наличии сигнала разрешения прерывания (триг­гер INTE установлен в единичное состояние) внутренний триггер прерывания INT устанавливает­ся в 1 в последнем такте последнего машинного цикла текущей команды. Это дает возможность про­цессору завершить выполнение текущей команды перед тем как начнется об­работка прерывания.

После фиксации сигнала запроса прерывания процессор переходит к выполнению последовательности, состоящей из трех машинных циклов, первый из которых (цикл М1- ПРЕ­РЫВАНИЕ) предназначен для приема вектора, а два других - для сохранения адреса возврата в стеке (циклы ЗАПИСЬ в СТЕК). В цикле ПРЕРЫВАНИЕ, который во многом подобен циклу ВЫБОРКА, в первом такте T1 в байте состояния устанавливается бит подтверждения прерывания(D0=1), который используется для формирования сигнала INTA- чтение кода вектора прерывания, и сбрасывается в ноль D7- разрешение чтения памяти. Одновременно сбрасывается триггер INTE, блокируя возможность повторного прерывания от того же сигнала INT. Содержимое программного счетчика, хотя и выдается на адресную шину, но не используется для адресации и не увеличивается на 1 с тем, чтобы сохранить адрес невыполнившейся команды в стеке. В такте ТЗ процессор принимает по шине дан­ных байт вектора, формируемый внешним устройством, которое послало сигнал прерывания. В тактах Т4, Т5 цикла М1-ПРЕРЫВАНИЕ осуществляет­ся формирование адреса первой ячейки стека(SP-1), отведенной для сох­ранения адреса возврата. В циклах М2 и М3 происходит загрузка адреса возврата (т.е. со­держимого программного счетчика) в стек, как и при выполнении команды вызова подпрограммы CALL ADR. В следующем цикле извле­кается первая команда подпрограммы обслуживания прерывания по адресу сформированному в устройстве управления в соответствии с кодом вектора прерывания (в команде RST V) и загруженному в PC.

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


19. Режим “захват шин” в МП Int80A; реакция процессора на сигнал “HOLD” без и при наличии других сигналов прерывания.

Режим захвата используется для организация выполнения опе­раций обмена с высокоскоростными ВУ, когда процессор не может поддержать управление обменом Для этой цели процессор имеет вход запроса захвата шин HOLD и внутренние цепи уп­равления захватом. Внешнее устройство запрашивает ПДП(прямой доступ к памяти) подачей сигнала высокого уровня на линию НОLD. При этом процессор приостанавливает выполнение операций и отключается от шин данных и адреса микро-ЭВМ (шины переходят в третье состояние - состояние высокого сопротивления). Процессор подтверждает режим ПДП установкой высокого потенциала на выходе подтверждения зах­вата HLDA. Пока действует сигнал на входе HOLD, шины микро-ЭВМ находятся в распоряжений внешнего устройства, запросивше­го ПДП так, что обмен информацией между внешним устройством и памятью осуществляется без вмешательства процессора(внепроцессорный обмен).

Прием сигнала HOLD синхронизируется как и при прерывании внутренними цепями процессора и фиксируется во внутреннем триггере с одноименным названием HOLD по сигналу ф1 . Сигнал с этого триггера воспринимается процес­сором в тот же момент что и сигнал READY (рис.2.10). Под действием сигнала захват при наличии сигнала на входе READY, указывающего готовность внешнего устройства, по импульсу ф2 устанавливается внутренний триггер захвата, благодаря чему фронт следующего импульса ф1 переключает в единицу выход HLDA. При выполнении циклов ЧТЕНИЯ или ВВОДА процессор подтверждает захват в начале такта ТЗ (по окончании чтения). В других случаях (в циклах за­писи и вывода) это происходит в такте, следующем за ТЗ (по окон­чании записи). В обоих случаях шины процессора отключаются во фронту импульса F2 , следующего за импульсом F1 , по которому выполнялось переключение выхода HLDА.







следующего им­пульса F1 переключает в единицу выход HLDA. При выполнении циклов чтения или ввода процессор подтверждает захват в начале такта ТЗ (по окончании чтения). В других случаях (в циклах за­писи и вывода) это происходит в такте, следующем за ТЗ (по окон­чании записи). В обоих случаях шины процессора отключаются во фронту импульса F2 , следующего за импульсом F1 , по которому выполнялось переключение выхода HLDА.

Если процессор подтвердил запрос ПДП в такте ТЗ, а этот такт не последний он продолжает выполнение цикла до конца.

Это позволяет осуществить частичное перекрытие процессов обработки информации в процессоре с передачей по кана­лу ПДП, что улучшает производительность системы.

Процессор выходит из состояния ЗАХВАТ примерно в той же последовательности, что и входит. После окончания асинхронного сигнала запроса захват на входе HOLD импульсом F2 сбрасывает­ся внутренний триггер захвата, благодаря чему сигнал подтверждения захвата на выходе HLDA переключается в состояние низкого потенциала по переднему фронту ближайшего импульса F1. Процессор переходит к выполнению следующего машинного цикла.


20. Организация блока ЦП на базе Int80A и дополнительных БИС комплекта.

Для по­строения ЦП на БИС КР580ВМ80А используются микросхемы системно­го генератора КР58О ГФ24 и системного контроллера шины КР580ВГ28.

Главным элементом блока центрального процессора (БЦУ) является микропроцессор

КР580ВМ80А. Этот микропроцессор представляет собой 8-разрядный процессор, в

котором совмещены операционные и управляющие устройства. Управляющая память

недоступна пользователю, в ней уже в процессе изготовления БИС записываются

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

некоторой фиксированной системы команд, в которую пользователь не может

внести изменений. В связи с этим данный микропроцессор относится к числу

немикропрограммируемых.

Так как выходы микропроцессора могут быть нагружены только на 1 ТТЛ-вход, то

для согласования шин микропроцессора с памятью и внешними устройствами

необходимы шинные формирователи.В этой МПС в качестве шинного формирователя

шины адреса используются буферные регистры КР580ИР82. Шина адреса имеет 16

разрядов, итак как этот регистр имеет 8 разрядов, для построения буфера

потребуется 2 микросхемы. Одна микросхема формирует буфер для разрядов шины

адреса А0 - А7, а другая — А8 - А9. Для записи в регистр информации

необходимо подать логическую единицу на вход строба записи STB. Чтобы этот

регистр постоянно передавал данные с выходной шшины микропроцессора на

внешнюю шину на вход STB необходимо постоянно подавать высокий уровень.


Шина данных имеет 8 разрядов с двунаправленной передачей информации. Для

построения буфера достаточно одной микросхемы шинного формирователя,

включенной по схеме с управляемой двунаправленной передачей информациии.

Управление направлением передачи осуществляется с помощью сигнал DBIN,

формируемого микропроцессором. Формирователь шины данных реализован на БИС

КР580ВК28, кроме того эта БИС включает в себя системный контроллер.

Выдаваемая из микропроцессора информация о состоянии микропроцессора

поступает на вход этой БИС и при поступлении сигнала STSTB фиксируется в

специальном внутреннем регистре состояния, где она хранится до наступления

следующего цикла. Используя содержимое регистра состояния и управляющие

сигналы с выхода микропроцессора DBIN, WR, HLDA БИС формирует системный

управляющие сигналы INTA, IOR, IOW, MEMR, MEMW.


Работа микропроцессора синхронизируется двумя неперекрывающимися

последовательностями сигналов Ф1 и Ф2. Эти сигналы формирует тактовый

генератор КР580ГФ24. К выводам микросхемы X1 и X2 подключается кварцевый

резонатор с частотой, в 9 раз более высокой, чем частота следования тактовых

импульсов Ф1 и Ф2. Сформированные генератором гармонические колебания

поступают на вывод PCLK для контроля работы генератора и синхронизируют

работу тактовых импульсов. На выводы Ф1 и Ф2 выдаются требуемые для работы

микропроцессора высоковольтные последовательности тактовых импульсов. На

специальный вывод подаётся последовательность тактовых импульсов Ф2 с

уровнями, характерными для микросхем ТТЛ. С помощью сигнала SYNK на вывод

STSTB передаются импульсы Ф1, соответствующие началу каждого второго периода

циклов работы микропроцессора. Кроме того, предусмотрены вход и выход сигнала

сброса, вход и выход сигнала готовности.


21. Байт состояния его назначение и использование для формирования сигналов управления подсистемами микро-ЭВМ.

Каждый машинный цикл процессора идентифицируется так назы­ваемым байтом состояния (табл.2.3), который выдается на шину дан­ных в начале каждого машинного цикла и сопровождается выдачей сигнала синхронизации на вывод SYNC. Этот байт несет информацию о типе текущего цикла, действиях процессора в нем и может быть использован для расширения функций управления в микропроцес­сорной системе. Двоичные коды байтов состояния приведены в табл.2.4. Байт состояния выдается на шину данных кратковременно - в течение 1-го периода синхроимпульсов F2. Для формирования управляющих сигналов на его основе, необходимо запомнить байт состояния во внешнем регистре состояния. Для записи байта состояния в регистр нельзя использовать сигнал SYNC из-за нестабильности данных на ШД в момент окончания SYNC, поэтому необходимо сформировать строб ST.STB. лог.схемой *И* сигналов SYNC и F1 и подать ST.STB на вход записи регистра.


Таблица 2.3 Байт состояния микропроцессора КР580ИК80А


Разряд ШД

Сигнал состояния

Описание


1

2

3

D0

Подтверждение прерывания (ППР)

D0=1 указывает что процессор готов вести обработку запроса прерывания

D1

Запись-вывод (ЗВ)

D1=0 указывает, что выполняется выдача данных из процессора в память или порт,при D1=1 выполняются циклы ЧТЕНИЕ ПАМЯТИ или ВВОД.

D2

СТЕК

D2=1 указывает, что на адресной шине находится содержимое указателя стека, т.е. адрес верхней ячейки стека .

D3

Подтверждение останова (ПОСТ)

D3=1 указывает, что процессор находится в состоянии ОСТАНОВ (выполняется команда HLT).

D4

Вывод (ВЫВОД)

D4=1 указывает, что на адресной шине находится адрес внешнего устройства,в которое осуществляется вывод информации (цикл ВЫВОД).

D5

М1

М1=1 указывает, что выполняется первый цикл команды (цикл выборки кода операции).

D6

ВВОД

D6=1 указывает, что на адресной шине находится адрес внешнего устройства, с которого осуществляется ввод информации (цикл ВВОД)

D7

Чтение памяти (ЧТП)

D7=1 указывает, что процессор будет вводить данные из памяти.


22. Работа процессора после снятия сигнала Сброс(Reset).

Информация, извлекаемая из кода операции при декодировании команд и ее использование.

RESET- вход сигнала начальной установки процессора. После окончания

сигнала (его длительность должна быть не менее трех периодов синхросигналов) программный счетчик и триггер INTE (разрешение прерывания) устанавливается в нулевое состояние и процессор начинает выполнять программу с нулевого адреса. После снятия RESET процессор переходит в состояние Т1 машин­ного цикла М1- выборки команды по нулевому адресу;

Сразу после выхода из состояния сброса МК выполняет следующие действия:


  • запускает генератор синхронизации МК. Для стабилизации частоты тактирования внутренними средствами формируется задержка времени;


  • считывает энергонезависимые регистры конфигурации в соответствующие регистры ОЗУ (если необходимо);


  • загружает в счетчик команд адрес начала рабочей программы;


  • производит выборку первой программы из памяти программ и приступает к выполнению программы.


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


Регистр команд принимает и хранит байт кода операции, по­ступивший с внутренней шины данных, в течении всего времени работы процессора с данной командой. При декодировании кода операции определяется формат команды, характер преобразования операндов, способ их адресации. Эта информация используется для формирования внутренних сигналов управления блоком РОН, АЛУ с регистрами, буферами шины данных и адреса и прочими узлами. Это необходимо для обеспечения их правильного взаимодействия с целью реализации микропрограммы вы­полнения команд.

Формат представления команд зависит от типа команды и ис­пользуемого способа адресации. Для представления кода операции используется один байт. Процессор имеет возможность прямой адре­сации до 65536 байтов (ячеек) памяти, для чего используется адрес длиной 16 бит. Максимальная длина команды составляет 3 байта.

Для обеспечения гибкости кодирования вычислительного про­цесса используется 3 формата команд:

Однобайтовый формат

Байт 1

D7

D6

D5

D4

D3

D2

D1

DO

Код операции (КОП)
Двухбайтовый формат

Байт 1

D7

D6

D5

D4

D3

D2

D1

DO

Код операции(КОП)

Байт 2

D7

D6

D5

D4

D3

D2

D1

DO

Данные или адрес
Трехбайтовый формат

Байт 1

D7

D6

D5

D4

D3

D2

D1

DO

Код операции (КОП)

Байт 2

D7

D6

D5

D4

D3

D2

D1

DO

Мл. байт
Данные или адрес

Байт 3

D7

D6

D5

D4

D3

D2

D1

DO

Ст. байт



Процессор Z80A.


23. Назначение МП Z80A, основные отличия от Int80A, назначение выводов и сигналов.


24. Программная модель Z80A (форматы данных, АЛУ, флаги, регистры, форматы команд, способы адресации, стек, адресация портов в/в, особенности команд пересылки массивов, основные группы команд).


25. Временные диаграммы циклов работы с памятью МП Z80A.


26. Временные диаграммы циклов работы с портами в/в МП Z80A.


27. Временные диаграммы циклов обработки запросов прерываний и “захвата шин” МП Z80A.


28. Особенности выполнения МП Z80A команды HALT, временные диаграммы.


29. Основные режимы работы Z80A, алгоритм обработки внешних сигналов, прерывающих типовую работу микропроцессора.


30. Система прерываний МП Z80A, основные режимы прерываний, их особенности; средства поддержки вложенных прерываний.


31. Организация блока ЦП на базе Z80A, формирование сигналов управления подсистемами.


Процессор Int86.


32. Назначение и основные особенности МП Int 86, упрощенная функциональная схема МП, назначение и взаимодействие внутренних узлов при считывании и выполнении команд.


33. Минимальный режим Int86, назначение выводов и сигналов, временные диаграммы циклов шины при обращении к памяти и

портам в/в.

МП может работать в одном из двух режимов - "минимальном" (min) и "максимальном" (max). Минимальный режим предназначен для реализации однопроцессорной конфигурации МПС с организацией, подобной МПС на базе i8080, но с увеличенным адресным пространством, более высоким быстродействием и значительно расширенной системой команд. Максимальная конфигурация предполагает наличие в системе нескольких МП и специального блока арбитра магистрали (используется интерфейс Multibus).

Сигналы управления отличаются в минимальном и максималь­ном режимах. В минимальном режиме микропроцессор вырабатывает все необходимые системе сигналы управления. В максимальном режиме необходим внешний системный контроллер. Микропроцессор вырабаты­вает сигналы состояния, которые поступают на этот контроллер, а он вырабатывает все необходимые управляющие сигналы.

Далее описаны сигналы для микропроцессора в минимальном режиме.

Сигнал ALE (разрешение фиксации адреса) обеспечивается процессором, чтобы зафиксировать адрес на мультиплексированной шине адреса/данных. Активный уровень сигнала ALE - высокий, правильное значение адреса гарантируется по срезу данного сигнала.

Строб записи (WR) указывает, что данные с шины данных должны быть написаны в память или устройство ввода/вывода. Этот сигнал имеет активный низкий уровень.

Строб чтения (RD) - сигнал с активным низким уровнем, который указывает, что процессор выполняет цикл чтения памяти или устройства ввода/вывода.

Передача/прием данных (DT/R) управляет направлением потока данных через внешний приемопередатчик шины данных. Когда сигнал имеет низкий уровень, данные передаются к процессору. При высоком уровне процессор передает данные на шину данных.

Разрешение данных (DEN) активизирует приемопередатчики шины данных. DEN активен всегда, когда происходит передача данных. Активный уровень - низкий. DEN не активен всякий раз, когда DT/R изменяет состояние.

Память/УВВ (M/IO) - определяет, куда предаются данные. Когда уровень сигнала низкий, данные передаются к устройству ввода/вывода. Когда высокий - данные передаются в память.

Запрос на прерывание (INTR) сигнал требования прерывания вне­шним устройством. Это входной сигнал, его активный уровень - высо­кий. В ответ микропроцессор обеспечивает сигнал подтверждения прерывания (INTA) с активным низким уровнем. Это сигнал маскируемого прерывания.

Немаскируемое прерывание (NMI) вызывает прерывание с вектором 2. Немаскируемое прерывание нельзя запретить программно.

HOLD (активен при высоком уровне сигнала) указывает, что другое устройство управления передачей данных по шине требует внешнюю шину. Процессор генерирует сигнал HLDA в ответ на запрос. Одновременно с формированием сигнала HLDA, процессор переводит шины в высокоимпедансное состояние. После снятия сигнала HOLD процессор переводит сигнал HLDA в неактивное состояние. Когда процессор должен выполнить другой цикл шины, он будет снова управлять локальной шиной и шинами управления.

Минимальный режим включается при подаче на вход MN/MX логической 1, макси­мальный - при подаче на вход MN/MX логического 0. Графическое представление микропроцессора показано на рис.2.2. На этом рисунке отрицание названия сигнала подразумевает, что активный уровень сигнала низкий. Обозначения выводов микропроцессора в минимальном режиме, если функции выводов в минимальном режиме отличаются от их функций в максимальном, даются в круглых скобках.


Временные диаграммы работы МП i8086 в минимальном режиме представлены

РИС 4.16 - минимальный режим, цикл чтения

на Рис. 4.16 и Рис. 4.17. Цикл начинается с формирования в T1 сигнала M/IO, определяющего тип устройства - память или ВУ, с которым осуществляется обмен данными. Длительность сигнала M/IO равна длительности цикла шины, и он используется для селекции адреса устройств. В T1 и в начале T2 МП выдает адрес A[19:16] и A[15:0] и сигнал BHE, который вместе с A0 определяет передачу слова или одного из байтов. По спаду строба ALE адрес фиксируется во внешних регистрах-защел­ках.

Рис. 4.17. Минимальный режим - цикл ЗАПИСЬ

В такте T2 происходит переключение шин: на выводы A[19:16]/ ST[6:3] поступают сигналы состояния; выводы A/D[15:0] в цикле ЧТЕНИЕ переводятся в высокоимпедансное состояние, а в цикле ЗАПИСЬ - на них выдаются данные, предназначенные для записи в устройство.

Циклы ЧТЕНИЕ и ЗАПИСЬ отличаются не только активными значениями сигналов RD и WR и состоянием сигнала OP/IP, но и тем, что в цикле ЗАПИСЬ сигналы DEN и WR становятся активными раньше и имеют большую длительность, чем в цикле ЧТЕНИЕ.
В максимальном режиме изменяются значения восьми управляющих сигналов МП, на основании которых системный контроллер К1810ВГ88 формирует системные управляющие сигналы. Временные диаграммы работы i8086 в максимальном режиме представлены на Рис. 4.18 (а - ЧТЕНИЕ, б - ЗАПИСЬ).
Код состояния S[2:0] выдается по срезу CLK в последнем такте предшествующего цикла, которым может быть T4 или TI. В такте T1 контроллер формирует строб ALE и устанавливает необходимый уровень на выходе OP/IP (DT/R). В такте T2 начинается формирование DEN, который в отличие от минимального режима имеет активный высокий уровень. Контроллер. .ВГ88 формирует так же MRDC\, IORC\, AMWC\, AIOWC\. Последние два - сигналы опережающей записи обеспечивают более длительный импульс записи, что может потребоваться для некоторых устройств. Следует помнить, что сигналы опережающей записи не гарантируют установку данных по началу импульса записи. При разработке контроллера. .ВГ88 предполагалось, что шина данных системы буферизована, поэтому сигналы MRDC, IORC, AMWC, AIOWC начинают формироваться еще до того, как МП переведет шину в третье состояние. Поэтому эти сигналы не должны подаваться на те устройства, которые подключены непосредственно к мультиплексированной шине A/D. На Рис. 4.18 в рамки помещены сигналы, которые формирует системный контроллер К1810ВГ88.

При работе в асинхронном режиме между тактами T3 и T4 могут появиться один или несколько тактов ожидания Tw, в течении которых МП удерживает в активном состоянии выводы ST2..ST0, так что контроллер сохраняет управление шиной в течение любого числа тактов ожидания Tw. Сигнал направления передачи OP/IP\, передаваемый на шинные формирователи (ШФ), устанавливается в такте T1, но работа ШФ не разрешается до появления сигнала DEN\ = 0 в такте T2. Строб данных DEN\ заканчивается в такте T4, что обеспечивает отключение ШФ до начала следующего цикла шины.

Рис. 4.18. Временные диаграммы МЦ i8086 в максимальном режиме


34. Назначение и особенности работы МП Int86 в максимальном режиме, временные диаграммы циклов шины.

Сигналы управления отличаются в минимальном и максималь­ном режимах. В минимальном режиме микропроцессор вырабатывает все необходимые системе сигналы управления. В максимальном режиме необходим внешний системный контроллер. Микропроцессор вырабаты­вает сигналы состояния, которые поступают на этот контроллер, а он вырабатывает все необходимые управляющие сигналы.

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

Выводы QS0 и QS1 несут информацию о состоянии очереди команд процессора. Табл.2.1 показывает возможные состояния очереди команд.

Сигналы состояния цикла шины (S0S2) кодируют тип машинного цикла, выполняемого микропроцессором, как показано в табл.2.2.

В максимальном режиме HOLD-HLDA протокол трансформи­ру­ется в протокол управления доступом к шине Запрос/Разрешение (RQ/GT). Это позволяет другим сопроцессорам включаться в общую систему с микропроцессором 8086.

Таблица 2.1

Операции с очередью команд

QS1

QS0

Операции с очередью команд

0

0

Нет операций

0

1

Первый байт кода операции выбирается из очереди

1

1

Выборка следующего байта из очереди

1

0

Очередь команд пуста

Таблица 2.2

Типы машинных циклов

S2

S1

S0

Тип цикла

0

0

0

Подтверждение прерывания

0

0

1

Чтение УВВ

0

1

0

Запись УВВ

0

1

1

Остановt

1

0

0

Выборка команды

1

0

1

Чтение данных из памяти

1

1

0

Запись данных в память

1

1

1

Пассивный (нет операций)

CLK, RESET, READY - сервисные сигналы. Активный уровень сигнала RESET заставляет процессор немедленно закончить текущее действие, очистить внутреннюю логику, и перейти в неактивное состояние. Процессор начинает выбирать команды через несколько циклов тактовых сигналов после того, как RESET возвращается в неактивное состояние. Входной сигнал CLK должен быть подключен к генератору синхронизации. Сигнал READY сообщает процессору, что память или устройство ввода/вывода закончило передачу или прием данных. Соединение READY с уровнем логической 1 будет всегда устанавливать состояние готовности для процессора.

Для пользователя действия, выполняемые микропроцессором, представляют собой последовательность циклов канала по обмену информацией с памятью или периферийными устройствами. Каждый цикл канала микропроцессора состоит, как минимум, из четырех машинных тактов Т1 - Т4. Машинный такт начинается по спаду импульса синхронизации CLK и продолжается один период синхронизации.

Любой цикл шины можно условно разделить на две фазы:

фаза передачи адреса/статуса;

фаза передачи данных.

Фаза передачи адреса начинается перед началом такта Т1 и продолжается в течение этого такта. Фаза передачи данных начинается в такте Т2 и заканчивается в такте Т4. В такте Т1 на канал адреса/данных всегда выдается адресная информация. В этом же такте вырабатывается сигнал ALE, который позволяет идентифицировать начало цикла канала и используется как стробирующий импульс для занесения адресной информации во внешний регистр адреса.

В такте Т2 производится переключение направления работы ка­на­ла адреса/данных. Передача данных по каналу происходит в тактах ТЗ и Т4. Длительность цикла канала может быть удлинена использованием управляющего сигнала RЕАDY. Этот сигнал позволяет разработчику синхронизировать скорость работы внешней памяти со скоростью работы микропроцессора введением в цикл канала между тактами ТЗ и Т4 дополнительных тактов ожидания. В течение тактов ожидания данные на канале остаются неизменными. Между тактом Т4 текущего цикла и тактом Т1 следующего цикла канала процессор может вводить дополнительные (холостые) такты, предназначенные для выполнения внутренних действий. Моменты введения этих тактов и их число зависят от состояния очереди команд и выполняемой команды в УО.

На рис.2.3 представлена типовая временная диаграмма выполнения циклов чтения и записи.

Цикл чтения начинается с выработки сигнала ALE. Этот сигнал используется для занесения адресной информации во внешний регистр адреса. В такте Т2 канал A/D переключается в высокоомное состояние, вырабатывается сигнал RD, который используется для чтения адресуе­мого устройства. Для управления шинными формирователями, обеспечивающими развязку канала адреса/данных микропроцессора от системного канала данных, используются сигналы DT/R и DEN.

Цикл записи (как и цикл чтения) начинается с выдачи сигнала ALE и адреса на шину адреса/данных. В такте Т2 непосредственно за выдачей адреса на шину A/D выдаются данные для записи в адресуемое устройство. Эта информация остается истинной на канале данных до окончания такта Т4. Сигнал WR вырабатывается в начале такта Т2 и остается в этом состоянии до начала такта Т4.

35. Система прерываний Int86, виды, режимы и обработка запросов прерываний, циклы обработки запросов.


36. Обработка запросов шины в минимальном и максимальном режимах Int86.


37. Пуск и останов МП Int86, сопряжение быстродействия МП и подсистем.


38. Программная модель Int86.

Процессор интересует нас, прежде всего, как набор регистров.

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

Регистр - быстродействующее запоминающее устройство, реализованное на электронных компонентах.

Все регистры имеют размер слова (16 разрядов), за каждым из них закреплено определенное имя. По назначению и способу использования регистры можно разбить на следующие группы:

  • регистры общего назначения (AX, BX, CX, DX, SI, DI, BP, SP);

  • сегментные регистры (CS, DS, SS, ES);

  • указатель команд (IP);

  • регистр флагов (Flags).

Приведем расшифровку названий регистров:

AX accumulator, аккумулятор;
BX base, база;
CX counter, счетчик;
DX data, данные;

(буква X - от слова eXtended, расширенный: в процессоре 8080 были байтовые регистры A, B, C и D, но затем их расширили до размера слова)

SI source index, индекс источника;
DI destination index, индекс приемника;
BP base pointer, указатель базы;
SP stack pointer, указатель стека;

IP instruction pointer, указатель команд;

SS stack segment, сегмент стека;
DS data segment, сегмент данных;
CS code segment, сегмент команд;
ES extra segment, дополнительный сегмент.


Регистры общего назначения

Особенностью регистров общего назначения является то, что их можно использовать в любых арифметических, логических и т.п. машинных операциях. Например, можно сложить число из регистра DI с числом из регистра SP (add DI,SP) или вычесть из содержимого регистра BP содержимое регистра CX (sub BP,CX).

В то же время каждый из этих регистров имеет определенную специализацию: некоторые команды требуют, чтобы их операнд или операнды обязательно находились в определенных регистрах. Например, команда деления требует, чтобы первый операнд (делимое) находился в регистре AX или регистрах AX и DX (в зависимости от размера операнда), а команды управления циклом используют регистр CX в качестве счетчика цикла.

Если в команде операнд берется из памяти, тогда сослаться на него можно, указав некоторый адрес и некоторый регистр. В этом случае команда будет работать с так называемым исполнительным адресом, который вычисляется как сумма адреса, указанного в команде, и текущего значения указанного регистра. Именно из ячейки с таким адресом команда и будет брать свой операнд. Замена адреса, указанного в команде, на исполнительный адрес называется модификацией адреса, а используемый при этом регистр называется модификатором. Модификаторами могут быть только регистры BX, BP, SI и DI. Отметим также, что модифицировать адрес можно не только по одному регистру, но и по двум сразу. Правда, в этом случае разрешено использовать не любую пару указанных модификаторов, а только такую, где один из регистров - это BX или BP, а другой - это SI или DI.

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

Регистры AX, BX, CX и DX устроены так, что возможен независимый доступ к их старшей и младшей половинам. Обозначают эти половины буквами H (high - выше, старший) и L (low - ниже, младший) и первой буквой из названия регистра: AH и AL - в AX, BH и BL - в BX и т.д.

Отметим, что на части делятся только регистры AX, BX, CX и DX. Запись же в другие регистры и чтение из них осуществляются только целиком.

Сегментные регистры

Ни в каких арифметических, логических и т.п. операциях эти регистры не могут участвовать. Эти регистры используются для сегментирования адресов, которое является разновидностью модификации адресов и которое используется для сокращения размера команд. Суть дела здесь в следующем.

Если в оперативной памяти ЭВМ имеется 2k ячеек, то для ссылок на эти ячейки нужны k-разрядные адреса (абсолютные или физические адреса). Ясно, что при большом объеме памяти большим будет и размер абсолютных адресов, а это ведет к увеличению длины команд, к увеличению размера программы в целом. Это плохо. Чтобы сократить размеры команд поступают следующим образом.

Память условно делят на участки, которые принято называть сегментами. Начальные адреса сегментов (эти адреса называются базами) могут быть любыми, но на длины сегментов накладывается ограничение: размер любого сегмента не должен превосходить, скажем, 2m ячеек, где m < k.

В этих условиях абсолютный адрес A любой ячейки памяти можно представить в виде суммы A=B+ofs, где B - база сегмента, к которому относится ячейка A, а ofs - смещение (offset) или относительный адрес ячейки, т.е. ее адрес, отсчитанный от начала сегмента, от адреса B.

Ограничение размера сегментов означает, что 0 ≤ ofs ≤ 2m-1, и потому для записи смещений достаточно m разрядов. Следовательно, большая часть адреса A приходится на базу B, а ofs -лишь небольшой добавок. Учитывая это, поступаем следующим образом. Если в команде надо указать абсолютный адрес A, то базу B помещаем в некоторый регистр R, а в команде указываем лишь этот регистр и меньшее слагаемое ofs.

Процессор I8086 мог работать с 1 Мб памяти, т.е. 220 байтов (k=20), поэтому абсолютные адреса 20-разрядные. Размер сегмента должен быть равен 64 Кб, т.е. 216 байтов (m=16), поэтому смещения (или эффективный адрес) - это 16-разрядные адреса.

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

Указатель команд

В регистре IP всегда находится адрес команды, которая должна быть выполнена следующей. Более точно, в IP находится адрес этой команды, отсчитанный от начала сегмента команд, на начало которого указывает регистр CS.

Поэтому абсолютный адрес этой команды определяется парой регистров CS и IP. Изменение любого из этих регистров есть ничто иное, как переход. Следовательно, содержимое регистра IP (как и CS) можно менять только командами перехода.

Регистр флагов

Флаг - это бит, принимающий значение 1 ("флаг установлен") или значение 0 ("флаг сброшен"). В i8086 используется 9 флагов, собранных в один 16-разрядный регистр, называемый регистром флагов (Flags). Некоторые разряды регистра не заняты.

Флаги делятся на две группы: флаги условий (они автоматически меняются при выполнении команд и фиксируют те или иные свойства их результата (например, равен ли он нулю)) и флаги состояний (их меняет программа; состояние этих флагов оказывает влияние на дальнейшее поведение процессора).

Флаги условий:

  • CF (carry flag) - флаг переноса. Наиболее полезен в арифметических операциях над числами без знака; например, если при сложении беззнаковых чисел получилась слишком большая сумма - с единицей переноса, которой нет места в ячейке, тогда флаг CF принимает значение 1, а если сумма "укладывается" в размер ячейки, то значением CF будет 0.


  • OF (overflow flag) - флаг переполнения. Полезен в арифметических операциях над числами со знаком; например, если при сложении или вычитании знаковых чисел получился результат, по модулю превосходящий допустимую величину (произошло переполнение мантиссы), тогда флаг OF получает значение 1, а если переполнения мантиссы не было - значение 0.


  • ZF (zero flag) - флаг нуля. Устанавливается в 1, если результат команды оказался нулевым.


  • SF (sign flag) - флаг знака. Устанавливается в 1, если в операции над знаковыми числами получился отрицательный результат.


  • PF (parity flag) - флаг четности. Равен 1 , если в 8 младших битах результата очередной команды содержится четное количество двоичных единиц.


  • AF (auxiliary carry flag) - флаг дополнительного переноса. Фиксирует особенности выполнения операций над двоично-десятичными числами.

Флаги состояний:

  • DF (direction flag) - флаг направления. Устанавливает направление просмотра строк в строковых командах: при DF=0 строки просматриваются "вперед" (от начала к концу), при DF=1 - в обратном направлении.


  • IF (interrupt flag) - флаг прерываний. При IF=0 процессор перестает реагировать на поступающие к нему прерывания, а при IF=1 блокировка прерываний снимается.


  • TF (trace flag) - флаг трассировки. При TF=1 после выполнения каждой команды процессор делает прерывание, чем можно воспользоваться при отладке программы.


39. Организация блока ЦП на базе Int86 для однопроцессорных систем.

В однопроцессорных ЭВМ и микроконтроллерах МП 8086 обычно работает в минимальном режиме (MN/MX= 1). Стан­дартным способом к МП подключается генератор тактовых им­пульсов (системный генератор). К его входу RESподсоединяет­ся RC-цепочка, которая формирует сигнал сброса автоматически при включении питания либо с помощью кнопки.

Для проектирования микропроцессорной системы необхо­димо решить три задачи:

  • построение центрального процессора (ЦП);

  • подключение памяти;

  • подключение внешних устройств.

Рассмотрим их последовательно.

Построение блока центрального процессора. При разра­ботке структуры блока ЦП (рис. 2.12) возникают три задачи:

  • разделения (демультиплексирования) шины адреса/ данных (ШАД);

  • буферирования шины адреса (ША) и шины данных (ШД);

  • формирования системных управляющих сигналов для блоков памяти и внешних устройств.

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

защелке. Поэтому на рис. 2.12 показана схема 21-разрядного ре­гистра адреса.

Рис. 2.12. Пример построения центрального процессора на базе МП Intel 8086



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

Третья задача может быть решена с помощью комбинаци­онных логических схем, которые формируют требуемые управ­ляющие сигналы на основе сигналов RD, WRи M/IO, вырабаты­ваемых МП. Если в системе используется адресное пространст­во ввода-вывода, изолированное от пространства памяти, то це­лесообразно сформировать сигналы, аналогичные сигналам на выходах системного контроллера. Если же в микропроцессорной системе ввод-вывод организован сотображением на память, то сигнал M/IOне используется, и на ЗУ и ВУ подаются сигналы RDи WRпосле усиления.

Используемые усилители и формирователи должны обес­печивать три выходных состояния, чтобы можно было органи­зовать прямой доступ к памяти (ПДП). В этом случае после пе­ревода МП в состояние захвата усилители переходят в третье состояние по сигналу РМ (BUSEN), поступающему от контрол­лера ПДП. Если захват шин и обмен данными по каналу ПДП не предусмотрен, то необходимость в таком переключении отпада­ет.

Подключение блоков памяти. При подключении ЗУ к шинам микропроцессорной системы необходимо обеспечивать передачу как двухбайтовых слов, так и отдельных байтов.

С этой целью память выполняется в виде двух банков (рис. 2.13): младшего, подключаемого к линиям данных D7-D0 и со­держащего байты с четными адресами (А0 = 0), и старшего, со­единенного с D15-D8 и содержащего байты с нечетными адре­сами (А0 = 1). Чтобы каждое слово передавалось за один цикл шины, слова располагают только с четных адресов. Напомним, что адресная линия А0 совместно с линией разрешения старше­го банка ВНЕ обеспечивает следующие варианты пересылок по шине данных:

А0 = 0, ВНЕ = 0 - пересылается слово;

А0 = 0, ВНЕ = 1 - пересылается только младший байт;

А0 = 1, ВНЕ = 0 - пересылается только старший байт;

А0 = 1, ВНЕ = 1 - устройство не выбрано.

Выработка сигнала ВНЕ и указанный порядок пересылок реализуются микропроцессором автоматически.

При чтении из ЗУ в любом случае на шину данных будет подаваться слово, из которого МП при необходимости выберет требуемый байт и поместит его в регистр, указанный в выпол­няемой команде. Поэтому сигналы ВНЕ и А0 на постоянное ЗУ (ПЗУ, на рис. 2.13 - память программ) не подаются. При записи в ЗУ (на рис. 2.13 - память данных) необходимо различать стар­ший и младший байты, иначе может происходить разрушение информации, хранящейся в соседнем байте. Для этого сигналы ВНЕ и А0 подаются на входы CSHи CSLвыбора старшего и младшего банков ОЗУ.

Рис. 2.13. Пример подключения подсистемы памяти в микропроцессорной системе



Процесс обращения к ПЗУ стробируется сигналом MEMR, а к ОЗУ - сигналами MEMRи MEMW, объединенными с помо­щью логического элемента И-НЕ.

При подключении внешних устройств также возникает проблема передачи слов или отдельных байтов по шине данных (ШД). К устройствам, которые осуществляют обмен байтами и поэтому подключаются к младшей или старшей половине ШД, относятся, в частности, все программируемые БИС. В этом слу­чае отдельно дешифрируются четные и нечетные адреса ВУ, и полученные таким образом сигналы выбора кристалла подаются на соответствующие входы БИС. Устройства с четными адреса­ми подключаются к младшей половине ШД (или ко всей ШД), а устройства с нечетными адресами - к старшей половине ШД.



40. Организация многопроцессорных систем на базе Int86.

Для увеличения производительности МП-систем используются их мультипроцессорные конфигурации. Все МП, входящие и мультипроцессорную систему (МПС), работают парал­лельно — на каждый МП возлагается решение некоторой части общей задачи. Для обмена дан­ными между МП вся память (1 Мбайт) или ее часть разделяются (используются) несколькими однотипными или разных типов МП и NDCP(8086, 8088, 8089 и 8087).

Классификации мультипроцессорных систем. На практике принято различатьсопроцессорные, сильно связанные (локальные) и слабо связанные (дистанционные) конфигурации МПС. На рис. 4.58 показана структурная схема МПС, иллюстрирующая принцип построения сопроцессорной и сильно связанной конфигураций (можно использовать только один МП 8086:CPU8086 иNDCP8087 — сопроцессорная конфигурация (центральный процессор 8086 и арифметический сопроцессор 8087);

CPU8086,IOP-1 8089 иIOP-2 8089 - сильно связанная конфигурация (центральный процессор 8086 и процессоры ввода-вывода 8089 [12, 13]; IOP — I/O Processor); в отличие от сопроцессора 8087 процессор ввода-вывода 8089 самостоятельно выбирает свои команды из памяти, т. е.IOP является независимым микропроцессором, который можно использовать и в слабо связанной конфигурации.

При использовании сопроцессорных и сильно связанных конфигураций главный(host)МП

  1. выполняет функцию приоритетного арбитража шин — предоставление шин сопроцессору

  2. и процессорам ввода-вывода 8089 осуществляется с помощью двунаправленных сигналов RQ/GT(см. рис. 4.9) по их запросам системной шиныRQ|GT.

















Всопроцессорных и сильно связанных конфигурациях МПС доступ ко всем ресурсам сис­темы (память и устройства ввода-вывода) осуществляется через общую системную шину дан­ных — используется общий генератор синхронизации 8284 и общая логика управления шина­ми: ИС 8288 (контроллер шин), ИС 8282 (функциональный аналог 8-разрядного асинхронного потенциального регистра памяти 1533ИР22) и ИС 8286 (функциональный аналог 8-разрядного приемопередатчика 1533АП6 [5]). В каждый момент времени к системной шине данных может обращаться только один МП или сопроцессор, поэтому возможности их параллельной работы ограничены (в частности,CPU 8086, IOP1 8089 и IОР2 8089 выборку команд своих про­грамм должны производить из общей системной памяти, а пропускная способность системной

шины данных ограничена).

В слабо связанных конфигурациях МПС (рис, 4.59;Status = S2.о.A/D =AD15-0,A19-16» ВНЕ) приоритетный арбитраж шин выполняется арбитрами шин 8289 {BusArbiter— рис. 4.60), свя­занных между собой шиной управленияMulti-MasterControlBus, и используются независимые МП с возможностью предоставления им различных комбинаций из шин трех типов: общей для всех МП системной шины (Multi-MasterSystemBus,) резидентной шины (собственной шины для любого МП) и шины ввода-вывода (также собственной шины для любого МП). К систем­ной шине может обращаться каждый МП для управления общими (системными) ресурсами (SystemMemory иSystemI/O), в частности, для обмена данными с другими МП.


По резидентной шине МП обращается к индивидуальным ресурсам (ResidentMemoryи ResidentI\O) а по шине ввода-вывода— к индивидуальным устройствам ввода-вывода I/O и памяти М, отображенной на устройства ввода-вывода (М =>I\O на рис. 4.59).







Общие вопросы по МП системам.


41. Классификация, назначение и типы микропроцессорных наборов, особенности проектирования, достоинства и недостатки типов МП наборов. .

Микропроцессорный набор - совокупность микропроцессорных и других интегральных микросхем микропроцессорного комплекта БИС, номенклатура и количество которых необходимы и достаточны для построения конкретного изделия вычислительной или управляющей техники.

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

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


Функциональная классификация микропроцессоров

Общая функциональная классификация микропроцессорных средств показана на рис. 1.1.

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

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

Рис. 1.1. Функциональная классификация микропроцессорных средств

Универсальные микропроцессоры ориентированы на использование в различных вычислительных, информационных и управляющих системах, в которых требуется обработка больших объемов информации (например, для цифровой обработки изображений, управления базами данных, визуализации данных оператору или экипажу), но нет специальных требований к архитектуре вычислителя, большому количеству средств УСО, габаритным размерам и энергопотреблению. Универсальность микропроцессора подразумевает как широкую сферу использования, так и типовую структуру вычислительной системы. Для таких устройств обычно реализуется архитектура Фон Неймана, и реже Гарвардская архитектура. Типовая структура универсального микропроцессора показана на рис.1.2 (К1).

Универсальные микропроцессоры не являются самодостаточными устройствами, и для построения вычислительной системы требуют подключения ряда дополнительных микросхем (память, контроллеры, порты). Поэтому обычно для конкретного универсального МП разработан т.н. микропроцессорный комплект, содержащий различные буферные элементы и контроллеры, функционально и электрически совместимые с данной моделью МП (chipset).

Рис. 1.2. Типовая структура универсального микропроцессора.

Однокристальный микроконтроллер (МК)представляет собой микропроцессорную систему, реализованную на одном кристалле СБИС. Типичная архитектура МК включает в себя собственно процессор, генератор тактовых импульсов (ГТИ), блоки памяти (ОЗУ и ПЗУ), порты ввода-вывода, таймеры, контроллер прерываний. Функциональные возможности этих блоков ниже, чем у соответствующих специализированных БИС из МПК. Основными достоинствами МК являются конструктивное и схемотехническое единство всех блоков, общий электрический интерфейс, удобство программной настройки режимов работы всех подсистем. Благодаря этому микроконтроллеры являются популярным средством для построения встраиваемых цифровых управляющих систем. Сами однокристальные микроконтроллеры и вычислительно-управляющие системы на их основе реализованы в соответствии с Гарвардской архитектурой.

МК для задач логического управления - логические процессоры- имеют специальные аппаратные расширения (память с битовой адресацией, порты с индивидуальной настройкой каждой линии) и расширенный набор команд логической обработки данных. В современных разработках широкое применение нашли МК серии К1816 (аналог Intel MCS-51), а также AVR - и PIC-контроллеры. Существуют также многочисленные расширения стандартного MCS-51 - с повышенным быстродействием, увеличенными объемами памяти и набором функций. Типовая структура МК для задач логического управления показана на рис.1.3 (К2).

Рис. 1.3. Типовая структура микроконтроллера для логического управления.

Аналоговые процессоры для обработки сигналов -включают в себя, кроме типовых блоков МК, включают в себя многоканальные АЦП и ЦАП, блоки формирования управляющих импульсов (например, ШИМ-импульсов). Такой процессор представляет собой интегрированную систему обработки аналоговой информации в цифровом виде.

Еще одна разновидность МК - конвейерные сигнальные процессоры, содержащие конвейеры для реализации алгоритмов цифровой фильтрации данных и обработки изображений. Такие алгоритмы состоят из последовательности операций умножения и суммирования. Конвейер представляет собой набор однотипных блоков для выполнения операций умножения-суммирования, включенных последовательно друг за другом. Таким образом, результат выполнения операции в одном блоке автоматически является входными данными для следующего блока. Применение конвейерной обработки позволяет выдавать на каждом такте работы системы очередной результат вычислений. Примером подобных устройств являются микроконтроллеры Intel MCS-196/296. Пример структуры такого микропроцессорного устройства показан на рис. 1.4.

Пример простейшей структуры сигнального процессора показан на рис. 1.4. Особенность микропроцессора данного типа состоит в том, что в его состав входит блок аппаратного умножения (MUL), который совместно с арифметико-логическим устройством (ALU) и сдвигающими регистрами (SHIFTER) образует блок для эффективной реализации вычислений по алгоритмам цифровой фильтрации данных.

Кстати в случае поломки микропроцессора или какого либо друго компонента ноутбука рекомендую обратиться в сервис-центр best-console.ru (г. Москва)
Если вы заинтересованы в
квалифицированном ремонте, то этот именно то, что вам нужно.

МП с микропрограммным принципом управления конструктивно выполняют в виде секций БИС малой разрядности, имеющих средства для наращивания разрядности обрабатываемых данных. Для подобных МП в принципе отсутствует понятие системы команд. Действия процессора на тот или иной управляющий код (считанный из памяти код команды) определяются программистом путем настройки специального блока или БИС - блока микропрограммного управления. Таким образом, разработчики системы могут сформировать систему команд, ориентированную на эффективное решение определенного круга задач. Существенным недостатком подобных систем является громоздкость аппаратных модулей на их основе, а также необходимость написания программного обеспечения буквально в машинных кодах, что затрудняет разработку. В настоящее время такие секционированные МП практически вытеснены однокристальными МП и микроконтроллерами.

Современная реализация идеи микропрограммного управления представлена программируемыми логическими интегральными схемами (ПЛИС). Основу ПЛИС составляет матрица элементарных логических блоков. За счет изменения связей между блоками можно построить вычислительное устройство произвольной структуры, которое идеально соответствует конкретной задаче. Проектирование структуры ПЛИС выполняется на специальном языке описания аппаратуры (VHDL) или с помощью графических средств с последующей генерацией программы формирования структуры. Как правило, на ПЛИС реализуют нетривиальные алгоритмы (нечеткая логика, эмуляция аппаратуры, адаптивное управление).

Рис. 1.4. Типовая структура процессора обработки сигналов (без АЦП и ЦАП)



42. Типовая структура однопроцессорной микро-ЭВМ на базе микропроцессоров и МП наборов БИС, структура и особенности шинной организации взаимодействия подсистем

Архитектура микро-ЭВМ представляет собой модель микро-ЭВМ с точки зрения программиста.

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

Необходимость выполнения сложных функций управления привела к созданию микроконтроллеров - управляющих устройств, выполненных на одном или нескольких кристаллах. Микроконтроллеры выполняют функции логического анализа и управления. Поэтому за счёт исключения арифметических операций можно уменьшить их аппаратурную сложность или развить функции логического управления.

В приведённых схемах (рис.1 и 2) обработку информации осуществляет МП, синхронизируемый тактовыми импульсами устройства синхронизации. Чтобы все части (устройства) микро-ЭВМ работали в правильной последовательности необходим специальный генератор тактовых импульсов, синхронизирующих работу всей системы.

Обмен информацией между МП и остальными блоками микро-ЭВМ осуществляется по трём магистралям (называемых ещё шинами): адресной, данных и управляющей.

Шина (BUS) - группа линий передачи информации объединенных общим функциональным назначением. Например: шина данных, шина адресов, шина управления.

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

Магистраль (шина) адреса (МА) служит для передачи кода адреса, по которому проводится обращение к устройствам памяти, ввода-вывода или другим внешним устройствам, подключённым к МП.

Адрес - n- разрядное слово, используемое для указания определенного места, обычно ячейки памяти.

Шина адреса - система линий передачи адресов.

Обрабатываемая информация и результаты вычислений передаются по магистрали данных (МД).

Данные - сообщения, закодированные в двоичной форме. Данные ещё не являются собственно информацией.

Шина данных - система линий передачи данных внутри МП и вне него.

Информация - смысл, придаваемый данным.

Магистраль управления (МУ) передает управляющие сигналы на все блоки ЭВМ, настраивая на нужный режим устройства, участвующие в выполнении команды.

Шина управления - система линий передачи сигналов управления.

Физические устройства, приведённые на рисунке 1, являются аппаратными средствами. Для их полезного использования занесённая в память программа предписывает МП что он должен делать.

Программные средства - это общий термин, охватывающий все программы.

Еще большего упрощения структуры процессора и шин добиваются за счет исключения команд ввода-вывода из системы команд ЭВМ. При этом часть адресного пространства памяти (пространства, определяемого разрядностью регистра адреса) отводят для адресов регистров контроллеров ВУ и используют для ввода и вывода любые команды ЭВМ, которые осуществляют запись данных в эту “область памяти” (в базовой ЭВМ команда MOV) и чтение из нее (например, ADD, AND из состава команд базовой ЭВМ).

Структуры с вводом-выводом, организованным по аналогии с обращением к памяти (структуры с общими шинами ), появились в начале 70-х годов.

Рис. 5.2. Структуры микроЭВМ:

а. с раздельными шинами; б с изолированными шинами; в с изолированными шинами и мультиплексированием шин адресов и данных; г с общими шинами; д с общими шинами и мультиплексированием шин адресов и данных

В первой из них (структура типа представленной на рис. 5.2, г) при 16-разрядной адресной шине адреса с 0000 по DFFF (56K * байт) отведены для ячеек памяти, а адреса с ЕООО до FFFF (8K байт) для регистров данных контроллеров ВУ. Для ввода-вывода используют команды обращения к па-

мяти с адресами от ЕООО до FFFF. Процессор как бы обманывают, заставляя его выполнять операцию с регистром данных контроллера ВУ, тогда как процессор работает так, как если бы он имел дело с ячейкой памяти ЭВМ.

Во всех современных микропроцессорах (даже в тех, которые имеют команды ввода-вывода) можно организовать ввод-вывод по аналогии с обращением к памяти. Некоторые из них обладают богатым набором команд (в том числе арифметических и логических) и способов адресации операндов, расположенных в памяти ЭВМ. Для таких микропроцессоров организация ввода-вывода по аналогии с обращением к памяти особенно выгодна.

Описание связей между процессором, памятью и контроллерами ВУ, выполненное по типу рис. 5.2, не позволяет ответить на множество чрезвычайно важных вопросов.


43. Структура подсистемы памяти микро-ЭВМ. Способы увеличения обьема и разрядности памяти. Циклы обращения к ЗУ.

Способы дешифрации адресов блоков памяти и регистров ВУ.

Расширение адресного пространства микроЭВМ.

Память микро-ЭВМ, доступную пользователю, составляют аккумулятор А, регистр слова состояния программы PSW, ОЗУ и ПЗУ. Организация аккумулятора особенностей не имеет. Внутренняя оперативная память микро-ЭВМ имеет 64 восьмиразрядных ячейки с адресами от 00H до 3FH. Половина этих ячеек с младшими адресами имеет двойное назначение. Часть из них одновременно выполняет роль регистров СОЗУ, другая - стековой памяти. Организацию ОЗУ иллюстрирует рис.6.3.

Рис.6.3.Организация ОЗУ однокристальной микро-ЭВМ

Регистры СОЗУ сгруппированы в два банка по 8 регистров. Банки регистров могут переключаться с помощью специальной команды. Положение стека в ОЗУ фиксировано. В отличие от INTEL 8080A стек здесь растет в сторону больших адресов. Емкость стека ограничена восемью шестнадцатиразрядными словами. При попытке записи девятого слова, оно вновь запишется с адреса 08Н.

Младшие байты шестнадцатиразрядных слов хранятся в ОЗУ по младшему адресу, старшие - по старшему.

Дополнительное внешнее ОЗУ, подключаемое к микро-ЭВМ, имеет свое собственное адресное пространство, никак не связанное с адресным пространством внутреннего ОЗУ. Напротив, внутреннее и внешнее ПЗУ микро-ЭВМ имеют общее адресное пространство. Это пространство разделено на два банка (MB0 и MB1) по 2К, а каждый из банков на 8 страниц по 256 байт. Такую организацию ПЗУ иллюстрирует рис.6.4.

Рис.6.4.Организация ПЗУ однокристальной микро-ЭВМ

Разбиение ПЗУ на страницы не нарушает естественный порядок выборки и исполнения команд. Говорят, что границы этих страниц «прозрачны» для выборки. Напротив, граница между банками ПЗУ MB0 и MB1 непрозрачна. За адресом 7FFH при естественном порядке выборки здесь последует адрес 000Н. Банки ПЗУ переключаются только программно. При работе без внешнего ПЗУ всегда используется банк MB0. Три ячейки памяти на странице 0 ПЗУ имеют специальные функции. Ячейка 000Н ПЗУ является стартовой. На нее передается управление после подачи сигнала сброса RESET. Ячейка 0003Н является точкой входа программы обслуживания внешнего прерывания по входу INT. Ячейка 0007Н является точкой входа программы прерывания от счетчика/таймера.

Формат регистра слова состояния программы PSW представлен на рис.6.5. Кроме признаков, вошедших в PSW, пользователю программно доступны еще три:

MB - селектор банков ПЗУ;

F1 - признак пользователя;

TF - переполнение таймера.

Рис.6.5.Формат регистра PSW однокристальной микро-ЭВМ

Разрядность обрабатываемого слова непосредственно влияет на быстродействие и точность вычисления. В настоящее время наблюдается тенденция к увеличению разрядности выпускаемых МП и мик-ро ЭВМ. [2]

Такой подход удобен и потому, что счетчики реализуют в виде интегральной микросхемы в отдельном корпусе. В этом случае при последовательном переносе просто осуществляется увеличение разрядности счетчика. [3]

При выборе величины HI необходимо учитывать то, что организация ключей таким образом позволяет вставлять между двумя ря - дом стоящими записями ( Я - 1) новую. Выбирать Я - слишком большим не следует из-за увеличения разрядности ключа. [4]

Эти схемы можно наращивать как последовательно, так и параллельно. На рис. 19.24 показано последовательное соединение компараторов для увеличения разрядности сравниваемых чисел. [5]

При применении сдвига для умножения или деления возможны особые случаи ( перенос в разряд знака при сдвиге влево; сдвиг вправо числа - 1), приводящие к некорректному результату, причиной которого является переполнение разрядной сетки аккумулятора. Команду арифметического сдвига вправо применяют также для расширения знака при увеличении разрядности числа. [6]

Таким образом, умножение многочлена на X означает приписывание справа п нулей. Как следует из примеров, перемножение дало увеличение степени многочлена, т.е. увеличение разрядности кодовой комбинации. [7]

Будучи оснащены различными периферийными устройствами и средствами связи с управляемыми объектами, микро - ЭВМ наиболее широко и выгодно применяются как составная часть различных информационно -) ирЗБЛяющпх систем. При этом используются отдельные микро - ЭВМ, расширенные микро - ЭВМ ( за счет наращивания числа микропроцессоров для увеличения разрядности) и системы микро - ЭВМ, образующие вычислительные сети, параметры которых близки к параметрам мини - ЭВМ. [8]

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

Центральный процессорный элемент предназначен для логической и арифметической обработки информации, приема, хранения и выдачи оперативной информации, а также для формирования адресов памяти. Он представляет собой двухразрядную микропроцессорную секцию со структурой, обеспечивающей практически неограниченные возможности объединения кристаллов ЦПЭ по горизонтали с целью увеличения разрядности процессора. [10]

Точность решения задачи на ЦВМ практически не ограничена. Увеличение точности вычислений достигается увеличением количества разрядов цифрового кода, представляющего числа в машине. Увеличение разрядности чисел связано только с увеличением числа элементов, предназначенных для изображения цифр каждого разряда. При этом в отличие от АВМ увеличение числа элементов не связано с уменьшением точности решения. [11]

В машинах ЕС ЭВМ машинное слово состоит из 4 байт. Вместе с тем в этих машинах существует возможность работы со словами половинной или удвоенной длины. Увеличение разрядности ЭВМ повышает точность вычислений, выполняемых машиной.


Способы дешифрации адреса.

Способ дешифрации адреса зависит от объемов ОЗУ и ПЗУ, количества и типа

устройств ввода/вывода. При проектировании микропроцессорной системы

используются следующие способы дешифрации адреса:

1) линейный выбор. Самый простой способ, не использующий логику

дешифрации адреса. Технически реализуется следующим образом: любая

линия ША используется как сигнал выборки кристаллов. Пример

реализации:




Способ используется при подключении малых объемов памяти. Недостатком

является большая потеря области адресного пространства;

2) дешифрация с помощью логического компаратора. Простой и очень гибкий

способ дешифрации адреса. В этом случае логический компаратор

устанавливается на каждую печатную плату, с помощью перемычек

устанавливается адрес каждой печатной платы. При совпадении кода

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

линиях, формируется сигнал выборки кристаллов. Технически логический

компаратор может быть выполнен на схемах совпадения.




3) дешифрация с помощью комбинаторной логики. В этом случае для

формирования сигналов выборки кристалла используется логические элементы:




Сигнал выборки кристалла формируется, если А14=1, а А15=0.

Данная схема позволяет оьратиться по адресам 4000 - 7FFF. Недостатком

является жесткая логика.

3) Дешифрация адреса с помощью дешифратора. В этом случае выбирается одна

из 2n возможных комбинационных входных сигналов, где n-количество

входов, подключенных к дешифратору.



Микросхема К1810ВТ3 - контроллер управления динамической памятью.


X0,X1- входы для подключения кварцевого

резонатора для выработки сигналов регенерации

памяти. Либо к X1 можно подключить CLK. AL0-AL7;

AH0-AH7 - адрессные входы для выборки ячейки

памяти внутри памяти.

WR,RD/S1 - сигналы системной записи/чтения.

B0,B1 - входы дешифратора (выборка банков

памяти).

PCS - вход выборки кристалла контроллера.

OUT0-OUT7 - мультиплексированные выходы выбора

адрессов строк и столбцов.

WE - сигнал считывания памяти.

CAS - RAS2 - сигналы управления микросхемами динамической памяти.

XACK - ответ памяти на сигналы обращения к ней.

SACK - готовность памяти.


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

Для расширения адресного пространства можно воспользоваться параллельным портом. Внешние выводы параллельного порта при этом используются в качестве старших битов адресной шины. Такой метод расширения адресного пространства называется страничным методом адресации. Регистр данных параллельного порта при использовании его для расширения адресного пространства будет называться переключателем страниц. Схема использования параллельного порта в качестве переключателя страниц памяти приведена на рисунке 4.

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

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

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

Для формирования физического адреса используется параллельный двоичный сумматор. На входы этого сумматора подаЈтся содержимое базового регистра и содержимое счЈтчика команд. Суммирование производится со смещением содержимого базового регистра влево на несколько бит относительно счЈтчика команд (рисунок 8). В результате максимальный размер сегмента определяется разрядностью программного счЈтчика, а максимальная неиспользуемая область памяти - смещением базового регистра относительно программного счЈтчика.

Адресное пространство при использовании сегментного метода адресации приведено на рисунке 7.

Количество сегментов определяется количеством базовых регистров. Сегменты могут перекрываться в адресном пространстве, и тем самым может регулироваться размер памяти, который отводится под каждый конкретный сегмент памяти. В компьютерах семейства IBM PC имеются четыре базовых регистра, определяющих сегмент данных, сегмент программы, сегмент стека и дополнительный сегмент. Информацию в базовые регистры заносит операционная система при переключении задач.

ЕщЈ одним распространЈнным способом увеличения адресного пространства является применение окон. При использовании окон производится расширение не всего адресного пространства, а только его части. Внутри адресного пространства выделяется некоторая область, которая называется окном. В это окно может отображаться часть другого адресного пространства.

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

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

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

Оконная адресация часто используется при развитии микропроцессорных семейств, когда размера областей памяти, отведЈнных для конкретных задач в младших моделях семейства, не хватает для старших моделей семейства, а при этом нужно поддерживать аппаратную совместимость с младшими моделями семейства. В качестве примера можно привести микросхемы I81c96 фирмы INTEL или TMS320c5410 фирмы Texas Instrument, где для расширения области регистров специальных функций используется оконная адресация.


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


Память в микропроцессорной системе

Для хранения информации в микропроцессорных системах используются запоминающие устройства на основе полупроводниковых материалов, а также магнитные и оптические внешние носители. Внутренняя память компьютера представлена в виде отдельных интегральных микросхем (ИМС) собственно памяти и элементов, включенных в состав других ИМС, не выполняющих непосредственно функцию хранения программ и данных - это и внутренняя память центрального процессора, и видеопамять, и контроллеры различных устройств.

Для создания элементов запоминающих устройств, в основном, применяют СБИС со структурой МДП (металл-диэлектрик-полупроводник) на основе кремния (в связи с тем, что в качестве диэлектрика чаще всего используют его оксид Si02, то их обычно называют МОП (металл-оксид-полупроводник) структурами).

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

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

На развитие микропроцессорной техники решающее значение оказывает технология производства интегральных схем.

Полупроводниковые интегральные микросхемы подразделяются на биполярные ИМС и МОП схемы, причем первые - более быстродействующие, а вторые имеют большую степень интеграции, меньшую потребляемую мощность и меньшую стоимость. Цифровые микросхемы могут по идеологии, конструкторскому решению, технологии относится к разным семействам, но выполнять одинаковую функцию, т.е. быть инвертором, триггером или процессором. Наиболее популярными семействами можно назвать у биполярных ИМС: ТТЛ (транзисторно-транзисторная логика), ТТЛШ (с диодами Шоттки), ЭСЛ (эмиттерно-связанная логика); у МДП: n-МОП и КМОП.

Базовым материалом для изготовления ИМС является кремний. Несмотря на то, что он не обладает высокой подвижностью носителей заряда (mn=1500 см2/Вс), а значит, приборы на его основе теоретически будут уступать по быстродействию приборам на основе арсенида галлия GaAs, однако система Si-SiO2 существенно более технологична. С другой стороны, приборы на кремниевой основе кремний-оксид кремния) обладают совершенной границей раздела Si-SiO2, химической стойкостью, электрической прочностью и другими уникальными свойствами.

Динамические запоминающие устройства

В отличие от статических ЗУ, которые хранят информацию пока включено питание, в динамических ЗУ необходима постоянная регенерация информации, однако при этом для хранения одного бита в ДОЗУ нужны всего 1-2 транзистора и накопительный конденсатор (рис. 4.8). Такие схемы более компактны.

Рис. 4.8. Запоминающая ячейка динамического ОЗУ.

Рис. 4.9. Конструкция ячейки ДОЗУ (см. рис. 4.8, слева). Снизу представлен разрез схемы по линии А-А.

Естественно, что в микросхеме динамического ОЗУ есть один или несколько тактовых генераторов и логическая схема для восстановления информационного заряда, стекающего с конденсатора. Это несколько "утяжеляет" конструкцию ИМС.

Чаще всего и СОЗУ, и ДОЗУ выполнены в виде ЗУ с произвольной выборкой, которые имеют ряд преимуществ перед ЗУ с последовательным доступом.


Проектирование интерфейса связи с ВУ.


45. Основные принципы организации взаимодействия микро-ЭВМ и ВУ, их достоинства и недостатки. Задачи, решаемые на этапе проектирования подсистемы ввода/вывода микро-ЭВМ.

1. Структура ЭВМ с одной системной шиной. Понятие системной шины. Классификация линий шины. Их назначение. (Архитектура ЭВМ)

К микро-ЭВМ подключаются самые разнообразные внешние устройства (ВУ).

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

Память и ВУ подключаются к шинам с помощью интерфейсов (контроллеров). Часто интерфейс является составной частью ВУ. Он должен выполнять некоторую комбинацию следующих функций:

1) передавать состояние ВУ в ЭВМ;

2) обеспечивать буферное хранение данных, вводимых из ВУ в ЭВМ;

3) принимать приказы от ЭВМ во ВУ;

4) обеспечивать буферное хранение данных, выводимых из ЭВМ во ВУ;

5) сигнализировать ЭВМ о завершении операции и др.

Типичная структура с одной системной шиной показана ниже.

CPU-микропроцессор; ROM-память; I/O-устройство ввода-вывода; РВ-шина питания; ДВ-шина данных; АВ-шина адресов; СР-шина управления.

Внешние шины.

При наличии только одной шины она обычно называется системной шиной. В любом случае линии шины можно классифицировать следующим образом.

Линии данных.

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

Линии адреса.

Каждая ячейка памяти или интерфейсный регистр ассоциируются с однозначной комбинацией бит, называемой адресом. Линии адреса предназначены для передачи комбинаций бит, которые дешифрируются как адреса подключенными к шине интерфейсами. В модуле памяти каждое слово (байт) имеет свой адрес, и интерфейс памяти распознает адреса всех своих слов (байт).

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

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

Линии управления.

Независимо от используемой шинной конфигурации между ЦП, модулями памяти и интерфейсами ВУ необходимо передавать некоторую управляющую информацию. Передача ее осуществляется с квитированием. Управляющая информация представляет собой некоторую комбинацию следующих сигналов: 1) запросы на использование шины, которые формируются различными интерфейсами, подключенными к шине; 2) разрешение использования шины, которое формируется в соответствии с назначенными приоритетами в схемах приоритетов. Эти схемы иногда находятся в МП, но иногда реализуются на отдельных БИС; 3) сигналы прерываний,фиксирующие внешние события, требующие внимания ЦП; 4) сигналы синхронизации для координации передач по шине адресов и данных; 5) сигналы паритетов (главным образом в мини- и больших ЭВМ); 6) сигналы о неисправностях или о выключении питания.

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


46. Структура подсистемы в/в для программно управляемого обмена с ВУ.

Наиболее простым методом управления вводом/выводом является программно управляемый ввод/вывод, часто называемый также вводом /выводом с опросом. Здесь ввод/вывод происходит под полным контролем центрального процессора и реа­лизуется специальной процедурой ввода/вывода. В этой процедуре ЦП с помощью команды ввода/вывода сообщает модулю ввода/вывода, а через него и внешнему устройству о предстоящей операции. Адрес модуля и ВУ, к которому производит­ся обращение, указывается в адресной части команды ввода или вывода. Модуль исполняет затребованное действие, после чего устанавливает в единицу соответ­ствующий бит в своем регистре состояния. Ничего другого, чтобы уведомить ЦП, модуль не предпринимает. Следовательно, для определения момента за­вершения операции или пересылки очередного элемента блока данных про­цессор должен периодически опрашивать и анализировать содержимое регис­тра состояния МВБ.

Иллюстрация процедуры программно управляемого ввода блока данных с уст­ройства ввода приведена на рис. 8.6. Данные читаются пословно. Для каждого читаемого слова ЦП должен оставаться в цикле проверки, пока не определит, что слово находится в регистре данных МВБ, то есть доступно для считывания.

Процедура начинается с выдачи процессором команды ввода, в которой указан адрес конкретного МВБ и конкретного ВУ. Существуют четыре типа команд В/ВЫВ, которые может получить МВБ: управление, проверка, чтение и за­пись.

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

^ Команда проверки применяется для проверки различных ситуаций, возникаю­щих в МВБ и ВУ в процессе ввода/вывода. С помощью таких команд ЦП спосо­бен выяснить, включено ли ВУ, готово ли оно к работе, завершена ли последняя операция ввода/вывода и не возникли ли в ходе ее выполнения какие-либо ошибки. Действие команды сводится к установке или сбросу соответствующих разрядов регистра состояния МВБ.

^ Команда чтения побуждает модуль получить элемент данных из ВУ и занести его в регистр данных (РД). ЦП может получить этот элемент данных, запросив МВБ поместить его на шину данных.

^ Команда записи заставляет модуль принять элемент данных (байт или слово) с шины данных и переслать его в РД с последующей передачей в ВУ.





Рис. 8.6. Программно управляемый ввод данных



Если к МВБ подключено несколько ВУ, то в процедуре ввода/вывода нужно производить циклический опрос всех устройств, с которыми в данный момент up-. -изводятся операции В/ВЫВ.

Из блок-схемы (см. рис. 8.6) явно виден основной недостаток программно управляемого В/ВЫВ — неэффективное использование процессора из-за ожидания готовности очередной порции информации, в течение которого никаких иных по­лезных действий ЦП не выполняет. Кроме того, пересылка даже одного слова тре­бует выполнения нескольких команд. ЦП должен тратить время на анализ битов состояния МВБ, запись в МВБ битов управления, чтение или запись данных со скоростью, определяемой внешним устройством. Все это также отрицательно ска­зывается на эффективности ввода/вывода.

Главным аргументом в пользу программно управляемого ввода/вывода является простота МВБ, поскольку основные функции по управлению В/ВЫВ берет на себя процессор. При одновременной работе с несколькими ВУ приоритет уст­ройств легко изменить программными средствами (последовательностью опроса). Наконец, подключение к СВВ новых внешних устройств или отключение ранее подключенных также реализуется без особых сложностей.

47. Структура подсистемы в/в для обмена по прерываниям.

Ввод/вывод по прерываниям

Как уже отмечалось, основным недостатком программно управляемого В/ВЫВ являются простои процессора в ожидании, пока модуль ввода/вывода выполнит очередную операцию. Альтернативой может быть вариант, когда ЦП выдает команду В/ВЫВ, а затем продолжает делать другую полезную работу. Когда ВУ готово к обмену данными, оно через МВВ извещает об этом процессор с помощью запроса на прерывание. ЦП осуществляет передачу очередного элемента данных, после чего возобновляет выполнение прерванной программы.

Обсудим процесс ввода блока данных е использованием В/ВЫВ по прерываниям (рис. 8.7). Оставим без внимания такие подробности, как сохранение и восстановления контекста, действия, выполняемые при завершении пересылки блока данных, а также в случае возникновения ошибок.

Процедура ввода блока данных по прерываниям реализуется следующим образом. ЦП выдает команду чтения, а затем продолжает выполнение других заданий, например другой программы. Получив команду, МВВ приступает к вводу элемента данных с ВУ. Когда считанное слово оказывается в регистре данных модуля, VIBB формирует на управляющей линии сигнал прерывания ЦП. Выставив зап­рос, МВВ помещает введенную информацию на шину данных, после чего он готов к следующей операции В/ВЫВ. ЦП в конце каждого цикла команды проверяет наличие запросов прерывания. Когда от МВВ приходит такой сигнал, ЦП сохра­няет контекст текущей программы и обрабатывает прерывание. В рассматривае­мом случае ЦП читает слово из модуля, записывает его в память и выдает модулю команду на считывание очередного слова. Далее ЦП восстанавливает контекст прерванной программы и возобновляет ее выполнение.



Рис. 8.7. Ввод данных по прерыванию
Этот метод эффективнее программно управляемого В/ВЫВ, поскольку устра­няет ненужные ожидания, однако обработка прерывания занимает достаточно много времени ЦП. Кроме того, каждое слово, пересылаемое из памяти в модуль В/ВЫВ или в противоположном направлении, как и при программно управляе­мом В/ВЫВ, проходит через ЦП.
^ Реализация ввода/вывода по прерываниям
При реализации ввода/вывода по прерываниям необходимо дать ответы на два вопроса. Во-первых, определить, каким образом ЦП может выяснить, какой из МВВ и какое из подключенных к этому модулю внешних устройств выставили запрос. Во-вторых, при множественных прерываниях требуется решить, какое из них дол­жно быть обслужено в первую очередь.
Сначала рассмотрим вопрос идентификации устройства. Здесь возможны три основных метода:


  • множественные линии прерывания;


  • программная идентификация;


  • векторное прерывание.


Наиболее простой подход к решению проблемы определения источника запро­са — применение множественных линий прерывания между ЦП и модулями вво­да/вывода, хотя выделение слишком большого количества управляющих линий для этих целей нерационально. Более того, даже если присутствует несколько ли­ний прерывания, желательно, чтобы каждая линия использовалась всеми МВБ. при этом для каждой линии действует один из двух остальных методов идентифи­кации устройства.
При программной идентификации, обнаружив запрос прерывания, ЦП перехо­дит к общей программе обработки прерывания, задачей которой является опрос всех МВБ с целью определения источника запроса. Для этого может быть выделе­на специальная командная линия опроса. ЦП помещает на адресную шину адрес опрашиваемого МВВ и формирует на этой линии сигнал опроса. Реакция модуля зависит от того, выставлял он запрос или нет. Возможен и иной вариант, когда каждый МВВ включает в себя адресуемый регистр состояния. Тогда ЦП считыва­ет содержимое PC каждого модуля, после чего выясняет источник прерывания. Когда источник прерывания установлен, ЦП переходит к программе обработки прерывания, соответствующей этому источнику. Недостаток метода программной идентификации заключается в больших временных потерях.
Наиболее эффективную процедуру идентификации источника прерывания обеспечивают аппаратурные методы, в основе которых лежит идея векторного пре­рывания. В этом случае, получив подтверждение прерывания от процессора, выс­тавившее запрос устройство выдает на шину данных специальное слово, называе­мое вектором прерывания. Слово содержит либо адрес МВБ, либо какой-нибудь другой уникальный идентификатор, который ЦП интерпретирует как указатель на соответствующую программу обработки прерывания. Такой подход устраняет необходимость в предварительных действиях с целью определения источника за­проса прерывания. Реализуется он с помощью хранящейся в ОПтаблицы векто­ров прерывания (рис. 8,8), где содержатся адреса программ обработки прерываний. Входом в таблицу служит вектор прерывания. Начальный адрес таблицы (база) обычно задается неявно, то есть под таблицу отводится вполне определенная об­ласть памяти.
Наиболее распространены два варианта векторной идентификации источника запроса прерывания: цепочечный опрос и арбитраж шины.



Рис. 8.8. Идентификация запроса с помощью вектора прерывания

При цепочечном методе для передачи запроса прерывания модули ввода/выво­да совместно используют одну общую линию. Линия подтверждения прерывания последовательно проходит через все МВВ. Когда ЦП обнаруживает запрос преры­вания, он посылает сигнал по линии подтверждения прерывания. Этот сигнал дви­жется через цепочку модулей, пока не достигнет того, который выставил запрос. Запросивший модуль реагирует путем выдачи на шину данных своего вектора пре­рывания.
В варианте арбитража шипы МВБ, прежде чем выставить запрос на линии за­проса прерывания, должен получить право на управление шиной. Таким образом, в каждый момент времени активизировать линию запроса прерывания может толь­ко один из модулей. Когда ЦП обнаруживает прерывание, он отвечает по линии подтверждения. После этого запросивший модуль помещает на шину данных свой вектор прерывания.
Перечисленные методы служат не только для идентификации запросившего МВВ, но и для назначения приоритетов, когда прерывание запрашивают несколь­ко устройств. При множественных линиях запроса ЦП начинает с линии, имею­щей наивысший приоритет. В варианте программной идентификации приоритет модулей определяется очередностью их проверки. Для цепочечного метода прио­ритет модулей определяется порядком их следования в цепочке.

48. Структура подсистемы в/в для организации внепроцессорного обмена с ВУ.

При использовании данного интерфейса возможно два режима обмена данными с ПУ с памятью:


  • обмен под управлением центрального процессора (CPU);


  • внепроцессорный обмен, т.е. обмен в режиме прямого доступа (DMA).


Обмен под управлением центрального процессора выполняется по следующей схеме:


  1. CPU инициализирует ПУ (передает на него команду на исполнение);


  2. при передаче данных CPU обращается к порту ввода-вывода ПУ, читает информацию и записывает во внутренний регистр CPU (или на оборот);


  3. CPU передает информацию из регистра в память.


  4. по завершении передачи CPU через соответствующий порт опрашивает состояние ПУ, анализирует его и определяет дальнейшее использования этого ПУ.


Внепроцессорный обмен происходит по схеме:


  1. CPU инициализирует ПУ;


  2. CPU передает каналу прямого доступа (КПД), закрепленному за ПУ, управляющую информацию относительно будущего сеанса прямого доступа к памяти (DMA), включающую начальный адреса блоков данных, его длину и т.п.;


  3. при готовности ПУ к обмена, оно вырабатывает сигнал запроса обмена в режиме DMA, получив который контроллер прямого доступа запрашивает разрешение у ЦПУ на захват шины. После получения разрешения КПД вырабатывает сигнал DACK, который поступает через интерфейс на ПУ, запросившее обмен; этим сигналом КПД оповещает ПУ о том, что для него организуется прямой доступ к памяти;


  4. далее начинается обмен данными ПУ с ОП под управлением КПД.


  5. по завершению обмена, контроллер прямого доступа посылает в интерфейс сигнал ТС (сигнал завершения обмена;


  6. далее CPU через соответствующий порт опрашивает состояние ПУ, анализирует полученную информацию и определяет дальнейшее использования этого ПУ.


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



^ Организация контроллера прямого доступа
Контроллер DMA представляет собой единую микросхему, связанную с интерфейсом и CPU () Линии DRQ0 и DACK0 в интерфейс не выводятся, так как КПД0 закрепляется за процедурой регенерации памяти.

Процедура каскадирования позволяет увеличить количество КПД.

На (Рис. 1.2 -17) изображен каскад контролеров, позволяющий на двух контролерах организовать семь КПД.






Рис. 1.2 16




Структурно КПД () состоит из двух частей (Рис. 1.2 -18):


  • общая управляющая часть для всех каналов;


  • четыре однотипных КПД.






Общая управляющая часть включает следующие регистры.

РД - регистр данных. Используется для кратковременного хранения байта при его приеме (или передачи) из системного интерфейса.

РК - регистр команды. В этом регистре задается прямая или инверсная логика реакции на сигналы на линиях DRQ и DACK. В этом регистре задается нормальный или ускоренный режим обмена. Полный или сокращенный режим обмена единицей информации. Здесь же задается система приоритетов каналов, которая может быть постоянной или циклической. При постоянной системе задаются приоритеты для каждого КПД, которые сохраняются на всем периоде работы. При циклической системе после завершения очередного обмена по некоторому КПД, ему приписывается самый низкий приоритет, а приоритетность всех остальных каналов повышается на единицу.

РС - регистр состояния. Содержит 2 тетрады. В первой тетраде записывается факты запроса по каждому из четырех каналов. Во второй тетраде отмечается завершение обмена данными по каждому из четырех каналов.

РМ - регистр маски. Имеет по одному разряду на каждый из четырех КПД. Наличие единицы в некотором разряде блокирует обмен по соответствующему каналу прямого доступа. Регистр заполняется CPU, при этом имеется возможность изменить значение или только в одном, или во всех четырех разрядах.

Р


^ 8-бит регистры:

РД - регистр данных

РК - регистр команд

РС - регистр состояния

РМ - регистр маски

РЗ - регистр запросов



^ 16-бит регистры:

РТА - регистр текущего адреса

БТА - буфер текущего адреса

СчД - счетчик данных

Б СчД - буфер счетчика данных

РР - регистр режима




З - регистр запросов. Используется для программной эмуляции запроса прямого доступа. Количество разрядов соответствует числу КПД. Установка CPU единицы в некоторый разряд вызывает обмен в режиме DMA по соответствующему каналу. Запросы этого прямого доступа к памяти не маскируются.


Для управления обменом для каждого КПД используются следующие регистры.

РР - регистр режима. Определяет вид операции в ОП (при вводе - запись, при выводе- чтение), а также режим обмена, который может быть:


  • монопольный - начатый обмен в данном канале не прерывается до полного завершения;

  • мультиплексный - начатый обмен может быть прерван обменом по более приоритетному КПД.

РТА - регистр текущего адреса. В регистре формируется адрес для следующего обращения к ОП за счет модификации адреса последнего обращения к ОП на плюс(или минус) единицу. При инициализации канала в этот регистр заносится начальный адрес расположения блока обмена в ОП.

СчД - счетчик данных. Определяет число байт, которыми еще осталось обменяться. В начале обмена в счетчик устанавливается значение длины области обмена. В процессе обмена очередной единицей данных значение в счетчике уменьшается на единицу.

БТА - регистр-буфер текущего адреса. При инициализации обмена по соответствующему КПД, в этот регистр, также как и в регистр текущего адреса ТА, заносится начальный адрес области обмена. Значение в этом регистре используется при автоинициализации для повтора обмена только что выполненного обмена в режиме DMA.

БСчД - регистр-буфер счетчика данных. При инициализации обмена по соответствующему КПД, в этот регистр, также как и в СчД, заносится длина области обмена. Значение в этом регистре используется при автоинициализации для повтора обмена только что выполненного обмена в режиме DMA.

РТА, СчД, БТА, БСчД имеют длину, равную двум байтам. Запись информации в них при инициализации осуществляется в два приема, т.к. обмен данными с контроллером прямого доступа к памяти осуществляется по одному байту за один раз.

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

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

Формирование двадцати разрядного адреса на линиях А0-19 осуществляется при использовании специального регистра-защелки адреса (РЗА). При полном цикле обмена сначала выполняется перенесение старшего байта из РТА в РЗА, за тем младший байт из РТА передается на восемь младших разрядных линий А0-8.

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

На ниже приведенном рисунке (Рис. 1.2 -19) представлена временная диаграмма обмена в режиме прямого доступа.

Заштрихованные фрагменты отражают сигналы, не относящиеся к данному обмену. Они отражают работу с другими ПУ.

На временной диаграмме использованы обозначения:


  • BUS CLK - основная синхронизация интерфейса;


  • DMA CLK - синхронизация режима прямого доступа.


Временная диаграмма построена для операции ввода информации.

Все сигналы, кроме DACK и IORD, воспринимаются по прямой логики (высокий уровень - сигнал есть).



Рис. 1.2 19
Взаимодействие в режиме DMA для рассматриваемого ПУ начинается после того, как оно вырабатывает сигнал по выделенной ему линии DRQ.

Захватив интерфейс, контроллер ПДП вырабатывает сигнал чтения из порта ввода-вывода I/OR и формирует на SA0-19 адрес обращения к ОП, предварительно блокируя его восприятие периферийными устройствами сигналом АЕN. Кроме того, контроллер ПДП вырабатывает сигнал MEMW, по которому ОП принимает адрес с SA0-19 в свой регистр адреса.

На седьмом такте BUS CLK ПУ выдает байт данных из своего регистра данных на SD0-7, а ОП принимает этот байт в свой регистр данных и записывает адресу, имеющемуся в регистре адреса ОП, в соответствующую локацию запоминающей среды.

В конце седьмого такта BUS CLK контроллер ПДП снимает сигналы I/ORD, MEMW, адрес с SA0-19, затем сигнал AEN.

49. Особенности организации параллельного и последовательного обмена с ВУ. Основные типы БИС МП комплектов КР580 и КР1810 для организации интерфейсов связи с ВУ, их назначение и основные функциональные характеристики.

Подсистема ввода/вывода (ПВВ)

Подсистема ввода/вывода обеспечивает связь МП с внешними уст­ройствами, к которым будем относить:


  • устройства ввода/вывода (УВВ): клавиатура, дисплей, принтер, датчики и исполнительные механизмы, АЦП, ЦАП, таймеры и т. п.;


  • внешние запоминающие устройства (ВЗУ): накопители на магнитных дис­ках, "электронные диски", CD и др.


ПВВ в общем случае должна обеспечивать выполнение следующих функций:


  • согласование форматов данных, поскольку процессор всегда выда­ет/принимает данные в параллельной форме, а некоторые ВУ — в после­довательной. С этой точки зрения различают устройства параллельного и последовательного обмена. В рамках параллельного обмена не произво­дится преобразование форматов передаваемых слов, в то время как при последовательном обмене осуществляется преобразование параллельного кода в последовательный и наоборот. Все варианты, при которых длина слова ВУ (больше 1 бита) не совпадает с длиной слова МП, сводятся к разновидностям параллельного обмена;


  • организация режима обмена — формирование и прием управляющих сиг­налов, идентифицирующих наличие информации на различных шинах, ее тип, состояние ВУ (Готово, Занято, Авария), регламентирующих времен­ные параметры обмена. По способу связи процессора и ВУ (активного и пассивного) различают синхронный и асинхронный обмены, различия меж­ду которыми мы обсудили в начале настоящей главы.



^ Параллельный обмен


Простейшая подсистема параллельного обмена должна обеспечить лишь де­шифрацию адреса ВУ и электрическое подключение данных ВУ к системной шине данных DB по соответствующим управляющим сигналам. На рис. 6.7 показаны устройства параллельного ввода и вывода информации в составе МПС на базе буферных регистров К580ИР82.

Очевидно, при обращении процессора (он в подобных циклах играет роль активного устройства) к устройству ввода, адрес соответствующего регистра помещается процессором на шину адреса и формируется управляющий сиг­нал RDIO. Дешифратор адреса, включающий и линию RDIO, при совпадении адреса и управляющего сигнала активизирует выходные линии регистра и его содержимое поступает по шине данных в процессор.


Аналогично идет обращение к устройству вывода. Совпадение адреса уст­ройства на шине адреса с активным уровнем сигнала WRJO обеспечивает "защелкивание" состояния шины данных в регистре вывода.

Характерно, что при таком способе обмена процессор не анализирует готов­ность ВУ к обмену, а длительность существования адреса, данных и управ­ляющего сигнала целиком определяется тактовой системой процессора и принятым алгоритмом командного цикла. Напомним, что такой способ обме­на называется синхронным. Синхронный обмен реализуется наиболее просто, но он возможен только с устройствами, всегда готовыми к обмену, либо про­цессор должен перед выполнением команды ввода/вывода программными средствами убедиться в готовности ВУ к обмену (обычно в этом случае пред­варительно анализируется состояние флага готовности, формируемого ВУ). Кроме того, быстродействие ВУ, взаимодействующее с процессором в син­хронном режиме, должно гарантировать прием/выдачу данных за фиксиро­ванное время, выделенное процессором на цикл обмена.

Во многих микропроцессорных комплектах выпускают специальные интер­фейсные БИС, существенно расширяющие (по сравнению с использованием регистров) возможности разработчиков при организации параллельного об­мена в МПС. Такие БИС обычно имеют несколько каналов передачи инфор­мации, позволяют программировать направление передачи (ввод или вывод) по каждому каналу и выбирать способ обмена— синхронный или асин­хронный.

Типичным примером такой БИС может служить программируемый контрол­лер параллельного обмена (далее "контроллер") 8255А (отечественный ана­лог—К580ВВ55).

Последовательный обмен

  • При организации последовательного обмена ключевыми могут считаться две проблемы:
    синхронизация битов передатчика и приемника;

  • фиксация начала сеанса передачи.


Различают два способа передачи последовательного кода: синхронный и асинхронный.
Синхронный метод
При синхронном методе передатчик генерирует две последовательности — информационную TxD И синхроимпульсы CLK, которые передаются на при­емник по разным линиям. Синхроимпульсы обеспечивают синхронизацию передаваемых битов, а начало передачи отмечается по-разному.
При органи­зации внешней синхронизации (рис. 6.9) сигнал начала передачи BD генери­руется передатчиком и передается на приемник по специальной линии.

Системы с внутренней синхронизацией генерируют на линию данных специ­альные коды длиной 1—2 байта— символы синхронизации. Для каждого приемника предварительно определяются конкретные синхросимволы, таким образом можно осуществлять адресацию конкретного абонента из несколь­ких, работающих на одной линии. Каждый приемник постоянно принимает биты с линии RxD, формирует символы и сравнивает с собственными синхросимволами. При совпадении принятых символов с заданными для этого приемника синхросимволами последующие биты поступают в канал данных приемника.
В случае реализации внутренней синхронизации между приемни­ком и передатчиком "прокладывают" только две линии — данных и синхро­импульсов.
Ассинхронный метод
Наконец, при асинхронном способе обмена можно ограничиться одной лини­ей — данных. Для надежной синхронизации обмена в асинхронном режиме:


передатчик и приемник настраивают на работу с одинаковой частотой;

передатчик формирует стартовый и столовый биты, отмечающие начало и конец посылки;

передача ведется короткими посылками (5—9 битов), а частоты передачи выбираются сравнительно низкими.


Принцип последовательного асинхронного обмена по единственной линии показан на рис. 6.10. Пока передачи нет, на линии передатчик удерживает высокий уровень (Н).

Передача начинается с выдачи в линию стартового бита низкого уровня (длительности всех битов х одинаковы и определяются час­тотой передатчика fт = 1/т).
Частота приемника fR устанавливается равной 16 х fт . Когда приемник об­наруживает на линии перепад Н → L, он включает счетчик тактов до 16, при­чем еще дважды за период τ проверяет состояние линии. Если низкий уро­вень (L) подтверждается, приемник считает, что принял старт-бит, и включа­ет счетчик принимаемых битов.
Если во второй и третьей проверке на линии определяется Н-уровень, то перепад считается помехой и старт-бит не фик­сируется.

Каждый последующий (информационный) бит принимается таким образом, что за период τ трижды проверяется состояние линии (например, в 3, 8 и 11 тактах приемника) и значение принимаемого бита определяется по мажоритарному принципу. Принятый бит помещается слева в сдвиговый регистр приемника. После принятия последнего информационного бита (количество битов в посылке определяется протоколом обмена и составляет обычно от 5 до 9) обязательно должен последовать стоповый бит Н-уровня. Во время по­ступления стоп-бита содержимое сдвигового регистра приемника передается в память, а в регистр передатчика может загружаться новая порция информа­ции для передачи. Отсутствие стопового бита воспринимается приемником как ошибка передачи посылки.
После стопового бита можно формировать стартовый бит новой посылки или "держать паузу" произвольной длительности, при которой на линии присут­ствует Н-уровень.
Наличие стартового бита позволяет в начале каждой посылки синхронизиро­вать фазы приемника и передатчика, компенсировав неизбежный уход фаз передатчика и приемника. Короткие посылки и относительно низкая частота передачи позволяют надеяться, что неизбежное рассогласование частот пере­датчика и приемника не приведет к ошибкам при передаче посылки.


Проектирование подсистемы прерываний.

50. Основные задачи и их решение на этапах проектирования системы прерываний.

Система прерываний предназначена для приема, приоритетной обра­ботки и обслуживания запросов прерываний. В общем случае запросы прерывания могут формироваться по командам программы, внутренними или внешними источниками. Прием и обработку программных и внутренних прерываний выполняют внутренние средства процессора. Для обработки внешних прерываний следует разрабатывать внешние аппаратные средства. Источ­никами внешних прерываний в микропроцессорных системах являются устройства ввода/вывода, времязадающие устройства, аварийные ситуации. Исходной информацией при проекти­ровании системы прерываний является:

  • число обслуживаемых запросов пре­рываний,

  • распределение их приоритетов,

  • время на обслуживание и т. д.

Подсистема прерываний должна обеспечивать выполнение следующих функций:

  1. обнаружение изменения состояния внешней среды (запрос на прерывание);

  2. идентификация источника прерывания;

  3. разрешение конфликтной ситуации в случае одновременного возникновения нескольких запросов (приоритет запросов);

  4. определение возможности прерывания текущей программы (приоритет программ);

  5. фиксация состояния прерываемой (текущей) программы;

  6. переход к программе, соответствующей обслуживаемому прерыванию;

  7. возврат к прерванной программе после окончания работы прерывающей программы.






Рис №1

Рассмотрим варианты реализации в МПС перечисленных выше функций.
(1) Фиксация изменения состояния внешней среды может осуществляться различными средствами: двоичными датчиками, компараторами, схемами формирования состояний и т.п. Будем полагать, что все эти средства формируют в конечном итоге логические сигналы запроса на прерывание z, причем для определенности будем считать, что активное состояние этого сигнала передается уровнем логической единицы (H - уровень).

Количество источников запросов в МПС может быть различно, в том числе и довольно велико. Дефицит внешних выводов МП исключает возможность передачи запросов от ВУ по "собственным" линиям интерфейса. Обычно на одну линию запроса подключается несколько источников прерываний (по функции ИЛИ), а иногда и все источники системы - на единственный вход (как в i8080).

Различают два типа входов запросов на прерывания - радиальные и векторные. Процессор анализирует состояние входов запросов в конце каждого машинного цикла.


Рис. №1 Организация векторного прерывания

(2) Получив запрос на прерывание, процессор должен идентифицировать его источник, т.е. в конечном счете, определить начальный адрес обслуживающей это прерывание программы. Способ идентификации зависит от типа входа, на который поступил запрос.

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

Гораздо чаще в современных МПС используется т.н. "векторная" подсистема прерываний (Рис. №1). В такой системе микропроцессор, получив запрос на векторном входе INT, выдает на свою выходную линию сигнал подтверждения прерывания INTA, поступающий на все возможные источники прерывания. Источник, не выставивший запроса, никак не реагирует на сигнал INTA. Источник, выставивший запрос, получая сигнал INTA, выдает на системную шину данных "вектор прерывания" - свой номер или адрес обслуживающей программы или, чаще, адрес памяти, по которому расположен указатель на обслуживающую программу. Время реакции МПС на запрос векторного прерывания минимально (1..3 машинных цикла) и не зависит от числа источников.

(3) Для исключения конфликтов при одновременном возникновении нескольких запросов на векторном входе ответный сигнал INTA подается на источники запросов не параллельно, а последовательно - в порядке убывания приоритетов запросов. Источник, не выставлявший запроса, транслирует сигнал INTA со своего входа на выход, а источник, выставивший запрос, блокирует дальнейшее распространение сигнала INTA. Таким образом, только один источник, выставивший запрос, получит от процессора сигнал INTA и выдаст по нему свой вектор на шину данных.

Более гибко решается проблема организации приоритетов запросов при использовании в МПС специальных контроллеров прерываний.

Конфликты на радиальном входе исключаются самим порядком программного опроса источников.

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

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

(5..7) Рассмотрим возможность прерывания программы по окончанию различных процессов. Учитывая, что прерванная программа должна быть запущена по окончании работы прерывающей с того места, где она была прервана, подсистема прерываний МПС должна обеспечить фиксацию полного состояния прерываемой программы на момент прерывания.

При прерывании после текущего машинного такта требуется запоминать не только состояние всех регистров процессора (программно-доступных и системных), но и состояние первичного управляющего автомата. Реализация процедуры фиксации состояния и последующего восстановления потребует значительных затрат дополнительного оборудования и/или времени.

Значительный объем информации требуется запоминать и при прерывании программы после текущего машинного цикла (выбранный фрагмент или всю команду, выбранные операнды или сформированные адреса).

Поэтому в большинстве МП прерывание может осуществляться после выполнения очередной команды. Состояние программы в этом случае характеризуется содержимым счетчика команд (адрес следующей команды), а так же содержимым РОН и регистра флагов. Процедура перехода к прерывающей программе и последующего возврата из нее может быть полностью идентична действиям, выполняемым по командам ВЫЗОВ и ВОЗВРАТ. Состояние программного счетчика (а иногда и регистра флагов или PSW) аппаратно фиксируется в стеке, а значение РОНов - при необходимости программно в самом тексте прерывающей программы. Учитывая, что большинство команд МП являются короткими, время реакции МПС на запрос прерывания при анализе запросов по завершению текущего командного цикла не бывает большим.


Обобщённая структура средств приёма и обработки внешних запросов прерываний приведена на рис.

























51. Основные способы идентификации источников запросов.

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

При векторном способе идентификации для каждого запроса прерыва­ния внешним устройством выдается его идентификатор, обычно в двоичном коде. По этому коду определяется вектор прерывания, располагаемый в ЗУ и представляющий собой информацию, необходимую для работы подпрограм­мы обслуживания прерывания. Идентификатор прерывания формируется дво­ичным шифратором, на вход которого подаются запросы прерывания, и запоминается в регистре вектора прерывания (обычно по сигналу прерывания). Идентификатор прерывания читается микропроцессором через шину данных по сигналу подтверждения прерывания. Векторный способ идентификации запросов прерываний требует более сложных аппаратурных затрат, однако время идентификации существенно меньше, чем в способе опроса, и не зависит от числа источников прерывания.

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



52. Назначение и способы приоритетной обработки запросов прерываний.

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

Внешние средства системы прерываний сопрягаются с микропроцессо­ром через системную шину с помощью средств интерфейса. Процессор рассматривает внешние средства системы прерываний как совокупность ячеек памяти или портов ввода/вывода. Обращение к ним осуществляется по адре­сам ввода/вывода, передаваемым по адресной шине, а обмен информацией между ними — по шине данных под управлением соответствующих сигналов управления.



53. Структура подсистемы векторной приоритетной обработки запросов и её функционирование.



  1. Этапы проектирования микропроцессорных систем.

Качественные и количественные изменения элементной базы средств ВТ привели к изменению сложившихся принципов их проектирования (таких, как жесткая

структура, последовательное центральное управление, линейная организация

памяти и отсутствие возможности адаптации структуры ЭВМ к особенностям

решаемой задачи).

На смену классическим фоннеймановским принципам организации вычислительных

систем пришли идеи проблемной ориентации МПС, параллельной и конвейерной

обработки информации, использование табличных методов обработки данных,

принципы регулярности и однородности структур МПС; становится реальной

возможностью идея создания адаптивно-перестраиваемых систем, а также

аппаратная реализация функций программного обеспечения. Поэтому в настоящее

время при проектировании вычислительных систем на основе МПС получил

применение так называемый принцип «3М»: модульность, магистральность,

микропрограммируемость.

Принцип модульной организации предполагает построение вычислительных и

управляющих МПС на основе набора модулей: конструктивно, функционально и

электрически законченных вычислительных устройств, позволяющих самостоятельно

или в совокупности с другими модулями решать задачи данного класса. Модульный

подход при проектировании микроЭВМ и систем позволяет (при реализации как

универсальных, так и специализированных модулей) обеспечить создание семейств

(рядов) МПС, отличающихся функциональными возможностями и характеристиками,

перекрывающими значительный диапазон применений, способствует сокращению

затрат на проектирование, а также упрощает наращивание мощности и

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

средств.

Магистральный способ обмена информацией в отличие от способа организации

произвольных связей (по принципу «каждый с каждым») позволяет упорядочить и

минимизировать число связей в МПС. Он обеспечивает обмен информацией между

функциональными и конструктивными модулями различного уровня с помощью

магистралей, объединяющих входные и выходные шины. Различают одно-, двух-,

трех- и многомагистральные связи. Необходимо отметить взаимосвязь

схемотехнических и структурных решений, которые проявляются при реализации

данного способа обмена в виде создания специальных двунаправленных буферных

каскадов с тремя устойчивыми состояниями и использовании временного

мультиплексирования каналов обмена.

Микропрограммное управление обеспечивает наибольшую гибкость при организации

многофункциональных модулей и позволяет осуществить проблемную ориентацию

МПС, а также использовать в них макрооперации, что эффективнее использования

стандартных подпрограмм. Кроме этого, передача управляемых слов в виде

зашифрованных кодовых последовательностей соответствует условиям минимизации

числа выводов СБИС и сокращению числа межсоединений в модулях.

Кроме перечисленных выше основных особенностей проектирования МПС, следует

отметить принцип регулярности, который предполагает закономерную

повторяемость элементов структуры МПС и связей между ними. Применение данного

принципа позволяет увеличить интегральную плотность, уменьшить длину связей

на кристалле, сократить время топологического и схемотехнического

проектирования БИС и СБИС, уменьшить число пересечений и типов функциональных

и конструктивных элементов.


При разработке архитектуры МПС (системный этап) необходимо решить следующие

задачи:

  • дать описание концептуальной структуры функционального поведения системы с

позиций учета интересов пользователя при ее построении и организации

вычислительного процесса в ней;

  • определить структуру, номенклатуру и особенности построения программных и

микропрограммных средств;

  • описать характеристики внутренней организации потоков данных и управляющей

информации;

  • провести анализ функциональной структуры и особенности физической

реализации устройств системы с позиции сбалансированности программных,

микропрограммных и аппаратурных средств.


Основные этапы проектирования МПС приведены на рисунке.























  1. Уровни представления МПС.


Микропроцессорная система может быть описана на различных уровнях абстрактного представления.

Существующую микропроцессорную систему можно описать на любом известном уровне представления, но в начальной стадии проектирования ее можно описать только на концептуальном уровне. В процессе разработки системы происходит переход от одного уровня ее представления к другому, более детальному. Каждая абстракция несет в себе только информацию, которая соответствует данному уровню, и не содержит каких-либо сведений относительно более низких уровней. Микропроцессорная система может быть описана, например, на одном из следующих уровней абстрактного представления:
1) "черный ящик";
2) структурный;
3) программный;
4) логический;
5) схемный .

На уровне "черного ящика" микропроцессорная система описывается внешними спецификациями; перечисляются внешние характеристики.

Структурный уровень создается компонентами микропроцессорной системы: микропроцессорами, запоминающими устройствами, устройствами ввода/вывода, внешними запоминающими устройствами, каналами связи. Микропроцессорная система описывается функциями отдельных устройств и их взаимосвязью, информационными потоками.

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

Логический уровень присущ исключительно дискретным системам. На этом уровне выделяются два подуровня: переключательных схем и регистровых пересылок. Подуровень переключательных схем образуется вентилями и построенными на их основе операторами обработки данных. Переключательные схемы подразделяются на комбинационные и последовательностные; первые в отличие от последних не содержат запоминающих элементов. Поведение системы на этом уровне описывается алгеброй логики, моделью конечного автомата, входными/выходными последовательностями 1 и 0. Комбинационные схемы представляются таблицей истинности, в которой каждому входному набору значений сигналов ставится в соответствие набор значений сигналов на выходах. Последовательностные схемы могут описываться диаграммами или таблицами входов/выходов, в которых определены взаимно однозначные соответствия между входами схемы, внутренними состояниями (комбинациями значений элементов памяти) и выходами. Подуровень регистровых пересылок характеризуется более высокой степенью абстрагирования и представляет собой описание регистров и передачу данных между ними. Он включает в себя две части: информационную и управляющую. Информационная часть образуется регистрами, операторами и путями передачи данных. Управляющая часть определяет зависящие от времени сигналы, инициирующие пересылку данных между регистрами.

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



  1. Обнаружение ошибок , отладка.

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

Диагностика неисправности - процесс определения причины появления ошибки по результатам тестирования. Отладка - процесс обнаружения ошибок и определение источников их появления по результатам тестирования при проектировании микропроцессорных систем. Средствами отладки являются приборы, комплексы и программы .

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

Так как процесс проектирования микропроцессорной системы содержит неформализуемые этапы, то отладка системы предполагает участие человека.

Свойство контролепригодности системы.

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

Управляемость - свойство системы, при котором ее поведение поддается управлению, т. е. имеется возможность остановить функционирование системы в определенном состоянии, и затем сновва ее запустить. Наблюдаемость - свойство системы, позволяющее проследить за поведением системы, сменой ее внутренних состояний. Предсказуемость - свойство системы, позволяющее установить систему в состояние, из которого все последующие состояния могут быть предсказаны.

Отладка

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

Проверка корректности программ, т.е. проверка соответствия их внешним спецификациям, осуществляется тестированием. Программы проверяются на функционирование с различными исходными данными. Результаты функционирования программ сравниваются с эталонными значениями.

Отладка программ подразделяется на следующие этапы: планирование отладки; составление тестов и задания на отладку; исполнение программ; информирование о результатах исполнения программ по заданным исходным данным; анализ результатов, обнаружение ошибок и локализация неисправностей.

Существует два способа начального тестирования программ: пошаговый режим и трассировка программ.

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

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

Трассировка программ больше пригодна для отладочных средств, имеющих медленный, последовательный терминал. Программа-отладчик выполняет непрерывно команду за командой и выводит содержимое регистров процессора на терминал после каждого шага. Некоторые отладчики выводят также на терминал команды в дизассемблерной форме. Но при этом способе содержимое памяти не выводится на терминал и разработчик должен сам делать выводы об изменениях в ней. Отслеживание программы продолжается автоматически до тех пор, пока не будет остановлено извне. Результатом трассировки программы будут данные на экране дисплея или же в случае использования в качестве терминала печатающего устройства - длинная распечатка с ходом выполнения программы. Программист, анализируя эти данные, может обнаружить ошибки. Трассировка программ не дает, однако, возможности изменять содержимое памяти и регистров и может послужить причиной того, что программа разрушит себя или свои данные прежде, чем отслеживание будет остановлено.

Отдельные участки программы после проверки, используя пошаговый режим или трассировку, можно объединить и проверить с помощью установки контрольных точек, вводимых в программу и прерывающих ее исполнение, для передачи управления программе-отладчику. По контрольным точкам можно по желанию выполнить избранные участки программы и проанализировать результаты. Контрольные точки устанавливаются обычно для конкретной команды, но в некоторых системах предусматриваются прерывания программы при чтении или записи данных в определенные ячейки памяти. Возможны и более сложные условия прерывания программы.

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

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

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

Средства отладки программ должны:
а) управлять исполнением программ (останавливать, изменять порядок, запускать и т. д.);
б) собирать информацию о ходе выполнения программы;
в) обеспечивать обмен информацией (диалог) между программистом и ЭВМ на уровне языка программирования;
г) моделировать работу отсутствующих аппаратных средств микропроцессорной системы.



скачать файл | источник
просмотреть