Файл: Курс лекций Разработчик Афонин Ю. Д. Екатеринбург, 2007 2 Содержание.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.01.2024
Просмотров: 224
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
28 принимать только два значения 0 или 1. Биты объединяются в байты (8 бит=2 8
=256 значений) и слова. Термин «слово» по разному трактуется в руководствах по микро – ЭВМ. Мы будем под словом понимать максимальное число бит, которые могут быть одновременно (параллельно) переданы по линиям данных процессора. В микро-ЭВМ PC-AT286 длинна слова равна 16 битам, поскольку для передачи данных в магистрали выделяется 16 линий. В компьютерах класса Pentium длина слова равна 32 битам.
Двоичная система счисления, в которой работаю все электронные устройства ЭВМ, неудобна для восприятия человеком и слишком громозка для записи. Для наглядности и удобства представления двоичного содержимого слова широко используется шестнадцатеричная и восьмеричная системы счисления. В восьмеричной системе каждый разряд может принимать восемь значений от 0 до 7. Для шестнадцатеричной системы требуется 16 значений, так что наряду с десятичными цифрами от 0 до 9 используются латинские буквы A,
B, C, D, E, F. В основе шестнадцатеричной системы счисления лежит максимально возможное число комбинаций для четырех двоичных разрядов (4 электрических проводников). Кодовая таблица шестнадцатеричной системы приведена ниже:
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010
A
1011
B
1100
C
1101
D
1110
E
1111
F
Выделенная часть составляет восьмеричную систему.
29
Поскольку каждая тройка (четверка) двоичных разрядов эквивалентна одной восьмеричной (шестнадцатеричной) цифре, то перевод двоичного числа в восьмеричное (шестнадцатеричное) заключается в разбивке справа налево двоичных разрядов на группы из 3 (4) бит с последующей заменой каждой группы соответствующей восьмеричной (шестнадцатеричной) цифрой. С целью получения общего числа бит в слове, кратного трем или четырем, к двоичному числу нужно добавить слева необходимое число нулей
001110100011101001 = 164351 (8) = E8E9 (16)
Содержимое любой ячейки памяти может интерпретироваться как машинная команда или как данные, Целые числа интерпретируются в ЭВМ либо как числа без знака, либо как числа со знаком. Беззнаковое представление удобно использовать для работы с адресами, которые не могут быть отрицательными. Число без знака, записанное в машинном слове, не может выходить за диапазон 0000÷FFFF (16), 0÷65535 (10). При необходимости использовать в программе как положительные, так и отрицательные целые числа, самый старший двоичный разряд слова отводится под знак (0 означает плюс, 1- минус), а под значащую часть числа отводят оставшиеся 15 разрядов.
Отрицательные числа записываются в дополнительном коде, который образуется из прямого путем замены всех нулей на единицы и наоборот (это так называемый обратный код) и прибавления к полученному числу единицы:
0000 0000 0000 1100 = 000C (16) прямой код числа 12 (10)
1111 1111 1111 0011 = FFF3 (16) обратный код числа 12 (10)
1111 1111 1111 0100 = FFF4 (16) дополнительный код числа 12 (10) или код числа -12.
Если число со знаком записывается в машинном слове, то положительные числа лежат в диапазоне 0000÷7FFF (0÷32767), а отрицательные в диапазоне FFFF÷8000 (-1÷-32768). Многие аналого-цифровые преобразователи представляют результаты измерений для отрицательных чисел в дополнительном коде.
30
2.2 Структура памяти. Структура магистрали
IBM PC
– AT
Как мы уже говорили память предназначена для хранения программ и данных. В микро-ЭВМ используются несколько видов памяти, которые подразделяются на внутреннюю и внешнюю. Наиболее важную, для понимания работы микро-ЭВМ, роль играет внутренняя оперативная память, организацию которой мы и рассмотрим. Оперативная память представляет собой электронное устройство, включающее в себя большое количество запоминающих элементов для записи бит информации, а также схемы управления ими. Элементы группируются в байты и слова. У каждого слова и каждого байта есть адрес – номер, по которому к ним обращается центральный процессор. Все байты оперативной памяти нумеруются, начиная с нуля. Слова нумеруются четными числами, причем четные байты считаются младшими в слове и занимают разряды 0÷7 слова, нечетные байты слова занимают старшие разряды 8÷15.
В микро-ЭВМ предусмотрена возможность обращения, как к словам, так и к байтам.
Разрядность адреса памяти определяет максимальную область памяти или адресное пространство памяти, доступное для процессора. Так, 16 – разрядный адрес позволяет обращаться к 64Кбайтам (1Кб=2 10
=1024 байт,
1Мб=2 20
=1024Кб) или к 32Ксловам, 32 разрядный к 4Гбайтам (2 32
) или к
1Гслову (для 32 разрядных слов).
Структура стандартной памяти ОЗУ размером в 1Мб IBM PC совместимого компьютера класса PC-AT286 представлена на рис. 2.1.
31
Ряд адресов памяти закреплен для специальных целей. Адреса памяти с
00000 по 00400H (H - обозначение шестнадцатеричной системы счисления) зарезервированы под векторы прерываний и использовать их для других целей нельзя. Программы и данные располагаются в ячейках памяти с адресами
00400H÷9FFFFH.
ПЗУ BIOS и др.
1024
Кб
FFFFFH
F0000H
E0000H
C8000H
C0000H
A0000H
00400H
64
Кб
64
Кб
96Кб
32Кб
128Кб
640
Кб
Кадр страницы EMS
Память в верхних адресах
ПЗУ VGA
Видео - ОЗУ
DOS программы пользователя
Вектора прерываний
A
A
A
A
О
З
У
с и
ст е
м н
о е
О
З
У
D
O
S
Рисунок 2.1 – Структура стандартной памяти ОЗУ IBM PC-AT286.
В IBM – совместимых ПК, для обеспечения совместимости с предыдущими моделями, адреса задаются совокупностью двух шестнадцатеричных слов, которые называются сегментом и смещением.
32
Сегмент – это участок памяти, имеющий длину 64Кб и начинающийся с
физического адреса, кратного 16 (т.е. 0, 16, 32, 48 и т.д.). Смещение указывает сколько байт от начала сегмента необходимо пропустить, чтобы обратиться к нужному адресу. Для адресации в пределах 1Мб необходимо 20 двоичных разрядов, которые получаются из сегмента и смещения следующим образом: содержимое сегмента смещается влево на 4 разряда, освободившиеся правые разряды заполняются нулями, результат складывается с содержимым смещения (рис 2.2). Поэтому абсолютный адрес состоит из двух частей сегмента и смещения разделенных двоеточием 8000:10F0.
0 0
0 0
1 2
3 4
16 5
6 7
8 9
10 11 12 13 14 15 16 15 14 13 12 12 11 11 10 10 9
9 8
8 7
7 6
6 5
5 4
4 3
3 2
2 1
1 13 14 15 16 17 18 19 20
Сегмент
Смещение
Рисунок 2.2 – Образование двадцатиразрядного адреса.
В микро – ЭВМ используется оперативная память различных типов.
Память, сохраняющая свое содержимое при выключении питания, называется энергонезависимой, в противном случае она энергозависима. Наиболее распространена энергонезависимая память, выполненная на флеш – микросхемах, а энергозависимая на МОП БИС.
В настоящее время в качестве оперативной памяти микро – ЭВМ чаще всего используются динамические запоминающиеся устройства на МОП – структурах. Динамическим ЗУ присущ существенный недостаток: для сохранения содержимого необходимо периодически считывать и записывать элементы памяти, этот процесс называется регенерацией памяти. Типичный период регенерации составляет 2 мс. В зависимости от конкретного исполнения
ЗУ доступ к нему может блокироваться на время регенерации или быть
«прозрачным» для центрального процессора. При работе ЭВМ в линию с экспериментом это необходимо учитывать. Тем не менее три достоинства: высокая степень интеграции, малое потребление энергии, малая удельная стоимость бита информации, определяют широкое применение динамических
33
ЗУ в ЭВМ.
Динамические ЗУ позволяют записывать и считывать данные по любому адресу в произвольный момент времени. Постоянные запоминающие устройства (ПЗУ) допускают только считывание содержимого ячеек памяти по любому адресу. Запись данных в ПЗУ производится с помощью специального оборудования – программатора. Существуют три основных типа ПЗУ, которые различаются по способу записи их содержимого. В ПЗУ первого типа
(масочные ПЗУ) данные записываются один раз, при производстве соответствующей БИС. Содержимое ПЗУ второго типа (программируемые ПЗУ или ППЗУ) при наличии специального оборудования может задавать пользователь. Обычно ППЗУ реализуются с помощью диодных матриц, расположенных в корпусе БИС. Используя внешние контакты, выбранные диоды можно выжечь, записав тем самым в ячейки необходимую информацию.
После программирования содержимое таких ПЗУ изменить нельзя. ПЗУ третьего типа при наличии соответствующего оборудования пользователь может программировать и репрограммировать много раз (РПЗУ).
ПЗУ первого типа обычно используются в управляющей памяти Ц.П.
ППЗУ и РПЗУ могут использоваться для записи программ обслуживания технологических процессов или обработки его результатов при условии, что программы неизменны.
Центральный процессор (ЦП), память и устройства ввода-вывода (УВВ) связаны между собой магистралью, представляющей набор проводников, по которым передается различная информация. В некоторых микро-ЭВМ используются две магистрали, одна – для связи центрального процессора с памятью, а другая - для связи с УВВ.
Линии магистрали подразделяются на три группы: линии данных, адреса и управления. В некоторых микро – ЭВМ линии адреса и данных физически совмещены и попеременно используются для передачи адресов и данных, например магистраль PCI в компьютерах IBM PC. На рис. 2.3 приведена схема магистрали компьютера класса IBM PC-AT, а на рис 2.4 более сложная
34 организация компьютера класса Pentium.
Шина управления
Шина данных 16 линий
Шина адреса 24 линии
Микро- процессор
80286
Шинный контроллер
82288
ОЗУ
УВВ
Рисунок 2.3-Схема магистрали компьютера класса IBM PC-AT
Линии данных используются для передачи информации между отдельными частями микро – ЭВМ. При взаимодействии, например ЦП с памятью этой информацией являются команды или данные, которые либо считываются из соответствующих ячеек памяти, либо записываются в них, а при взаимодействии с УВВ – данные, состояние УВВ, приказы или информация о прерывании. Число линий данных в магистрали определяет число передаваемых одновременно бит и обычно совпадает с длинной слова, выраженной в битах. Как правило, линии данных являются двунаправленными, т.е. передача данных по ним возможна в двух направлениях. Направление передачи определяется специальными сигналами, передаваемыми по линиям управления; в конкретный момент времени может производится передача только в одном направлении.
Линии адреса предназначены для передачи комбинаций бит, с помощью которых происходит обращение к ячейке памяти, каждая из которых имеет свой адрес. Число бит, используемых для задания адреса, определяет множество
35
Рисунок 2.4 – Магистральная организация компьютера класса Pentium. возможных адресов, которое образует адресное пространство машины. Так, 16 линий адреса позволяют адресоваться к 32 Кслов (64 Кб) памяти, при этом формируемый ЦП 16-разрядный адрес непосредственно поступает на линии адреса магистрали. Увеличение числа адресных линий до 24 позволяет расширить адресное пространство до 16 Мб, 32 линии до 4Гб.
На магистрали применяется синхронный способ передачи адреса и данных, который вводится с помощью сигналов управления. Сигналы управления передаются по линиям управления. Хотя в разных микро-ЭВМ линии
36 управления функционально различаются, информация, передаваемая по ним, представляет собой совокупность определенных сигналов:
• запросы на использование магистрали, которые формируются различными устройствами, подключенными к магистрали;
• разрешение использования магистрали, которое формируется в соответствии с назначенными приоритетами в схемах приоритетов (эти схемы могут находиться в центральном процессоре или реализуются на отдельных БИС);
• сигналы прерываний, фиксирующие внешние события, требующие внимания
ЦП и разрешающие их в соответствии с приоритетами;
• сигналы синхронизации для координации передач по линиям адресов и данных;
• сигналы о неисправностях или выключении питания.
1 2 3 4 5 6 7 8 9 10
2.3 Устройства ввода – вывода
Микро-ЭВМ связана с устройствами ввода-вывода, которые подключаются к магистрали. УВВ, называемые также периферийными или внешними устройствами, подразделяются на стандартные и нестандартные. К стандартным принято относить устройства, используемые при взаимодействии оператора с ЭВМ, а также при организации вычислительного процесса: видеотерминалы, накопители на гибких и жестких магнитных дисках, магнитных лентах, принтеры, видеоадаптеры и т.д. К нестандартной периферии мы будем относить УВВ, обеспечивающие связь микро-ЭВМ с технологическим объектом: аналогово-цифровые и цифро-аналоговые преобразователи, модули управления шаговыми двигателями, различные счетчики, аппаратура в стандарте КАМАК, КОП и т.д..
В каждом УВВ, подключаемом к магистрали ЭВМ в общем случае можно выделить две части: функциональную и контроллер (рис. 2.5).
37
Контроллер
Функциональная часть
У
ст р
о й
ст во вв о
д а
/в ы
во д
а
Рисунок 2.5 – Устройство ввода/вывода.
Функциональная часть реализует принцип работы данного УВВ.
Контроллер управляет работой функциональной части по командам ЦП и выполняет некоторую комбинацию следующих функций:
• передача состояния УВВ в ЭВМ;
• обеспечение приема и буферного хранения данных, вводимых и выводимых из ЭВМ в УВВ;
• передача команд от ЭВМ в УВВ;
• сигнализация ЭВМ о завершении операции и об ошибке, возникшей во время операции;
• сигнализация ЭВМ о необходимости обмена и о способе обмена.
Для организации обмена с ЭВМ контроллер содержит один или несколько регистров, предназначенных для хранения информации, принятой с магистрали по линиям данных или которую необходимо выставить на линии данных. Процессор работает с регистрами УВВ так же, как с ячейками памяти.
Среди регистров УВВ выделяют следующие:
• регистр управления и состояния CSR (Control and Status Register) содержит информацию об операции, выполняемой
УВВ, характеризует состояние УВВ и участвует в операциях по предоставлению прерывания;
• регистр данных DSR (Data Storage Registor) испопьзуется при обмене данными между ЦП и УВВ.
38
Определенные разряды CSR иногда .называют флагами, говоря, что флаг установлен, если в разряде записана единица, или флаг сброшен, если в разряде записан нуль. В каждой микро-ЭВМ имеется рекомендуемый формат CSR, который используется для разработки интерфейсов.
Операционные системы микро-ЭВМ предусматривают подключение стандартных УВВ, за каждым из которых закреплены стандартные для этой системы адреса, определены форматы CSR и DSR и выполняемые функции.
При подключении нестандартных УВВ, что часто возникает в задачах технологического управления, приходится разрабатывать контроллеры и программное обеспечение для их обслуживания.
39
3. Обмен информацией с внешними устройствами
3.1 Способы обмена информацией с внешними устройствами
Обмен информацией между ЭВМ и внешними по отношению к ней устройствами (периферией) является неотъемлемым элементом любого вычислительного процесса. В случае стандартной периферии и работы ЭВМ под управлением операционной системы весь процесс обмена оказывается скрытым от пользователя. Необходимо лишь оформить в программе соответствующую системную директиву ввода-вывода. Возможности, предоставляемые операционной системой, достаточно широки и удовлетворяют большинству потребностей, возникающих при работе со стандартной периферией. Непосредственное обращение к стандартным внешним устройствам можно допустить, только зная детали взаимодействия операционной системы с периферией, чтобы гарантировать отсутствие побочных эффектов, которые могут привести к нарушению нормального функционирования либо программы пользователя, либо операционной системы. Обычно в операционной системе имеются разнообразные средства защиты и контроля, направленные против непредусмотренного вмешательства чересчур активного, неумелого или неаккуратного пользователя.
Особое значение вопрос организации обмена приобретает в автоматизированных системах, где ЭВМ взаимодействует с нестандартной периферией, поскольку от его решения во многом зависит эффективность использования ЭВМ. Обмен с нестандартной периферией, как правило, не поддерживается операционной системой и программируется пользователем.
Для корректного проведения обмена необходимо ознакомиться с принципами организации ввода-вывода. Напомним, что передача информации происходит по линиям данных магистрали ЭВМ. По отношению к центральному процессору каждое внешнее устройство представляет собой набор регистров
(CSR и DSR), расположенных в контроллере устройства, и собственно обмен сводится к записи информации в эти регистры или считыванию информации из них. В ЭВМ с единой магистралью эти регистры имеют адреса, расположенные
40 в адресном пространстве, и процессор может обращаться к ним так же, как и к ячейкам оперативной памяти В IBM PC совместимом компьютере эти адреса занимают область 100÷1FF, которая отводится для нужд пользователя.
Организация любой ЭВМ обеспечивает следующие четыре способа обмена, первые два из которых, иногда называют программно-управляемыми, поскольку обмен происходит полностью под управлением программы:
• синхронный,
• асинхронный,
• по прерыванию,
• с использованием канала прямого доступа к памяти (ПДП) или обмен с занятием цикла.
Синхронный обмен, являясь самым быстрым, обеспечивает передачу информации за одну машинную команду. Схематическое изображение этого способа дано на рис. 3.1.
Передача
Рисунок 3.1 – Синхронный обмен.
Центральный процессор, выполняя команду, связанную с передачей информации, является инициатором обмена как при вводе, так и при выводе.
Внешнее устройство играет пассивную роль, передавая или принимая информацию по командам центрального процессора. Этот способ предполагает близость значений скорости обмена, определяемой программой и быстродействием центрального процессора, и скорости, с которой может производить обмен внешнее устройство. Однако, как правило, эти скорости существенно различаются, а синхронный способ не располагает средствами их синхронизации.
41
Асинхронный обмен позволяет программно синхронизовать обмен между
ЭВМ и низкоскоростным внешним устройством. Это достигается проверкой готовности устройства до проведения обмена. Готовность к обмену отображается определенным разрядом регистра состояния и управления CSR этого устройства
(флагом готовности) (рис.3.2).
Чтение CSR
Готов ?
Передача
Нет
Да
Рисунок 3.2 – Асинхронный обмен.
Для выяснения состояния устройства необходимо прочитать содержимое его
CSR и проанализировать соответствующий разряд. Если устройство занято, происходит переход на команду чтения содержимого CSR и программа зацикливается. Отметим, что при такой организации обмен, происходящий при наступлении готовности, осуществляется синхронным способом. Флаг готовности сбрасывается внешним устройством после того, как произошел обмен данными с
ЭВМ.
Следует отметить, что и в случае асинхронного обмена внешнее устройство играет пассивную роль, предоставляя для чтения или записи регистр данных и принимая или передавая данные для обмена по командам центрального процессора.
Оно не может быть инициатором обмена. Другим существенным недостатком этого способа является непроизводительная трата времени, особенно при
42 взаимодействии с низкоскоростными внешними устройствами, поскольку большую часть времени процессор тратит на ожидание готовности их к обмену.
Так, для принтера с типичной скоростью печати порядка 100 симв/с только
0,04% машинного времени, отведенного на обмен, тратятся непосредственно на передачу данных, остальные же 99,96 % времени расходуются на ожидание готовности.
Обмен по прерыванию лишен отмеченных выше недостатков асинхронного способа и позволяет более эффективно использовать ресурсы
ЭВМ. Отличительной чертой обмена по прерыванию в сравнении с программным способом является активность внешнего устройства, которое выступает инициатором обмена, выставляя так называемое требование прерывания. Роль же центрального процессора сводится лишь к тому, чтобы, откликнувшись на требование, его выполнить. Кроме того, процессор программным способом может разрешить или запретить внешнему устройству выставлять требование прерывания. Поскольку обмен по прерыванию помимо программной поддержки использует аппаратные средства, этот способ не является программно-управляемым.
Схематически обмен по прерыванию изображен на рис. 3.3.
Обслуживание прерывания
Рисунок 3.3 – Обмен по прерыванию.
Центральный процессор выполняет работу по программе, называемой фоновой, которая может быть не связана с обменом, при этом часть
43 центрального процессора, называемая арбитром, следит за появлением сигнала требования прерывания от внешнего устройства. При поступлении этого сигнала центральный процессор, закончив выполнение текущей команды фоновой программы, организует с помощью арбитра переход на подпрограмму обслуживания прерываний от данного устройства, в которой и происходит обмен одним из программно-управляемых способов. После окончания выполнения подпрограммы обслуживания прерывания осуществляется переход в фоновую программу на то место, с которого она была прервана.
В процессе работы ЭВМ под управлением операционной системы постоянно происходит обмен информацией между оперативной и внешней памятью. Потребность в таком обмене связана с ограниченным объемом оперативной памяти. Часть данных и программ, необходимость в которых отпадает, переносится из оперативной памяти во внешнюю и на освободившееся место из внешней памяти загружаются необходимые для дальнейшего использования данные и программы. Этот обмен обычно осуществляется фиксированными блоками информации, содержащими в зависимости от устройства определенное количество байт. Естественным является требование, чтобы эти передачи занимали по возможности минимальное время, поскольку они снижают реальное быстродействие машины. При работе ЭВМ с нестандартной периферией, например в информационно-измерительных комплексах, также часто возникает необходимость в быстром обмене блоками информации между оперативной памятью и внешними устройствами.
Блочная передача данных между оперативной памятью и внешним устройством осуществляется по так называемому каналу прямого доступа к
памяти (ПДП). Существенной особенностью этого способа является то, что процессор не принимает участие в обмене, хотя сама передача происходит с использованием магистрали ЭВМ. Управление магистралью во время обмена полностью передается внешнему устройству, которое, являясь инициатором обмена, берет на себя все функции процессора по организации работы магистрали.
Следует отметить, что захват магистрали может происходить и до окончания
44 выполнения процессором текущей команды. Таким образом, обмен с использованием ПДП обеспечивает максимально возможную скорость; платой за это являются достаточно сложные организация и логика работы соответствующего внешнего устройства.
3.2 Магистраль ISA IBM PC совместимого компьютера
Микро-ЭВМ построена по модульному принципу, т.е. все функциональные блоки выполнены в виде модулей, связь между которыми осуществляется через единый канал обмена информацией или магистраль.
Магистраль, являясь простой, быстродействующей системой связей, соединяет различные модули: центральный процессор, память и внешние устройства.
Организация магистрали позволяет подключать к ней несколько центральных процессоров, создавая тем самым многопроцессорную ЭВМ. При этом используется дополнительная магистраль для решения арбитражных вопросов между процессорами. При построении системы на базе микро-ЭВМ пользователь может подключать к магистрали и свои собственные устройства, разработанные с учетом соответствующих требований и рекомендаций.
Связь между любыми модулями, подключенными к магистрали, осуществляется по принципу управляющий - управляемый (активный - пассивный). В любой момент времени могут взаимодействовать только два устройства, одно из которых - активное - организует работу магистрали, другое
- пассивное - является исполнителем. Активную роль, как правило, играет процессор, остальные устройства, в том числе и оперативная память, являются пассивными. Исключение составляет обмен с использованием прямого доступа к памяти, когда активным становится устройство, организующее прямой обмен с памятью.
Обмен информацией на магистрали поддерживается управляющими сигналами (сигналами квитирования). Обмен может выполняться как словами, так и байтами. В основном используется два типа магистралей. В первом типе линии адреса и данных разделены, во втором типе совмещены. Для организации магистрали по второму типу требуется меньшее число линий,
45 однако платой за уменьшение числа линий является потенциально меньшее быстродействие. В IBM PC-AT используется магистраль первого типа, которая носит название ISA (сокращение от Industry Standard Architecture – промышленная стандартная архитектура). Магистраль второго типа PCI используется в компьютерах класса Pentium.
Рассмотрим более подробно магистраль ISA. В стандартном PC-AT системная шина состоит из двух частей. Первая часть состоит из 62 выводов, расположенных в слоте расширения в два ряда и пронумерованных как А1 –
А31, B1 – B31(основной 8 - разрядный слот). Эта часть полностью совместима с шиной компьютера PC-XT. Вторая часть состоит из 36 выводов (16 - разрядное расширение или дополнительный слот), являющихся продолжением первой части и пронумерованных как C1 – C18, D1 – D18 (рис 3.4).
A1
A31
B1
B31
C1
C18
D1
D18
Рисунок 3.4 – Слот расширения шины ISA.
Внешние платы, устанавливаемые в разъемы шины, могут быть 8- и/или
16-разрядными. 8-разрядная плата имеет только один интерфейсный разъем и может оперировать только с 8-разрядными данными. 16-разрядная плата обязательно имеет два интерфейсных разъема - один основной, такой же как в
8-разрядных платах, и один дополнительный. Такая плата может оперировать как с 8-, так и с 16-разрядными данными. Общее число устанавливаемых в разъемы шины плат ограничивается как нагрузочной способностью шины, так и конструктивным исполнением материнской платы. Как правило, допускается устанавливать не более 8 внешних плат на шину. Такое ограничение вызвано также и относительно небольшим количеством свободных линий запросов на
ПДП и запросов на прерывания, имеющихся на шине.
Рассмотрим линии (сигналы) шины ISA, которые используются при работе с внешними устройствами.
46
SA0 ÷ SA19 – Это 20 выводов адресов памяти и устройств ввода – вывода.
SD0 ÷ SD15 – Эти 16 выводов образуют двустороннюю шину данных.
IOR, IOW – Эти сигналы с активным низким уровнем управляют операциями чтения и записи при работе с внешними устройствами.
ALE – Высокий уровень этого сигнала указывает на то, что адрес на системной шине сформирован. Защелкивание адреса на линиях SA0 ÷ SA9 происходит по падающему фронту ALE.
CLK – Системный синхросигнал, согласованный с внутренним процессорным синхросигналом.
IRQ3 ÷ IRQ7, IRQ9 ÷ IRQ12, IRQ14, IRQ15 – Эти сигналы формируются внешними устройствами для запроса прерывания процессора на их обслуживание. IRQ2 в AT системах используется для запроса на прерывание второго дополнительного контроллера прерываний. В XT системах (например
Micro PC) IRQ2 свободно и может использоваться аппаратурой пользователя.
IRQ13 используется математическим сопроцессором, IRQ8 – таймер реального времени.
DRQ0 ÷ DRQ3, DRQ5 ÷ DRQ7 – Сигналы запросов на прямой доступ к памяти. Выставляются периферийными устройствами при необходимости обмена данными между этими устройствами и памятью. DRQ4 используется материнской платой.
DACK0 ÷ DACK3, DACK5 ÷ DACK7 – Эти сигналы формируются для подтверждения запросов на прямой доступ к памяти.
-I/O
GH
RDY
– Сигнал готовности канала ввода/вывода.
Устанавливается равным 0 (не готов) для того, чтобы удлинить цикл обмена данными с периферийными устройствами или памятью. Любое медленно работающее периферийное устройство может сформировать этот сигнал с целью растянуть цикл шины до приемлемой длительности. Длительность задержки не должна превышать 4 мкс (30 периодов CLK).
47
Как и при доступе к памяти , процессор для связи с портами использует шины данных и адреса. Номер порта – это адрес ячейки памяти , являющейся частью устройства ввода – вывода, а не частью оперативной памяти. При доступе к порту процессор посылает сначала по управляющей шине сигнал
ALE, который оповещает все устройства ввода – вывода, что адрес на шине является адресом порта, а затем посылает собственно адрес порта. То устройство, адрес порта которого совпадает, дает ответ.
При общем числе возможных портов в компьютере PC, равном 1024, для обращения к ним используется 10 разрядный адрес порта – разряды SA0 ÷ SA9.
Карта адресов портов УВВ разделена на две части. 512 адресов с 0000H по
01FFH выделены для материнской платы. Адресное пространство с 0200H по
03FFH (т.е. 512 адресов) предоставляется схемным платам, которые вставляются в слоты расширения. Большинство этих адресов закреплено за определенными функциональными платами IBM. Свободными являются адреса
100 ÷ 1FFH и 300 ÷ 31FH. Эти адреса можно использовать в своих собственных платах расширения.
3.3 Циклы ВВОД и ВЫВОД магистрали ISA
Выполнение процессором команды требует хотя бы одного обращения к магистрали, поскольку сначала команда должна быть выбрана из ячейки оперативной памяти. При исполнении команды процессору может потребоваться многократное обращение к магистрали, как для выборки операндов из памяти или регистров внешних устройств, так и для занесения в память или в регистр данных внешнего устройства результата выполнения команды. Все операции, связанные с вводом и выводом данных, называются циклами обращения к магистрали. При работе с внешними устройствами выполняются два типа магистральных операций
1 2 3 4 5 6 7 8 9 10
Микро-ЭВМ связана с устройствами ввода-вывода, которые подключаются к магистрали. УВВ, называемые также периферийными или внешними устройствами, подразделяются на стандартные и нестандартные. К стандартным принято относить устройства, используемые при взаимодействии оператора с ЭВМ, а также при организации вычислительного процесса: видеотерминалы, накопители на гибких и жестких магнитных дисках, магнитных лентах, принтеры, видеоадаптеры и т.д. К нестандартной периферии мы будем относить УВВ, обеспечивающие связь микро-ЭВМ с технологическим объектом: аналогово-цифровые и цифро-аналоговые преобразователи, модули управления шаговыми двигателями, различные счетчики, аппаратура в стандарте КАМАК, КОП и т.д..
В каждом УВВ, подключаемом к магистрали ЭВМ в общем случае можно выделить две части: функциональную и контроллер (рис. 2.5).
37
Контроллер
Функциональная часть
У
ст р
о й
ст во вв о
д а
/в ы
во д
а
Рисунок 2.5 – Устройство ввода/вывода.
Функциональная часть реализует принцип работы данного УВВ.
Контроллер управляет работой функциональной части по командам ЦП и выполняет некоторую комбинацию следующих функций:
• передача состояния УВВ в ЭВМ;
• обеспечение приема и буферного хранения данных, вводимых и выводимых из ЭВМ в УВВ;
• передача команд от ЭВМ в УВВ;
• сигнализация ЭВМ о завершении операции и об ошибке, возникшей во время операции;
• сигнализация ЭВМ о необходимости обмена и о способе обмена.
Для организации обмена с ЭВМ контроллер содержит один или несколько регистров, предназначенных для хранения информации, принятой с магистрали по линиям данных или которую необходимо выставить на линии данных. Процессор работает с регистрами УВВ так же, как с ячейками памяти.
Среди регистров УВВ выделяют следующие:
• регистр управления и состояния CSR (Control and Status Register) содержит информацию об операции, выполняемой
УВВ, характеризует состояние УВВ и участвует в операциях по предоставлению прерывания;
• регистр данных DSR (Data Storage Registor) испопьзуется при обмене данными между ЦП и УВВ.
38
Определенные разряды CSR иногда .называют флагами, говоря, что флаг установлен, если в разряде записана единица, или флаг сброшен, если в разряде записан нуль. В каждой микро-ЭВМ имеется рекомендуемый формат CSR, который используется для разработки интерфейсов.
Операционные системы микро-ЭВМ предусматривают подключение стандартных УВВ, за каждым из которых закреплены стандартные для этой системы адреса, определены форматы CSR и DSR и выполняемые функции.
При подключении нестандартных УВВ, что часто возникает в задачах технологического управления, приходится разрабатывать контроллеры и программное обеспечение для их обслуживания.
39
3. Обмен информацией с внешними устройствами
3.1 Способы обмена информацией с внешними устройствами
Обмен информацией между ЭВМ и внешними по отношению к ней устройствами (периферией) является неотъемлемым элементом любого вычислительного процесса. В случае стандартной периферии и работы ЭВМ под управлением операционной системы весь процесс обмена оказывается скрытым от пользователя. Необходимо лишь оформить в программе соответствующую системную директиву ввода-вывода. Возможности, предоставляемые операционной системой, достаточно широки и удовлетворяют большинству потребностей, возникающих при работе со стандартной периферией. Непосредственное обращение к стандартным внешним устройствам можно допустить, только зная детали взаимодействия операционной системы с периферией, чтобы гарантировать отсутствие побочных эффектов, которые могут привести к нарушению нормального функционирования либо программы пользователя, либо операционной системы. Обычно в операционной системе имеются разнообразные средства защиты и контроля, направленные против непредусмотренного вмешательства чересчур активного, неумелого или неаккуратного пользователя.
Особое значение вопрос организации обмена приобретает в автоматизированных системах, где ЭВМ взаимодействует с нестандартной периферией, поскольку от его решения во многом зависит эффективность использования ЭВМ. Обмен с нестандартной периферией, как правило, не поддерживается операционной системой и программируется пользователем.
Для корректного проведения обмена необходимо ознакомиться с принципами организации ввода-вывода. Напомним, что передача информации происходит по линиям данных магистрали ЭВМ. По отношению к центральному процессору каждое внешнее устройство представляет собой набор регистров
(CSR и DSR), расположенных в контроллере устройства, и собственно обмен сводится к записи информации в эти регистры или считыванию информации из них. В ЭВМ с единой магистралью эти регистры имеют адреса, расположенные
40 в адресном пространстве, и процессор может обращаться к ним так же, как и к ячейкам оперативной памяти В IBM PC совместимом компьютере эти адреса занимают область 100÷1FF, которая отводится для нужд пользователя.
Организация любой ЭВМ обеспечивает следующие четыре способа обмена, первые два из которых, иногда называют программно-управляемыми, поскольку обмен происходит полностью под управлением программы:
• синхронный,
• асинхронный,
• по прерыванию,
• с использованием канала прямого доступа к памяти (ПДП) или обмен с занятием цикла.
Синхронный обмен, являясь самым быстрым, обеспечивает передачу информации за одну машинную команду. Схематическое изображение этого способа дано на рис. 3.1.
Передача
Рисунок 3.1 – Синхронный обмен.
Центральный процессор, выполняя команду, связанную с передачей информации, является инициатором обмена как при вводе, так и при выводе.
Внешнее устройство играет пассивную роль, передавая или принимая информацию по командам центрального процессора. Этот способ предполагает близость значений скорости обмена, определяемой программой и быстродействием центрального процессора, и скорости, с которой может производить обмен внешнее устройство. Однако, как правило, эти скорости существенно различаются, а синхронный способ не располагает средствами их синхронизации.
41
Асинхронный обмен позволяет программно синхронизовать обмен между
ЭВМ и низкоскоростным внешним устройством. Это достигается проверкой готовности устройства до проведения обмена. Готовность к обмену отображается определенным разрядом регистра состояния и управления CSR этого устройства
(флагом готовности) (рис.3.2).
Чтение CSR
Готов ?
Передача
Нет
Да
Рисунок 3.2 – Асинхронный обмен.
Для выяснения состояния устройства необходимо прочитать содержимое его
CSR и проанализировать соответствующий разряд. Если устройство занято, происходит переход на команду чтения содержимого CSR и программа зацикливается. Отметим, что при такой организации обмен, происходящий при наступлении готовности, осуществляется синхронным способом. Флаг готовности сбрасывается внешним устройством после того, как произошел обмен данными с
ЭВМ.
Следует отметить, что и в случае асинхронного обмена внешнее устройство играет пассивную роль, предоставляя для чтения или записи регистр данных и принимая или передавая данные для обмена по командам центрального процессора.
Оно не может быть инициатором обмена. Другим существенным недостатком этого способа является непроизводительная трата времени, особенно при
42 взаимодействии с низкоскоростными внешними устройствами, поскольку большую часть времени процессор тратит на ожидание готовности их к обмену.
Так, для принтера с типичной скоростью печати порядка 100 симв/с только
0,04% машинного времени, отведенного на обмен, тратятся непосредственно на передачу данных, остальные же 99,96 % времени расходуются на ожидание готовности.
Обмен по прерыванию лишен отмеченных выше недостатков асинхронного способа и позволяет более эффективно использовать ресурсы
ЭВМ. Отличительной чертой обмена по прерыванию в сравнении с программным способом является активность внешнего устройства, которое выступает инициатором обмена, выставляя так называемое требование прерывания. Роль же центрального процессора сводится лишь к тому, чтобы, откликнувшись на требование, его выполнить. Кроме того, процессор программным способом может разрешить или запретить внешнему устройству выставлять требование прерывания. Поскольку обмен по прерыванию помимо программной поддержки использует аппаратные средства, этот способ не является программно-управляемым.
Схематически обмен по прерыванию изображен на рис. 3.3.
Обслуживание прерывания
Рисунок 3.3 – Обмен по прерыванию.
Центральный процессор выполняет работу по программе, называемой фоновой, которая может быть не связана с обменом, при этом часть
43 центрального процессора, называемая арбитром, следит за появлением сигнала требования прерывания от внешнего устройства. При поступлении этого сигнала центральный процессор, закончив выполнение текущей команды фоновой программы, организует с помощью арбитра переход на подпрограмму обслуживания прерываний от данного устройства, в которой и происходит обмен одним из программно-управляемых способов. После окончания выполнения подпрограммы обслуживания прерывания осуществляется переход в фоновую программу на то место, с которого она была прервана.
В процессе работы ЭВМ под управлением операционной системы постоянно происходит обмен информацией между оперативной и внешней памятью. Потребность в таком обмене связана с ограниченным объемом оперативной памяти. Часть данных и программ, необходимость в которых отпадает, переносится из оперативной памяти во внешнюю и на освободившееся место из внешней памяти загружаются необходимые для дальнейшего использования данные и программы. Этот обмен обычно осуществляется фиксированными блоками информации, содержащими в зависимости от устройства определенное количество байт. Естественным является требование, чтобы эти передачи занимали по возможности минимальное время, поскольку они снижают реальное быстродействие машины. При работе ЭВМ с нестандартной периферией, например в информационно-измерительных комплексах, также часто возникает необходимость в быстром обмене блоками информации между оперативной памятью и внешними устройствами.
Блочная передача данных между оперативной памятью и внешним устройством осуществляется по так называемому каналу прямого доступа к
памяти (ПДП). Существенной особенностью этого способа является то, что процессор не принимает участие в обмене, хотя сама передача происходит с использованием магистрали ЭВМ. Управление магистралью во время обмена полностью передается внешнему устройству, которое, являясь инициатором обмена, берет на себя все функции процессора по организации работы магистрали.
Следует отметить, что захват магистрали может происходить и до окончания
44 выполнения процессором текущей команды. Таким образом, обмен с использованием ПДП обеспечивает максимально возможную скорость; платой за это являются достаточно сложные организация и логика работы соответствующего внешнего устройства.
3.2 Магистраль ISA IBM PC совместимого компьютера
Микро-ЭВМ построена по модульному принципу, т.е. все функциональные блоки выполнены в виде модулей, связь между которыми осуществляется через единый канал обмена информацией или магистраль.
Магистраль, являясь простой, быстродействующей системой связей, соединяет различные модули: центральный процессор, память и внешние устройства.
Организация магистрали позволяет подключать к ней несколько центральных процессоров, создавая тем самым многопроцессорную ЭВМ. При этом используется дополнительная магистраль для решения арбитражных вопросов между процессорами. При построении системы на базе микро-ЭВМ пользователь может подключать к магистрали и свои собственные устройства, разработанные с учетом соответствующих требований и рекомендаций.
Связь между любыми модулями, подключенными к магистрали, осуществляется по принципу управляющий - управляемый (активный - пассивный). В любой момент времени могут взаимодействовать только два устройства, одно из которых - активное - организует работу магистрали, другое
- пассивное - является исполнителем. Активную роль, как правило, играет процессор, остальные устройства, в том числе и оперативная память, являются пассивными. Исключение составляет обмен с использованием прямого доступа к памяти, когда активным становится устройство, организующее прямой обмен с памятью.
Обмен информацией на магистрали поддерживается управляющими сигналами (сигналами квитирования). Обмен может выполняться как словами, так и байтами. В основном используется два типа магистралей. В первом типе линии адреса и данных разделены, во втором типе совмещены. Для организации магистрали по второму типу требуется меньшее число линий,
45 однако платой за уменьшение числа линий является потенциально меньшее быстродействие. В IBM PC-AT используется магистраль первого типа, которая носит название ISA (сокращение от Industry Standard Architecture – промышленная стандартная архитектура). Магистраль второго типа PCI используется в компьютерах класса Pentium.
Рассмотрим более подробно магистраль ISA. В стандартном PC-AT системная шина состоит из двух частей. Первая часть состоит из 62 выводов, расположенных в слоте расширения в два ряда и пронумерованных как А1 –
А31, B1 – B31(основной 8 - разрядный слот). Эта часть полностью совместима с шиной компьютера PC-XT. Вторая часть состоит из 36 выводов (16 - разрядное расширение или дополнительный слот), являющихся продолжением первой части и пронумерованных как C1 – C18, D1 – D18 (рис 3.4).
A1
A31
B1
B31
C1
C18
D1
D18
Рисунок 3.4 – Слот расширения шины ISA.
Внешние платы, устанавливаемые в разъемы шины, могут быть 8- и/или
16-разрядными. 8-разрядная плата имеет только один интерфейсный разъем и может оперировать только с 8-разрядными данными. 16-разрядная плата обязательно имеет два интерфейсных разъема - один основной, такой же как в
8-разрядных платах, и один дополнительный. Такая плата может оперировать как с 8-, так и с 16-разрядными данными. Общее число устанавливаемых в разъемы шины плат ограничивается как нагрузочной способностью шины, так и конструктивным исполнением материнской платы. Как правило, допускается устанавливать не более 8 внешних плат на шину. Такое ограничение вызвано также и относительно небольшим количеством свободных линий запросов на
ПДП и запросов на прерывания, имеющихся на шине.
Рассмотрим линии (сигналы) шины ISA, которые используются при работе с внешними устройствами.
46
SA0 ÷ SA19 – Это 20 выводов адресов памяти и устройств ввода – вывода.
SD0 ÷ SD15 – Эти 16 выводов образуют двустороннюю шину данных.
IOR, IOW – Эти сигналы с активным низким уровнем управляют операциями чтения и записи при работе с внешними устройствами.
ALE – Высокий уровень этого сигнала указывает на то, что адрес на системной шине сформирован. Защелкивание адреса на линиях SA0 ÷ SA9 происходит по падающему фронту ALE.
CLK – Системный синхросигнал, согласованный с внутренним процессорным синхросигналом.
IRQ3 ÷ IRQ7, IRQ9 ÷ IRQ12, IRQ14, IRQ15 – Эти сигналы формируются внешними устройствами для запроса прерывания процессора на их обслуживание. IRQ2 в AT системах используется для запроса на прерывание второго дополнительного контроллера прерываний. В XT системах (например
Micro PC) IRQ2 свободно и может использоваться аппаратурой пользователя.
IRQ13 используется математическим сопроцессором, IRQ8 – таймер реального времени.
DRQ0 ÷ DRQ3, DRQ5 ÷ DRQ7 – Сигналы запросов на прямой доступ к памяти. Выставляются периферийными устройствами при необходимости обмена данными между этими устройствами и памятью. DRQ4 используется материнской платой.
DACK0 ÷ DACK3, DACK5 ÷ DACK7 – Эти сигналы формируются для подтверждения запросов на прямой доступ к памяти.
-I/O
GH
RDY
– Сигнал готовности канала ввода/вывода.
Устанавливается равным 0 (не готов) для того, чтобы удлинить цикл обмена данными с периферийными устройствами или памятью. Любое медленно работающее периферийное устройство может сформировать этот сигнал с целью растянуть цикл шины до приемлемой длительности. Длительность задержки не должна превышать 4 мкс (30 периодов CLK).
47
Как и при доступе к памяти , процессор для связи с портами использует шины данных и адреса. Номер порта – это адрес ячейки памяти , являющейся частью устройства ввода – вывода, а не частью оперативной памяти. При доступе к порту процессор посылает сначала по управляющей шине сигнал
ALE, который оповещает все устройства ввода – вывода, что адрес на шине является адресом порта, а затем посылает собственно адрес порта. То устройство, адрес порта которого совпадает, дает ответ.
При общем числе возможных портов в компьютере PC, равном 1024, для обращения к ним используется 10 разрядный адрес порта – разряды SA0 ÷ SA9.
Карта адресов портов УВВ разделена на две части. 512 адресов с 0000H по
01FFH выделены для материнской платы. Адресное пространство с 0200H по
03FFH (т.е. 512 адресов) предоставляется схемным платам, которые вставляются в слоты расширения. Большинство этих адресов закреплено за определенными функциональными платами IBM. Свободными являются адреса
100 ÷ 1FFH и 300 ÷ 31FH. Эти адреса можно использовать в своих собственных платах расширения.
3.3 Циклы ВВОД и ВЫВОД магистрали ISA
Выполнение процессором команды требует хотя бы одного обращения к магистрали, поскольку сначала команда должна быть выбрана из ячейки оперативной памяти. При исполнении команды процессору может потребоваться многократное обращение к магистрали, как для выборки операндов из памяти или регистров внешних устройств, так и для занесения в память или в регистр данных внешнего устройства результата выполнения команды. Все операции, связанные с вводом и выводом данных, называются циклами обращения к магистрали. При работе с внешними устройствами выполняются два типа магистральных операций
1 2 3 4 5 6 7 8 9 10