- •Предисловие
- •1.1. Назначение компьютеров и принцип программного управления
- •1.2. Неймановский принцип программного управления
- •1.3. Структура компьютеров
- •1.4. Запоминающие устройства и организация памяти
- •1.5. Организация ввода-вывода данных
- •Процессор
- •Оперативная память
- •Программа
- •2.Характеристики и классификация компьютеров
- •2.1.Характеристики компьютеров
- •2.2. Программно-аппаратный интерфейс и интерфейс прикладных программ
- •2.3. Быстродействие и производительность компьютеров
- •2.4. Емкость памяти
- •2.5. Надежность компьютеров
- •Характеристики надежности
- •Классы надежности
- •2.6. Стоимость компьютеров
- •2.7. Классификация компьютеров
- •Классификация компьютеров по областям применения
- •Поколения компьютеров
1.5. Организация ввода-вывода данных
К операциям ввода-вывода относятся все операции, управляющие работой внешних устройств и обеспечивающие передачу данных между внешними устройствами и оперативной памятью. Операции ввода-вывода распространяются и на внешние запоминающие устройства и на устройства ввода-вывода, которые в связи с этим принято относить к одному классу устройств –внешним (периферийным) устройствам.
Внешние устройства (ВУ) подключаются к интерфейсу ввода-вывода (ИВВ) через контроллеры (К) по схеме, представленной на рис. 1.5.1.
Ядро
ЭВМ
К 1 ВУ 1
К к ВУ к
Рис.1.5.1. Схема подключения внешних устройств
Контроллер– электронное устройство, выполняющее следующие функции:
Опознавание обращения к ВУ путем сравнения собственного адреса с адресом ВУ, представленным на шине ввода-вывода;
Прием команды ввода-вывода, посылаемой по шине;
Исполнение команды ввода-вывода, что сводится к передаче данных между интерфейсом и ВУ и формированию сигналов, управляющих работой ВУ;
Формирование и передачу в шину информации о завершении операции ввода-вывода или об особых ситуациях в работе ВУ (неготовность к работе, ошибка в передаче данных и т.п.);
Формирование сигналов запроса от ВУ на передачу информации через интерфейс.
Таким образом, команды ввода-вывода исполняются ВУ, работающим под управлением контроллера, интерпретирующего наборы управляющих сигналов, поступающие по шине, в соответствующие действия, реализуемые аппаратурой ВУ и контроллера. Контроллер также передает данные между ВУ и шиной в стандарте интерфейса ввода-вывода и формирует сигналы запросов от ВУ на передачу информации через интерфейс.
Один контроллер может использоваться для обеспечения работы нескольких ВУ. Такой контроллер называется групповым. Количество ВУ, подключаемых к шине ввода-вывода, ограничивается следующими факторами:
-предельно допустимой длиной шины ввода-вывода;
-разрядностью адреса ВУ, представляемого на линиях интерфейса.
Структура компьютера с программно управляемым интерфейсом (ПУИ) ввода-вывода.
Запрос
Процессор
КО АВУ
Интерфейс ввода-вывода
…..….
СД К
1
ВУ
1
К
к
ВУ
к
Р
Оперативная память
ис.1.5.2. Структура компьютера с
программно-управляемым интерфейсом
ввода-вывода
В данной структуре (см. рис.1.5.2.), на процессор возлагаются функции обеспечения ввода-вывода и ВУ подключаются через интерфейс ввода-вывода непосредственно к процессору. Команда ввода-вывода содержит код операции (КО) и адрес внешнего устройства (АВУ) и исполняется следующим образом:
Код операции КО и адрес АВУ посылается процессором в шину ввода-вывода;
Контроллеры ВУ сравнивают свои адреса с АВУ. Контроллер с заданным адресом принимает КО и инициирует работу ВУ;
При вводе данных СД предается по шине ввода-вывода в процессор, а при выводе – из процессора в контроллер ВУ, после чего команда ввода-вывода считается выполненной.
(СД - слово данных пересылается специальным устройством ввода-вывода между контроллером и регистром СД.)
Затем процессор обеспечивает обработку слова данных СД, например передачу слова в оперативную память. Передача сегмента данных, состоящего из последовательности слов, программируется совокупностью команд, в которой после команды ввода-вывода выполняются операции передачи СД в оперативную память (или в обратном направлении) и подсчет количества переданных слов.
Таким образом, ввод-вывод каждого слова данных программируется несколькими операциями процессора, и процессор непосредственно обслуживает процесс ввода-вывода.
Процессор, исполняя команду ввода-вывода, может инициировать операции ввода-вывода и, не дожидаясь ее выполнения, продолжить исполнение программы. В этом случае процессор и ВУ работают параллельно во времени. Когда ВУ готово к передаче слова данных, оно формирует сигнал запроса, поступающий в процессор. По этому сигналу работа процессора прерывается с переходом к выполнению программы ввода-вывода, обслуживающей данное ВУ.
Достоинство рассматриваемой структуры – малые затраты оборудования в системе ввода-вывода за счет того, что процессор реализует функции по передаче вводимых/выводимых слов в оперативную память, и по подсчету числа переданных слов.
Однако структуре с программно-управляемым интерфейсом присущи следующие недостатки:
Снижение производительности процессора за счет:
простоев процессора при ожидании передачи данных в ВУ (или обратно)
выполнения процессором операций по обслуживанию передачи
последовательности слов.
Невозможность подключения к интерфейсу ввода-вывода высоко скоростных ВУ, поскольку для передачи данных между процессором и оперативной памятью требуется несколько процессорных операций.
В связи с этим структура с программно управляемым интерфейсом используется в компьютерах с низкой интенсивностью ввода-вывода данных, например в компьютерах встраиваемых в измерительные приборы и другие технические устройства.
Структура компьютера с общей шиной.
ВУ
К
ВУ
К
П ОП КОШ
Рис.1.5.3. Структура компьютера с общей шиной
Все устройства компьютера (см рис.1.5.3.) процессор П, оперативная память ОП и внешние устройства ВУ подключаются к обшей шине , через контроллеры К.
Общая шина состоит из совокупности шин:
шины адреса, по которой передаются адреса ячеек оперативной памяти и ВУ;
шины данных, по которой передаются слова данных;
шины управления, по которой передаются запросы на передачу данных, тип передачи(чтение/запись) и т.п.
Общая шина обслуживает передачу данных между всеми устройствами в режиме мультиплексирования – разделение времени шины между параллельно работающими устройствами(см. рис.1.5.4.). В каждом цикле работы обшей шины, между двумя устройствами передается одно слово данных, например между процессором и оперативной памятью, или же между ВУ и ОП. Распределение времени общей шины между устройствами и управление передачей слов данных обеспечивается контроллером общей шины (КОШ). Контроллер реагирует на запросы от устройств, выделяя наиболее приоритетный запрос, и предоставляет общую шину одному устройству. Устройство формирует адрес ячейки оперативной памяти, тип обращения к памяти(чтение/запись) и получает/передает слово данных. В следующем цикле обслуживается очередное устройство, сформировавшее запрос к общей шине.
Структура с общей шиной позволяет создавать компьютеры с более высокой производительностью, чем на основе программно управляемого интерфейса. Однако это достигается за счет больших затрат оборудования в контроллере общей шины, и контроллере ВУ. Вместе с тем производительность компьютера ограничивается пропускной способностью общейшины, которая обычно составляет 10-50 млн. слов/с(к тому же длина общей шины ограничена)
Чем выше пропускная способность шины, тем меньше ее длина. А этот фактор влияет на количество устройств, подключаемых к общей шине.
t
Рис. 1.5.4. Мультиплексный режим работы канала ввода-вывода (, , - адреса внешних устройств 0,1,2,…)
Структура компьютеров с каналами ввода-вывода.
В этой структуре (см. рис.1.5.5.) процессор полностью освобождается от обслуживания ввода-вывода данных, а выполнение операций ввода-вывода возлагается на каналы ввода-вывода (КВВ).
Команда ввода-вывода, поступающая в процессор в общем потоке команд, содержит адрес (номер) КВВ, адрес внешнего устройства и адрес начала программы ввода-вывода, хранимой в оперативной памяти ОП. Исполняя команду ввода-вывода, процессор только инициирует указанный в команде КВВ и переходит к выполнению следующей команды программы.
К
КВВ
П ОП К
ВУ
К
ВУ
КВВ
К
ВУ
К
ВУ
Рис.1.5.5. Структура
компьютера с каналами ввода-вывода
КВВ реализует следующие функции:
Выборку из ОП управляющего слова канала, содержащего код операции исполняемой КВВ и заданным ВУ, адрес области оперативной памяти, в которую вводятся данные, и длину сегмента вводимых(выводимых) данных;
Выполнение управляющего слова канала путем управления работой внешнего устройства ВУ и передачи данных между ВУ и ОП через интерфейс ввода-вывода. По окончанию передачи сегмента данных КВВ выбирает из ОП следующее управляющее слово канала;
Формирование сигналов, поступающих в процессор, о завершении программы ввода-вывода или особых ситуациях, возникших в процессе выполнения программы (неготовность ВУ, ошибка в данных и т.п.).
При наличии нескольких КВВ одновременно могут исполняться программ ввода-вывода. При этом процессор от обслуживания ввода-вывода и способен обрабатывать данные по другим программам.
КВВ функционирует во времени в следующих режимах:
Мультиплексный режим, при котором ресурсы канала и интерфейса ввода-вывода распределяются поочередно во времени для обслуживания нескольких одновременно работающих внешних устройств. При этом каждое внешнее устройство совместно с КВВ собственную программу ввода-вывода.
Монопольный режим, при котором ресурсы КВВ и интерфейс ввода-вывода предоставляются для обслуживания одного внешнего устройства на весь период передачи блока данных.
Мультиплексный режим обеспечивает одновременную работу низкоскоростных внешних устройств, а монопольный – высокоскоростных, производительность которых близка к предельной пропускной способности интерфейса ввода-вывода и КВВ. КВВ, реализующие мультиплексный и монопольный режимы передачи данных, называют блок- мультиплексными каналами.
Структура компьютеров с каналами ввода-вывода обеспечивает высокую производительность системы ввода-вывода за счет использования нескольких КВВ и параллельной работы многих внешних устройств, подключаемых к одному каналу, в мультиплексном режиме. Высокая производительность системы ввода-вывода обеспечивается за счет значительных затрат аппаратуры, используемой для построения каналов ввода-вывода и организации многоканального доступа к оперативной памяти. По своей сути каналы ввода-вывода являются специализированными процессорами – процессорами ввода-вывода.
1.6. Принцип многоуровневой реализации функций.
Функция (назначение) компьютера – реализация программ. Программы исполняются аппаратурой компьютера: процессором, запоминающими устройствами (ЗУ) и устройствами ввода-вывода (УВВ)(см. рис.1.6.1.), которые взаимодействуют между собой в соответствии с рис.1.4.4 и 1.5.1. Возможности аппаратуры компьютера по вводу-выводу, хранению и обработки информации ограничены технологиями микроэлектроники и электромеханики, позволяющим сделать по приемлемой цене только ограничению по реализуемым функциями и быстродействию аппаратуру. Поскольку возможности аппаратуры ограничены, встает вопрос о разумном по стоимости составе операций, реализуемых аппаратурой компьютера. Состав операций определяют операционные возможности аппаратуры компьютера и, следовательно, состав команд, в которых программируется алгоритмы. Таким образом, аппаратура компьютера устанавливает язык программирования задач, определяющий размер слов, систему команд и операций, размер адресуемой памяти, количество запоминающих устройств и устройств ввода-вывода. Язык программирования компьютера можно рассматривать, как программно-управляемый интерфейс. Существует проблема погружения задач, формулируемых в терминах языка людей, в аппаратуру компьютера, способную выполнять только ограниченный набор операций обработки, хранения и ввода-вывода данных. Эта проблема решается на основе принципа многоуровневой реализации функций.