Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦУМП лекция рус.doc
Скачиваний:
296
Добавлен:
09.02.2016
Размер:
4.68 Mб
Скачать

Интерфейсы микро-эвм.

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

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

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

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

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

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

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

Способы обмена информацией в микро-ЭВМ.

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

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

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

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

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

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

Последовательная передача данных.

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

Рассмотрим простой контроллер ВУ для синхронной передачи данных в ВУ по последовательной линии связи (рис. 11.1). Управляющий сигнал "Загрузка", который записывает очередной байт в PrCDB из БРгА2. Этим же сигналом устанавливается "1" с РгА2. Следующим тактовым импульсом СЧТ переходит в состояние "О" и начнется очередной цикл выдачи восьми битов из PrCDB в линию связи "Данные".

Передача отдельных битов данных в линию связи должна производиться без какого-либо перерыва и очередной байт данных должен быть загружен в БРгА1 из системного интерфейса за время, не превышающее времени передачи восьми битов в последовательную линию связи. При записи байт данных в БРгА2 обнуляется РгА2 по входу "Сброс". Это указывает, что в линию связи передается байт данных из PrCDB, а следующий передаваемый байт данных загружен в РгСDВ.

На рис. 11.1 представлена схема простого контроллера для последовательного синхронного приема данных из ВУ, который состоит из тех же компонентов, что и контроллер для синхронной последовательной передачи, однако здесь отсутствует генератор тактовых импульсов. Тактовые импульсы поступают от ВУ по линии "Синхронизация", сопровождая принимаемые биты. Контроллер состоит из приемо передатчиков шины данных, адреса, блока местного управления БМУ, назначение которых было рассмотрено в предыдущем параграфе. В состав контроллера входят также буферный регистр БРгА1, регистр сдвига PrCDB, трехразрядный счетчик тактов СЧТ, одноразрядный регистр РгА1 и генератор тактовых импульсов.

Восьмиразрядный буферный регистр БРгА1 служит для временного хранения байта данных. В BPrAI байт данных записывается также как и в параллельном интерфейсе только при наличии единицы в РгА2. Такое состояние РгА2 указывает на готовность контроллера принять очередной байт в БРгА1. Содержимое РгА2 также используется для формирования управляющего сигнала "Готовность ВУ". При записи очередного байта в BPrAI РгА2 обнуляется.

Рис. 11.1. Последовательный прием и передача данных

Преобразование байта данных из параллельного формата в последовательный и передача их в линии связи производятся PrCDB посредством генератора тактовых импульсов и двоичного счетчика СЧ. По очередному тактовому импульсу содержимое PrCDB сдвигается на один разряд вправо и в линию связи "Данные" выдается значение очередного разряда.

Однозначное восприятие на приемном конце последовательной линий связи переданного бита достигается сопровождением тактового сигнала. Для этого по отдельной линии "Синхронизации" синхронно биту передается тактовый сигнал. Количество переданных в линию переданных битов подсчитывается счетчиком тактовых сигналов СЧТ. Как только в СЧТ установится код числа 7 (при этом в линию переданы 8 бит) формируется единица в РгА2, что указывает на готовность контроллера передавать очередной байт данных в системный интерфейс. Принимаемые биты из линии связи поступают на последовательный вход PrCDB и преобразуются в параллельный код с помощью PrCDB

Рис. 11.2. Схема выполнения прерывания

и трехразрядного СЧТ. Для чего по очередному тактовому сигналу, поступившему от синхронизатора ВУ по линии "Синхронизация” производится сдвиг содержимого PrCDB на один разряд влево одновременно в младший разряд этого регистра записывается очередной бит, поступивший из линии связи "Данные”, и увеличивается на единицу содержимое СЧТ. Как только содержимое СЧТ становится равным 7 (при этом в PrCDB принимается восемь битов информации), формируется управляющий сигнал "Запись", который осуществляет запись в EPrAI очередного принятого байта из PrCDB. Этим же сигналом устанавливается в "1" РгА2.

За время накопления восьми битов в РгСДВ содержимое БРгА1 должно быть передано в шину данных системного .интерфейса микроэвм. При этой передаче обнуляется РгА2. Это означает, что в РгСДВ принимается из линии связи очередной байт информации.

Обмен информацией при прерываниях.

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

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

Рис. 11.3. Контекстное переключение

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

Переход к подпрограмме обслуживания прерывания происходит (рис. 11.2), если только сигнал "Запроса прерываний" (INT) равен 1 и прерывания разрешены. Процессор реагирует на запросы маскируемых прерываний по линии INT. если установ лен внутренний триггер разрешения прерывания INTE, называемый также маской. Состояние этого триггера идентифицирует выходной сигнал разрешения прерывания с такой же мнемоникой. Если INTE=0, пре рывания запрещены (за маскированы) и процессор не реагирует на сигнал INT=1.

