Для специалистов, занимающихся обработкой информации, существенное значение имеет понятие потока информации (см. раздел «Информационная модель ЭВМ»). Предполагается наличие двух хранилищ информации, между которыми организуется информационный обмен по каналам связи. В процессе обмена в канале связи возникает поток информации.
Разберем организацию потока на примере прямого обмена между диском и оперативной памятью. Поток информации проходит через общую шину. Напомним особенности организации устройств, с помощью которых организуется обмен (рис. 33 и 34).
Диск состоит из k цилиндров. Каждый цилиндр содержит n треков. На каждом треке располагается p секторов. Каждый сектор содержит фиксированное количество байт информации, чаще всего 512. Сектор может считываться или записываться только целиком. Перед выполнением операции записи информация должна быть сосредоточена во внутреннем буфере контроллера диска. Команда записи переносит информацию из буфера в сектор. Команда чтения выполняется в обратном порядке. Операция чтения сектора во встроенный буфер выполняется контроллером. Для поиска нужного сектора контроллер должен содержать трехмерный адрес, состоящий из номера цилиндра, номера трека в цилиндре и номера сектора на треке. Контроллер осуществляет перемещение позиционера к нужному цилиндру, выбор трека и в процессе вращения цилиндра переносит нужный сектор во встроенный буфер. Начало обменной операции готовит процессор, выполняя ряд установок регистров контроллера диска Эта операция носит название «программирование контроллера». После того, как контроллер перенесет сектор во встроенный буфер, возможны различные варианты организации обмена: прямой доступ, обмен по прерыванию, опрос внешнего устройства.
Разберем прямой обмен, которым управляет устройство, называемое контроллером прямого доступа. Выполняя программирование контроллера, процессор устанавливает в регистре контроллера прямого доступа адрес поля оперативной памяти, куда при чтении будет передана информации и откуда она будет взята при записи. Назовем это поле буфером оперативной памяти. Размер буфера должен точно совпадать с размером сектора. Последняя команда процессора запускает обменную операцию, после чего процессор продолжает независимую работу, а вся обменная операция проходит по инициативе внешнего устройства.
На рис. 35 показана схема передачи, находящаяся в исходном состоянии. Здесь Buf1 - буфер контроллера диска, куда перемещается сектор диска. Buf2 - буфер диска, соединенный с шиной. Buf3 - буфер контроллера оперативной памяти, соединенный с шиной. Buf4 - буфер контроллера оперативной памяти, накапливающий обменное слово. Буфер - область оперативной памяти, куда перемещается информация.
В регистрах контроллера диска находится трехмерный адрес нужного сектора. Этот сектор находится и переносится в буфер контроллера целиком. При чтении выполняется вертикальный контроль по контрольному разряду, горизонтальный контроль по байту четности и контроль по циклической контрольной сумме. Если какой-нибудь контроль не проходит, на шину выставляется сигнал прерывания и обменная операция прекращается. Если все виды контроля завершаются успешно, информация сектора появляется во встроенном буфере Buf1 (рис. 35). В этот момент начинается передача в буфер Buf2.(рис. 36).
В буфер Buf2 информация заносится с контрольным разрядом. Значение контрольного разряда равно сумме информационных разрядов по модулю 2 плюс 1. Это означает что количество единиц, включая контрольный разряд нечетно. Как только передача в буфер завершается, контроллер захватывает шину, если она свободна, и передает в шину содержимое буфера, включая контрольный разряд. На шине устанавливается сигнал занятости. Буфер свободен и он заполняется следующей парой символов (рис. 37). Любая часть схемы активизируется по запросу слева, если справа свободно.
Если принимающий буфер контроллера оперативной памяти свободен, он извлекает информацию шины, включая контрольный разряд (рис. 38). При этом проверяется правильность информации. Если информация принята с ошибкой, устанавливается прерывание и обмен завершается аварийно. Если ошибки не обнаружено, контроллеру внешнего устройства передается сигнал подтверждения и он снимает занятость шины. Можно заметить, что каждая часть схемы занимается своей задачей, не обращая внимания на остальное. Поэтому данную схему следует назвать асинхронной. Синхронизацию процесса обеспечивают сообщения, которыми обмениваются составляющие схемы.
Как только Buf2 заполнится. устанавливается сигнал запроса шины. Когда шина освободится, информация передается в шину, Buf2 освобождается и принимает следующую пару символов (Рис. 38).
Контроллер оперативной памяти ведет обмен с оперативной памятью порциями, которые называются машинным словом. Как правило, размер машинного слова отличается от разрядности шины. Необходим еще один буфер (Buf4). Предположим, размер машинного слова 4 байта. Как только информация в Buf3 будет принята, устанавливается запрос на передачу в Buf4 (рис. 39). Байты 1 и 2 передаются, Buf3 освобождается и готов принять следующую порцию из шины.
Как только из шины в Buf3 будут приняты байты 3 и 4, осуществляется их передача в Buf4 (Рис. 40). Когда в Buf4 появятся 4 байта, контроллер оперативной памяти начинает передачу в оперативную память. Для этой операции он должен получить адрес оперативной памяти. Существуют две возможности. Первая: адрес поступает по адресной шине с каждой порцией информации. Вторая: адрес поступает вначале обменной операции. Существуют схемы, позволяющие в процессе обмена разбросать сектор по нескольким адресам оперативной памяти. В этом случае по адресной шине периодически поступает новый адрес буфера.
Когда передача в оперативную память завершена (Рис. 41), Buf4 свободен и обмен продолжается.
Когда все 512 байт будут переданы в шину и шина освободится, контроллер внешнего устройства устанавливает на шине сигнал прерывания. По этому сигналу центральный процессор определит завершение обмена.
ЛИТЕРАТУРА
1.Балашов Е.П., Григорьев В.Л., Петров Г.А. Микро- и миниЭВМ. Учебн. пос. для вузов. - Л.: Энергоатомиздат, 1984. - 376 с.
2.Ларионов А.М., Майоров С.А., Новиков Г.И. Вычислительные комплексы системы и сети. Учебн. для вузов. - Л.: Энергоатомиздат, 1987. - 288 с.
3.Вычислительная система IBM 360. Принципы работы/Пер. с англ./Под ред. В.С. Штаркмана. - М.: Советское радио, 1969. - 440 с.
4.Дж. Джермейн. Программирование на IBM 360/ Пер. с англ./Под ред. В.С. Штаркмана. - М.: Мир, 1971. - 870 с.
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ…………………………………………………………….4
ПРИНЦИПЫ ФОН НЕЙМАНА…………………………………….6
СОСТАВ И ФУНКЦИОНИРОВАНИЕ МИНИМАЛЬНОЙ ЭВМ С ШИННОЙ ОРГАНИЗАЦИЕЙ……………………………………8
КОМАНДЫ ЭВМ……………………………………………………19
СИСТЕМНЫЕ ИНТЕРФЕЙСЫ С ИЗОЛИРОВАННОЙ И ОБЩЕЙ СИСТЕМОЙ ШИН………………………………………26
СПОСОБЫ ОБМЕНА ДАННЫМИ В МАШИНАХ С ШИННОЙ ОРГАНИЗАЦИЕЙ. МЕХАНИЗМ ПРЕРЫВАНИЙ…………..…30