ВУЗ:
Рис. 2.8. Подключение контроллеров к шине компьютера
Набор адресов, соответствующих контроллеру, называется портом (port), так как они представляют собой "место", через
которое информация входит в компьютер и выходит из него. Поскольку адреса ввода–вывода могут иметь такой же вид, как
адреса ячеек оперативной памяти, шины компьютеров снабжены сигналом, который показывает, передается сообщение в
оперативную память или в контроллер. Следовательно, на команду ввода–вывода отослать содержимое регистра определен-
ному контроллеру центральный процессор будет реагировать так же, как на команду отослать цепочку битов в определен-
ную ячейку памяти, только при этом он выставит сигнал, который сообщит устройствам, подключенным к шине, что цепоч-
ка битов предназначена для такого-то контроллера, а не для оперативной памяти.
Альтернативой включению в машинный язык специальных кодов операций для команд ввода–вывода является исполь-
зование команд загрузки и сохранения, которые уже существуют в языке для коммуникации с оперативной памятью. В этом
случае контроллер отвечает только на определенный уникальный набор адресов (который также называется портом), а опе-
ративная память игнорирует эти ячейки. Таким образом, когда центральный процессор посылает сообщение шине о том, что
нужно сохранить цепочку битов по адресу, приписанному к контроллеру, ее и получает контроллер, а не оперативная па-
мять. Точно так же, если центральный процессор пытается прочитать данные из такого адреса, указанного в команде загруз-
ки, то он получит последовательность битов из контроллера, а не из памяти. Такая система связи называется отображением вво-
да/вывода в память (memory-mapped I/O), потому что устройства ввода–вывода компьютера представляются как различные
ячейки памяти (рис. 2.9).
Поскольку контроллер подключен к шине компьютера, он может сам связываться с оперативной памятью в течение тех
наносекунд, когда центральный процессор не использует шину. Подобный тип доступа контроллера к основной памяти на-
зывается прямым доступом к памяти (DMA – direct memory access) и является важным средством повышения производи-
тельности компьютера. Если в компьютере контроллер дисковых устройств обладает прямым доступом к памяти, то ЦП мо-
жет посылать ему представленные в виде битовых комбинаций запросы, требующие считать с диска определенный сектор и
поместить прочитанные данные в указанный блок ячеек основной памяти.
Рис. 2.9. Концептуальная схема отображения ввода–вывода в память
Такой блок ячеек называется буфером. В общем случае буфер представляет такое местоположение, где одна система может
оставить данные, к которым позднее сможет получить доступ другая система. Пока контроллер будет выполнять затребо-
ванную операцию считывания данных, ЦП может продолжать обработку других заданий. Это означает, что в одно и то же
время будут выполняться два разных действия. ЦП будет выполнять программу, а контроллер в это время будет обеспечи-
вать передачу данных между дисковым устройством и основной памятью компьютера. Такой подход позволяет избежать
простоя вычислительных ресурсов во время выполнения относительно медленного процесса передачи данных.
Однако механизм DMA оказывает и определенный отрицательный эффект, поскольку при этом увеличивается количе-
ство взаимодействий, осуществляемых через шину компьютера. Битовые комбинации должны перемещаться между ЦП и
основной памятью, между ЦП и каждым из контроллеров, а также между каждым из контроллеров и основной памятью ком-
пьютера. Координация всей этой деятельности, осуществляемой через шину компьютера, является важнейшей задачей кон-
струирования. Даже в самых лучших проектных решениях центральная шина может превратиться в источник помех в работе
компьютера, возникающих из-за того, что ЦП и контроллеры соревнуются между собой за доступ к шине.
Наконец, следует заметить, что передача данных между двумя компонентами компьютера редко бывает односторонним
действием. На первый взгляд может показаться, что принтер является устройством, которое способно только получать дан-
ные, однако в действительности оно способно посылать данные обратно в компьютер. В самом деле, компьютер способен
подготавливать символы и передавать их принтеру намного быстрее, чем принтер сможет их печатать. Если компьютер бу-
дет передавать данные на принтер вслепую, то принтер быстро начнет отставать, что может привести к потере данных. По-
этому такой процесс, как печать документа, предусматривает постоянный двусторонний диалог, в процессе которого компь-
ютер и периферийное устройство обмениваются информацией о текущем состоянии устройства.
Страницы
- « первая
- ‹ предыдущая
- …
- 41
- 42
- 43
- 44
- 45
- …
- следующая ›
- последняя »