С помощью команд разрешения ЕI и запрещения DI прерываний можно программно управлять состоянием триггера INTE, и пользователь может защитить от прерываний критические сегменты основной программы.

При восприятии прерывания триггер прерываний IFF переводится в нулевое состояние, что приводит к запрещению инкремента программного счетчика (ПС) и генерированию сигнала подтверждения прерывания INTA. При этом сбрасывается триггер INTE и в дальнейшем разрешить прерывания можно только командой ЕI. После выполнения команды ЕI процессор обязательно выполняет еще одну команду, даже если на входе INT действует сигнал прерывания INT=1.

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

Организация прямого доступа к памяти.

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

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

Рис. 11.4. Схема подключения контроллера ПДП к процессору

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

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

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

При обмене данными в режиме ПДП необходимо указать размер блока передаваемых данных, область памяти, используемой при передаче. Поэтому контроллеры ПДП в своем составе должны иметь регистр адреса РгА и счетчик байтов (слов) СЧБ. Перед началом обмена с ВУ в режиме ПДП процессор должен предварительно выполнить программу загрузки, которая записывает в указанные регистры контроллера ПДП начальные адреса памяти, выделенные для ВУ, ее размер в байтах или словах.

Схема контроллера ПДП, работающая в режиме "Захват цикла", обеспечивающем ввод данных в микроэвм по инициативе ВУ, приведена на рис.10.23. Байты данных из ВУ в РгД поступают в определенном темпе. При этом каждый байт сопровождается сигналом изВУ "Ввод данных" и обеспечивает их в РгД. По сигналу "Ввод данных" также контроллер формирует сигнал ТПДП при нулевом состоянии СЧБ. После получения сигнала ТПДП процессор выработает сигнал ППДП. Контроллер, получив этот сигнал на шины адреса и данных, выставляет содержимое регистров РгД и РгА. Затем контроллер, формируя сигнал "Вывод", обеспечивает запись байта данных из РгД в память микроэвм. Сигнал ППДП используется и для модификации СЧБ и РгА, прибавляя при этом к РгА 1 и вычитая 1 из СЧБ. Как только содержимое СЧБ станет равно нулю, контроллер прекратит формирование сигналов ТПДП.

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

Основная литература: 4 [182-199], 7 [51-82]

Дополнительная литература:9 [236-283], 10 [35-61]

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

  1. Назовите основную функцию выполняемуюинтерфейсом?

  2. Чем отличается последовательный интерфейс от последовательного?

  3. Чем отличается прямой доступ к памяти от обычной адресаций пошине адреса?

  4. Как производится последовательный обмен информацией?

  5. Чем отличается последовательная передача от паралельного?

  6. Какой функциональный узел используется для соединения внешних устройств?

Тема лекции 12. Запоминающие устройства (ЗУ). Иерархия ЗУ. Статические и динамические ОЗУ.

Запоминающие устройства

Память может быть внутренней и внешней. Внешней называют память на магнитных, оптических дисках, лентах и т.п. Внутренняя память выполняется, чаще всего, на микросхемах. Внутренняя или основная память может быть двух типов: оперативное запоминающее устройство (ОЗУ) или ЗУ с произвольной выборкой (ЗУПВ) и постоянное ЗУ (ПЗУ). ОЗУ, кроме того, обозначается - (RAM, Random Access Memory), а ПЗУ - (ROM, Read Only Memory). Получила также распространение Флэш(Flash) память, имеющая особенности и ОЗУ и ПЗУ и энергонезависимая память (Nonvolatile -NV) на батарейках. Последнее название условно, так как ПЗУ и Флэш память, также энергонезависимы. В ОЗУ коды в соответствии с решаемыми задачами постоянно изменяются и полностью пропадают при выключении питания. В ПЗУ хранятся управляющие работой ЭВМ стандартные программы, константы, таблицы символов и другая информация, которая сохраняется и при выключении компъютера. ОЗУ подразделяются на статическую память (SRAM), динамическую (DRAM), регистровую (RG). ПЗУ могут быть: масочными - запрограммированными на заводе изготовителе (ROM), однократно-программируемыми пользователемППЗУ(PROMилиOTP), многократно-программируемыми (репрограммируемыми) пользователемРПЗУ с ультрафиолетовым стиранием (EPROM) или c электрическим стиранием (EEPROM). Широкое распространение нашли также программируемые логические матрицы и устройства (PLM, PML, PLA, PAL, PLD, FPGAи т.д.) с большим выбором логических элементов и устройств на одном кристалле.

В зависимости от типа ЗУ элементом памяти (ЭП) может быть: триггер, миниатюрный конденсатор, транзистор с "плавающим затвором", плавкая перемычка (или ее отсутствие). Упорядоченный набор ЭП образует ячейку памяти (ЯП) . Количество элементов памяти в ячейке (длина слова) обычно кратно 2n (1,4,8,16, 32,64..), причем величины свыше 8-ми достигаются, обычно, группировкой микросхем с меньшим количеством ЭП. Количество ЭП в ЯП иногда называется длиной слова. Основными характеристиками микрсхем памяти являются: информационная емкость, быстродействие и энергопотребление. Емкость ЗУ чаще всего выражается в единицах кратных числу 210 = 1024 = 1K. Для длины слова равной биту (одному двоичному разряду) или байту (набору из восьми бит) эта единица называется килобит или килобайт и обозначается Kb или KB.

