Автор работы: Пользователь скрыл имя, 04 Марта 2013 в 18:31, реферат
Обычно выделяют три класса компьютеров:
а) большие компьютеры, которые обслуживают значительное число терминалов пользователей и периферийных устройств. Они применяются в больших системах обработки данных, например при бухгалтерских расчетах;
Алгоритм синхронного ввода данных ПУ через УСАПП в МП представлен на рис. 2.37.
Программируется передача в УСАПП инструкции режима, которая может иметь то же значение, что и при синхронном выводе:
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
Затем программируется передача в УСАПП кодовой комбинации синхронизирующих слов, после чего предусматривается передача
инструкции команды. Инструкция команды может иметь такое же значение, что и при асинхронном вводе.
После этого в УСАПП происходят следующие процессы. Из УСАПП в ПУ через выход уровнем лог.0 выдается сигнал запроса готовности передатчика терминала. Периферийное .устройство сигнализирует готовность к передаче подачей на вход УСАПП ГПдТ сигнала уровня лог.0, после чего передает на вход УСАПП ВхПр в последовательной форме синхронизирующие слова и слово данных.
При совпадении синхронизирующих слов с их кодовой комбинацией (ранее переданной из МП в УСАПП) в регистр приемника УСАПП принимается слово данных, на выводе ВидС устанавливается выходное напряжение уровня лог. 1 и записывается лог. 1 в разряд De слова состояния. Сигнал готовности приемника ГПр =1 и D1=1 в слове состояния свидетельствуют об окончании приема слова данных и готовности данных для выдачи из УСАПП в МП.
Эти процессы протекают в УСАПП как реакция на поступление из МП инструкции команды.
Вернемся к рассмотрению программы
МП. После передачи в УСАПП инструкции
команды предусматривается
Сигнал на выходе ВидС может быть использован в качестве сигнала да запроса прерывания для перехода к выполнению прерывающей программы ввода.
Синхронный ввод с внешней синхронизацией. Для установки УСАПП в этот режим необходимо в передаваемой из МП в УСАПП инструкции режима предусмотреть D6=1. В этом случае вывод ВидС является входом, на который из ПУ подает сигналы разрешения приема данных со входа ВхПр. При этом с тактовой частотой синхронизирующего сигнала на входе СинхрПр байты данных принимаются в приемник УСАПП. Процесс программирования для работы с УСАПП в данном режиме тот же, что и при использовании режима синхронного ввода с внутренней синхронизацией. Различие лишь в значении разряда D» инструкции режима, передаваемого в УСАПП.
Рассмотрим назначение разрядов D3, D4, D5 слова состояния.
В разряде D3 устанавливается значение лог. 1 при обнаружении ошибки в принимаемых данных (четность или нечетность числа единиц в разрядах данных не соответствует значению бита контроля). разряд D4 устанавливается в состояние лог. 1 при наличии так называемой ошибки переполнения, возникающей в следующих случаях: если МП не ввел подготовленный байт данных или ввод этого байта во времени совпал с передачей байта данных из приемника в буферы, через которые данные выводятся из УСАПП на ШД; если при синхронном вводе код данных совпал с кодовой комбинацией синхронизирующего слова.
В разряде D5 устанавливается значение лог.1, если в режиме асинхронного ввода в конце посылки не обнаружены стоповые сигналы. Ошибки не влияют на работу УСАПП. Триггеры ошибок сбрасываются значением D4 = 1 инструкции команды.
В заключение на рис. 3.60 приводим схему включения УСАПП в качестве устройства сопряжения между МП и модемом, работающим на линию связи.
Разработка микропроцессора Z80 фирмы Zilog базировалась на микропроцессоры 8080/8085, но в него введено .несколько дополнительных возможностей. Микропроцессора Z80 широко применяется в конторских н домашних компьютерах, а также в промышленных контроллерах.
Этот микропроцессор совместим вверх с микропроцессором 8085 по системе команд и машинному коду, т. е. он может выполнять программы, написанные для микропроцессора 8085. Однако совместимость в другом направлении достигается не всегда из-за наличия в 280 дополнительных команд.
Микропроцессор Z80A работает на частоте синхронизации 4 МГц, а микропроцессор Z80B - на частоте до 6 МГц.
Функции контактов микропроцессора Z80 показаны на рис. 3.1, Шина данных у него не мультиплексируется с половиной шины адреса, как это сделано в микропроцессоре 8085. В связи с этим сокращено число линий шины управления, в частности имеются только три прерывания: , (немаскируемое прерывание) и . Однако такое сокращение не ведет к серьезным ограничениям, поскольку сигнал INT может разделяться множеством прерывающих устройств фирмы Zilog. У микропроцессора Z80 нет внутреннего генератора синхронизации, поэтому требуется внешняя микросхема генератора синхронизации.
Смысл большинства сигналов очевиден из их мнемоник, например (запрос шины) и (подтверждение запроса шины), но сигнал (регенерация) уникален для ЦП фирмы Zilog. Он становится активным между командами и помогает в регенерации динамических ЗУПВ, которые подключаются к шинам ЦП.
Внутренние регистры ЦП Z80 представлены на рис. 3.2. Рабочие регистры А, В, С, D, Е, Н и L аналогичны соответствующим регистрам микропроцессора. 8085, но в Z80 существуют дополнительно второй набор регистров) и второй регистр состояния (Р/). Наличие второго набора регистров значительно облегчает работу при вызове подпрограммы или ISR, потому что программист может использовать для них альтернативный набор, избегая сохранения содержимого, регистра основной программы например командами PUSH исключения в стек. Следующие две команды осуществляют обмен содержимого всех регистров:
ЕХХ ; Обменять ВС, DE и HL
ЕХ AF, AF/ ; Обменять AF/ и AF/ (F обозначает флажки)
8-битный регистр вектора
|
- |
В РС загружается 0000H; |
|
- |
В РС загружается 0000H; В режиме 0 ЦП учитывает содержимое вектора прерывания I; |
|
В режиме 1 в РС загружается 0038H; В режиме 2 ЦП обращается за начальным адресом в ячейке XXYY (здесь XX берётся из вектора прерывания I, а YY вводится с шины данных от прерывающего устройства). | |
| ||
Для перевода ЦП в режим прерывания 0, 1 или 2 в программе требуется специальная команда, например IМ2. При задании режима 2 прерывающее устройство (например, PIO или СТС должно инициализироваться на 8-битное значение УУ, которое возвращается в ЦП при генерировании прерывания.
A |
F |
A / |
F / | ||
B |
C |
B / |
C / | ||
D |
E |
D / |
E / | ||
H |
L |
H / |
L / | ||
Вектор прерывания I |
Регенерация памяти R | ||||
Индексный регистр IX | |||||
Индексный регистр IV | |||||
Указатель стека | |||||
Рис. 3.2. Регистры микропроцессора Z80. |
Регистр R регенерации памяти действует совместно с сигналом при регенерации динамических ЗУПВ. После каждой команды производится инкремент регистра R и его содержимое выдается на младшую половину шины адреса между командами.
Два 16-битных индексных регистра IX и IV обеспечивают в командах индексный режим адресации.
Для работы с ЦП Z80 фирма Zilog выпускает микросхемы PIO, СТС и сдвоенную микросхему UART (называемую DART). При необходимости их легко запрограммировать на работу в режиме прерывания. Например, микросхема PIO может генерировать прерывание при активном сигнале на одной из входных линий, таймер/счетчик СТС может прервать ЦП, когда счетчик достигает нуля, а микросхема DART-когда принят символ. Так как ЦП Z80 имеет всего две линии прерывания (кроме входа ), микросхемы должны разделять одну линию прерывания за счет их последовательного включения (на рис. 3.3 шины адреса и данных не показаны).
.Любое из устройств может генерировать прерывание, но последовательное включение обеспечивает необходимый приоритет: микросхема PIO имеет высший приоритет, а микросхема DART- низший. Сигнал логической 1 подается на вход IEI (вход разрешения прерывания) микросхемы PIO, а затем он последовательно проходит через все устройства. Если счетчик/таймер генерирует прерывание, то цепочка разрывается (на выходе разрешения прерывания IEO появляется логический 0) И микросхема DART не может сформировать прерывание.
Когда процедура обслуживания прерывания СТС закончена, выполняется команда RETI возврата из прерывания. Счетчик/таймер обнаруживает ее код операции на шине данных и восстанавливает последовательную цепочку. Процессор может определить прерывающее устройство, так как оно выдает на шину данных свой 8-битный код.
На рис. 3.4 показаны функции контактов популярной микросхемы PIO. Она имеет два 8-битных порта с соответствующими сигналами квитирования и четыре адреса:
В/А |
С/D |
|
0 |
0 |
Данные порта А |
0 |
1 |
Управление порта А |
1 |
0 |
Данные порта В |
1 |
1 |
Управление порта В |
Для каждого порта предусмотрен свой регистр управления, поэтому порты могут работать в нескольких программируемых режимах, например вывода байта, ввода байта и смешанном режиме (в наличии как входные, так и выходные линии), причем только порт А может функционировать как двунаправленный. Регистр управления каждого порта используется также при загрузке в устройство 8-битного кода прерывания.
На рис. 3.5 показан счетчик/таймер СТС, содержащий четыре 8-битных счетчика. Каждый счетчик (или канал) можно запрограммировать на декремент импульсами синхронизации (Ф) или внешними импульсами (CLK/TRGn). Регистр управления, определяющий режим работы счетчика, имеет тот же адрес, что и сам счетчик (для установки режима бит 0 в выдаваемом в микросхему байте данных должен содержать 1). Если необходимо то и режим прерывания программируется с привлечением того же адреса канала. Микросхема СТС применяется для декремента счетчика каждым импульсом синхронизации в целях генерирования прерывания через регулярные промежутки времени, например через 1 мс для часов реального времени, генерирования потока импульсов на одном из выходов ZCITOn для синхронизации UART, а также счета внешних импульсов, подаваемых на один из входов CLK/TRGn.
Сдвоенный асинхронный приемопередатчик DART показан на рис.3.6. Он имеет два независимых канала RS-232C со своими регистрами управления для задания скорости, паритетами т.д. Микросхема SIO последовательного ввода-вывода выполняет практически те же функции, но имеет дополнительные средства синхронизации передачи,
Микропроцессор Z80 используется во многих персональных домашних (например, Sinclair ZX81, Sinclair Spectrum, Tandy TRS80) и конторских (например. Sharp MZ80B, Research Machines RML380L, learns Super brain) компьютерах. На рис. 3.7 показана упрощенная схема компьютера Sinclair ZX81. Он имеет небольшую память, и в нем нет прямого интерфейса для периферийных устройств. Функции дешифратора адреса, генерирования видеосигнала и сканирования клавиатуры реализует заказная микросхема (Sinclair computer logic).
На рис. 3.8 представлена схема системы упаковки пищевых. продуктов. Компьютер контролирует вес содержимого 16 бункеров, в которые загружаются продукты. Бункера спроектированы так, что четверть их общего веса приходится на упаковку. Управляющая программа должна определить, содержимое каких четырех из 16 бункеров нужно передать в упаковку, чтобы общий вес бил максимально близок к требуемому. Затем компьютер открывает задвижки выбранных бункеров.
Программа хранится в трех микросхемах ПЗУ 4 Кбайт, а ЗУПВ 2 Кбайт применяется для системного стека и хранения временных данных. Внешний интерфейс реализован на двух микросхемах PIO 8255. Одна из них подключена к схеме аналого-цифрового преобразователя (АЦП) и дополнительно выбирает аналоговый вход (четырехбитный код подключает один из 16 аналоговых сигналов и 10 битному АЦП). Вторая микросхема PIO выводит однобитные сигналы на соленоиды, которые открывают выпускные задвижки бункеров.