Структура микропроцессорной системы
Прямой доступ к памяти
Назначение и функции чипсета в микропроцессорной системе
Структура микропроцессорной системы
Микропроцессорная система (МПС) - сложная система, основа ПК, включающая в себя большое количество различных устройств.
Основой ее является микропроцессор. Связь устройств ЭВМ между собой осуществляется с помощью сопряжений, которые в вычислительной технике называются интерфейсами.
Интерфейс - это совокупность программных и аппаратных средств, предназначенных для передачи информации между компонентами ЭВМ и включающих в себя: ● электронные схемы, ● линии, шины и сигналы адресов, данных и управления, ● алгоритмы передачи сигналов и ● правила интерпретации сигналов устройствами.
В широком смысле интерфейс также включает:
● механическую часть (совместимость по типоразъемам) и ● вспомогательные схемы, обеспечивающие электрическую совместимость устройств по уровням логических сигналов, входным и выходным токам и т. д.
►Основным способом организации МПС (ПК) является магистрально-модульный: все устройства, включая и микропроцессор, представляются в виде модулей, которые соединяются между собой общей магистралью.
►Обмен информацией по магистрали удовлетворяет требованиям общего интерфейса, установленного для магистрали данного типа. Каждый модуль подключается к магистрали посредством интерфейсных схем (рис. 1).
Рис. 1. Магистрально-модульный принцип построения микропроцессорной системы
На интерфейсные схемы модулей возлагаются следующие задачи:
· обеспечение функциональной и электрической совместимости сигналов и протоколов обмена модулей и системной магистрали;
· преобразование внутреннего формата данных модуля в формат данных системной магистрали и обратно;
· обеспечение восприятия единых команд обмена информацией и преобразо-вание их в последовательность внутренних управляющих сигналов. Эти интерфейсные схемы могут быть достаточно сложными. Обычно они выполняются в виде специализированных микропроцессорных БИС. Такие схемы принято называть контроллерами.
►Контроллеры обладают высокой степенью автономности, что позволяет обеспечить параллельную во времени работу периферийных устройств и выполнение программы обработки данных микропроцессором.
Кроме того, предварительно буферируя данные, контроллеры обеспечивают пересылку сразу для многих слов, расположенных по подряд идущим адресам, что позволяет использование так называемого "взрывного" режима работы шины - 1 цикл адреса и следующие за ним многочисленные циклы данных.
Недостатком магистрально-модульного способа организации ЭВМ является невозможность одновременного взаимодействия более двух модулей, что ставит ограничение на производительность компьютера.
Взаимодействие МП с ОП и ВУ проиллюстрировано на рис. 2.
|
Для обмена информацией с ВУ в МП имеются только две команды:
- команда ввода IN AX,DX записывает в регистр AX число из внешнего устройства, адрес которого находится в регистре DX; при этом вырабатывается сигнал IOR (Input/Output Read);
- команда вывода OUT DX,AX выводит информацию из регистра AX во внешнее устройство, адрес которого находится в регистре DX; при этом вырабатывается сигнал IOW (Input/Output Write).
Сигналы IOR/IOW формируются при выполнении только этих команд.
□ Формирование сигналов MR/MW происходит в командах, для которых операнд и/или приемник результата располагаются в оперативной памяти, например, ADD [EBX],AX.
В связи с этим возможны два основных способа организации адресного пространства микропроцессорной системы:
1. с общим адресным пространством внешних устройств и ОП (Архитектура фон Неймана, принстонская архитектура);
2. с независимыми адресными пространствами (Гарвардская архитектура).
►В первом случае к портам ввода/вывода можно обращаться как к ячейкам оперативной памяти.
Достоинство подхода - возможность использовать различные режимы адресации при обращении к внешним устройствам и выполнять над содержи-мым портов ввода/вывода различные арифметико-логические операции. Но при этом сокращается емкость адресуемой ОП и снижается защищенность.
Если первый недостаток не столь существенен при современных объемах ЗУ, то второй может весьма негативно сказаться на работе МПС. Поэтому в настоящее время при построении МПС предпочтение отдается 2 подходу.
Рассмотрим особенности обмена информацией МП с внешними устройствами. Временная диа- грамма этого процесса на рис. 3.
Рис. 3. Временная диаграмма обмена между МП и внешним устройством
При таком обмене МП использу-ет стандартный цикл шины в 2 периода тактового генератора. Начало - сигнал ADS шины.
Если в обмене задействованы относительно медленное внешнее устройство или оперативная память, которые не успевают завершить обмен в текущем цикле работы микропроцессора, то они сбрасывают сигнал READY, который проверяется микропроцессором в конце второго тактового сигнала цикла.
При READY = 0 МП вставляет дополнительные такты ожидания в цикл шины, чтобы дать возможность внешнему устройству завершить операцию ввода/вывода.
Однако сигнал неготовности внешнего устройства не может длиться более установленного времени (для шины ISA - 2,5 мкс), в противном случае генерируется прерывание по ошибке ввода/вывода. Это предотвращает зависание системы в случае, например, механического повреждения данного контакта.
Прямой доступ к памяти
В МПС используются два способа организации передачи данных между памятью и периферийными устройствами: ● программно управляемая передача и ● прямой доступ к памяти ПДП (Direct Memory Access - DMA).
►Программно управляемая передача данных осуществляется при непос-редственном участии и под управлением МП. При пересылке блока данных из внешнего устройства в ОП процессор должен выполнить следующие шаги:
1) сформировать начальный адрес области обмена ОП;
2) занести длину передаваемого массива данных в один из своих внутренних регистров, который будет играть роль счетчика;
3) выдать команду чтения информации из ВУ; при этом на шину адреса из МП выдается адрес ВУ, на шину управления - сигнал чтения данных из ВУ, а считанные данные заносятся во внутренний регистр МП;
4) выдать команду записи информации в ОП; при этом на шину адреса из МП выдается адрес ячейки оперативной памяти, на шину управления - сигнал записи данных в ОП, а на шину данных выставляются данные из регистра МП, в который они были помещены при чтении из ВУ;
5) модифицировать регистр, содержащий адрес оперативной памяти;
6) уменьшить счетчик длины массива на длину переданных данных;
7) если переданы не все данные, то повторить шаги 3-6, в противном случае закончить обмен.
Т.о. программно управляемый обмен ведет к нерациональному использованию мощности МП, который вынужден выполнять большое количество простых операций, приостанавливая работу над основной программой.
► Альтернативой программно-управляемому обмену служит прямой доступ к памяти - способ быстродействующего подключения внешнего устройства, при котором оно обращается к оперативной памяти, не прерывая работы процессора. Такой обмен происходит под управлением отдельного устройства - контроллера прямого доступа к памяти (КПДП).
Схема включения КПДП в состав МП системы представлена на рис. 4.
Рис. 4. Структура МПС с контроллером прямого доступа к памяти
Перед началом работы контроллер ПДП необходимо инициализировать: занести начальный адрес области ОП, с которой производится обмен, и длину передаваемого массива данных. В дальнейшем по сигналу запроса прямого доступа контроллер фактически выполняет все те действия, которые обеспечивал МП при программно-управляемой передаче.
Последовательность действий КПДП при запросе на прямой доступ к памяти со стороны внешнего устройства следующая:
1. Принять запрос на ПДП (сигнал DRQ) от ВУ.
2. Сформировать запрос к МП на захват шин (сигнал HRQ).
3. Принять сигнал от МП (HLDA), подтверждающий факт перевода микропроцессором своих шин в третье состояние.
4. Сформировать сигнал, сообщающий устройству ввода-вывода о начале выполнения циклов прямого доступа к памяти (DACK).
5. Сформировать на шине адреса компьютера адрес ячейки памяти, предназначенной для обмена.
6. Выработать сигналы, обеспечивающие управление обменом (IOR, MW для передачи данных из ВУ в оперативную память и IOW, MR для передачи данных из оперативной памяти в ВУ).
7. Уменьшить значение в счетчике данных на длину переданных данных.
8. Проверить условие окончания сеанса прямого доступа (обнуление счетчика данных или снятие сигнала запроса на ПДП). Если условие окончания не выполнено, то изменить адрес в регистре текущего адреса на длину переданных данных и повторить шаги 5-8.
Прямой доступ к памяти позволяет осуществлять обмен данными между внешним устройством и оперативной памятью параллельно с выполнением процессором программы.
|
Рис. 5. Структура контроллера прямого доступа к памяти
Контроллер состоит из 4 идентичных каналов, позволяющих подключить к системе до четырех устройств, работающих в режиме ПДП.
►В состав каждого канала входят следующие регистры:
· MR (Mode Register) - регистр режима. Определяет параметры передачи:
o порядок изменения (увеличения или уменьшения) адреса ОП при передаче;
o возможность автоинициализации;
o режим обслуживания:
o одиночная передача (контроллер возвращает магистраль процессору после каждого цикла ПДП);
o блочная передача (контроллер владеет магистралью в течение передачи всего массива);
o по требованию (окончание передачи определяется снятием сигнала DRQ или подачей сигнала IEOP на внешний вход КПДП);
o каскадирование;
- CAR (Current Address Register) - регистр текущего адреса;
- BAR (Base Address Register) - базовый регистр адреса;
- CWR (Current Word Register) - текущий счетчик данных;
- WCR (Word Control Register) - базовый счетчик данных.
◊ Значения в регистрах BAR и WCR устанавливаются при инициализации и в ходе циклов ПДП не меняются.
◊ В регистры CAR и CWR в начале выполнения ПДП заносятся значения из регистров BAR и WCR. При выполнении ПДП эти регистры изменяются.
►Управляющие регистры, общие для всего контроллера:
- CR (Command Register) - регистр команд - определяет:
- режим память-память или обычный. В режиме память-память осуществляется обмен по схеме ПДП между двумя областями ОП (только для каналов 0 и 1) с использованием буферного регистра TR (Temporary Register);
- запрет/разрешение ПДП;
- порядок изменения приоритетов каналов:
- фиксированный приоритет;
- циклическое изменение приоритета после обработки запроса на ПДП по одному из каналов;
- явное указание наиболее приоритетного канала;
- уровень сигналов DRQ и DACK (настройка на активный уровень сигналов под особенности работы внешних устройств);
- SR (Status Register) - регистр условий: используется для фиксации признаков обмена по каждому из каналов и запросов на ПДП.
Во избежание ложных срабатываний внешних устройств, не использующих в данный момент режим прямого доступа, контроллер ПДП во время режима ПДП вырабатывает сигнал AEN, который блокирует работу остальных ВУ:
►Для увеличения количества внешних устройств, которые могут быть подключены к МП в режиме ПДП, используется каскадное включение (рис. 6).
Рис. 6. Каскадное включение контроллеров прямого доступа к памяти
При этом ведомый КПДП подключается к одному из каналов ведущего контроллера по схеме подключения внешнего устройства, а непосредственно с микропроцессором связывается только ведущий контроллер.
● В стандартной конфигурации ПК применяются два КПДП (ведущий и ведомый), которые позволяют подключить до 7 внешних устройств, причем 2 канала закреплены за накопителями на жестком и гибком дисках. ● В максимальной конфигурации при использовании ведущего и 4 ведомых КПДП, подключенных к каждому из каналов ведущего, к МП можно подключить до 16 внешних устройств, работающих в режиме ПДП.