Рис. 12.1. Линейная модель памяти

Каждой из двух в степени "n" ячеек памяти однозначно соответствует "n"- разрядное двоичное число, называемое адресом ЯП. Например, адресом 511-ой ячейки будет число 1 1111 1111(BIN) = 511(DEC) = 1FF(HEX). В программах адреса употребляются в 16-ном формате.Емкость ЗУ часто выражается произведением двух чисел 2n * m, где 2n- число ячеек памяти, а m - длина слова ячейки, например 8K * 8 (м/с 537РУ17), т.е. 8192 ячейки размером в один байт. В некоторых справочниках для этой же микросхемы приводится обозначение емкости одной цифрой 64Kбит, что никак не отражает внутреннюю организацию этой микросхемы, такую же емкость могут иметь м/с с организацией 16K * 4, 64K * 1 и т.д.

ОЗУ статического типа (SRAM)

В качестве элемента памяти используется простейший D-триггер-защелка. В микросхеме 537РУ10 каждая ЯП состоит из восьми триггеров и располагаются ячейки на кристалле в виде прямоугольной матрицы.

На рисунке 12.2. приведены обозначения: n-адресных входов (A0 .. An-1), DIO - двунаправленная восмиразрядная шина данных, вход разрешения выходов - ~OE, вход выбора микросхемы - ~CS и вход разрешения записи - ~WE, который часто обозначают по другому - ~WR/RD, подчеркивая этим, что при низком значении сигнала на этом входе производится запись байта, а при высоком уровне - чтение. EO, DI, WR - внутренние сигналы вырабатываемые блоком управления чтением/записью/хранением. Доступ к произвольной ЯПj  производится с помощью прямоугольного дешифратора, состоящего из двух обычных дешифраторов, причем k-адресных линий заводится на дешифратор столбцов (DCc), а оставшиеся n-k линий подключены к дешифратору строк (DCr). Количество строк и столбцов будет соответственно равно 2(n-k) и 2k, т.е. общее количество, обслуживаемых ЯП , равно 2k * 2(n-k) = 2n.

Рис. 12.2. Структура памяти 2D

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

Рис. 12.3. Схема ячейки памяти

На рисунке рис. 12.3. схемы с открытым коллектором и третьим состоянием обозначены ОК и Z - соответственно. Точками выделен один (j-ый) из восьми элементов i-ой ячейки памяти. Схема И с номером i = (r * 2k + c) является одним из 2n выходных узлов прямоугольного дешифратора, где r и c - номера строк и столбцов матрицы. Инверсный вход (C)hip (S)elect - ~CS, во всех микросхемах, где он встречается, служит для приведения схемы в рабочее состояние низким уровнем сигнала на этом входе. Если ~CS = 1 (пассивный уровень), микросхема - не выбрана и операции с ней производить невозможно. Из рис. видно, что в этом случае на L-входе D-триггера - ноль, запись невозможна и триггер хранит ранее записанный бит. Прочитать выходной код - Q тоже нельзя, т.к. на прямом входе EO разрешения выхода запрещающий нулевой сигнал и вход/выход DIOi находится в третьем состоянии. С поступлением ~CS = 0, схемы ИЛИ-НЕ разблокируются и дальше все зависит от значений сигналов ~WE и ~OE. В режиме записи сигнал ~WE = 0. Поэтому независимо от значения сигнала ~OE на входе схемы, внутренний сигнал EO, тоже равен 0, и чтение данных во время записи невозможно. На верхнем входе элемента Иi - единица и, если на адресных входах код An-1,An-2,...,A1,A0(BIN) = i(DEC), то сигналы на линиях Yr и Yc тоже равны 1 и триггер ij прозрачен для записи входной информации DIOj. В режиме чтения ~WE=1, ~OE=0 и при Yr=Yc=1, выходной сигнал ~Q после инверсии элементом Иij с открытым коллектором проходит на выход DIOi. Следует обратить внимание на то, что выходы всех 2n j-ых элементов памяти должны подключаться к общему j-му выводу микросхемы - DIOj. Такое объединение выходов возможно с помощью схемного либо монтажного И(ИЛИ). Монтажное И(ИЛИ) не требует дополнительных схем и может выполняться на элементах с открытым коллектором илис третьим состоянием. Внутри рассматриваемой схемы j-е выходы ЭП объединены на общем резисторе Rj, служащем нагрузкой элементов И-НЕij с открытым коллектором.

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

Рис.12.4. Циклы чтения и записи статической ОЗУ