Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Взаимодействие через управляющее устройство
Взаимодействие между машиной и другими устройствами обычно осуществляется через промежуточное устройство, называемое контроллером. Если в качестве примера взять персональный компьютер, то контроллер будет представлять собой ту монтажную плату, которая вставляется в разъем на основной плате компьютера (материнской плате). С помощью кабелей платы контроллеров соединяются с периферийными устройствами, установленными в самом компьютере, а соединение с внешними устройствами осуществляется через промежуточные разъемы, установленные на задней стенке корпуса компьютера. Каждый контроллер обеспечивает взаимодействие с определенным видом устройства. Некоторые из них разработаны для взаимодействия с монитором, другие отвечают за взаимодействие с дисководами, а есть контроллеры, поддерживающие взаимодействие компьютера с устройствами чтения компакт-дисков. Поэтому иногда вместе с новым периферийным устройством приходится покупать и новый контроллер. Задача контроллера состоит в преобразовании сообщений и данных, которыми обмениваются компьютер и периферийное устройство, в тот формат, который будет совместим с внутренними характеристиками самого компьютера и подключенного к нему устройства. Подобные контроллеры часто представляют собой небольшие специализированные компьютеры с собственной основной памятью и центральным процессором, который выполняет программу, управляющую всеми действиями данного контроллера. Когда контроллер вставляется в один из разъемов на материнской плате компьютера, он электрически подключается к шине, соединяющей ЦП компьютера и его основную память (рис. 2.8). В месте своего подключения каждый контроллер осуществляет непрерывное наблюдение за сигналами, посылаемыми из ЦП машины, и отвечает на те, которые адресованы непосредственно ему. Более того когда контроллер подключен к шине компьютера, он может посылать сигналы чтения и записи непосредственно в основную память машины, используя для этого те микросекунды, когда ЦП не обращается к шине. Подобный тип доступа контроллера к основной памяти называется прямым доступом к памяти (DMA — direct memory access) и является важным средством повышения производительности компьютера. Если в компьютере контроллер дисковых устройств обладает прямым доступом к памяти, то ЦП может посылать ему представленные в виде битовых комбинаций запросы, требующие считать с диска определенный сектор и поместить прочитанные данные в указанный блок ячеек основной памяти. Такой блок ячеек называется буфером. В общем случае буфер представляет такое местоположение, где одна система может оставить данные, к которым позднее сможет получить доступ другая система. Пока контроллер будет выполнять затребованную операцию считывания данных, ЦП может продолжать обработку других заданий. Это означает, что в одно и то же время будут выполняться два разных действия. ЦП будет выполнять программу, а контроллер в это время будет обеспечивать передачу данных между дисковым устройством и основной памятью компьютера. Такой подход позволяет избежать простоя вычислительных ресурсов во время выполнения относительно медленного процесса передачи данных. Рис 2.8 Подключение контроллеров к шине компьютера
Однако механизм DMA оказывает и определенный отрицательный эффект, поскольку при этом увеличивается количество взаимодействий, осуществляемых через шину компьютера. Битовые комбинации должны перемещаться между ЦП и основной памятью, между ЦП и каждым из контроллеров, а также между каждым из контроллеров и основной памятью компьютера. Координация всей этой деятельности, осуществляемой через шину компьютера, является важнейшей задачей конструирования. Даже в самых лучших проектных решениях центральная шина может превратиться в источник помех в работе компьютера, возникающих из-за того, что ЦП и контроллеры соревнуются между собой за доступ к шине. Взаимодействие центрального процессора компьютера и каждого из контроллеров осуществляется по тем же принципам, что и взаимодействие ЦП и основной памяти. Чтобы послать некоторую битовую комбинацию контроллеру, эта комбинация должна быть сначала создана в одном из регистров общего назначения процессора. Затем ЦП выполняет команду, подобную STORE, которая позволяет " записать" эту комбинацию в контроллер. Следовательно, единственное отличие между записью битовой комбинации в основную память и пересылкой битовой комбинации в контроллер заключается только в месте назначения для доставки комбинации. И действительно, в машинном языке многих компьютеров выполняемая в обоих этих случаях операция имеет один и тот же код. Как правило, при этом схемы основной памяти машины разрабатываются таким образом, чтобы игнорировать ссылки на определенные ячейки памяти, тогда как контроллеры конструируются так, чтобы реагировать только на ссылки к этим ячейкам. Поэтому когда ЦП посылает сообщение на шину для записи данных в эти особые ячейки памяти, их получает соответствующий контроллер, а не основная память компьютера. Аналогичным образом, когда ЦП пытается считать данные из этих ячеек памяти, например с помощью команды LOAD, он получит битовую комбинацию не из основной памяти, а из соответствующего контроллера. Такая схема взаимодействия называется отображением ввода/вывода в память, поскольку различные устройства ввода/вывода компьютера представлены для ЦП как определенные ячейки памяти. Адреса памяти, выделенные контроллерам при использовании подобной схемы, называются портами, каждый из которых представляет определенное " местоположение", через которое информация попадает в машину или выводится из нее (рис. 2.9). Рис. 2.9 Концептуальная схема метода отображения ввода/вывода в память
Передача данных между двумя компонентами компьютера редко бывает односторонним действием. На первый взгляд может показаться, что принтер является устройством, которое способно только получать данные, однако в действительности оно способно посылать данные обратно в компьютер. В самом деле, компьютер способен подготавливать символы и передавать их принтеру намного быстрее, чем принтер сможет их печатать. Если компьютер будет передавать данные на принтер вслепую то принтер быстро начнет отставать, что может привести к потере данных. Поэтому такой процесс, как печать документа, предусматривает постоянный двусторонний диалог, в процессе которого компьютер и периферийное устройство обмениваются информацией о текущем состоянии устройства. Такой диалог часто предусматривает использование слова состояния устройства, т.е. определенной битовой комбинации, которая генерируется периферийным устройством и посылается его контроллеру. Биты в слове состояния отражают текущее состояние устройства. Если вернуться к примеру с принтером, то значение младшего бита слова состояния может указывать, что в принтере закончилась бумага, тогда как следующий бит в этом слове указывает, готов ли принтер к приему очередной порции информации. В зависимости от выбранной системы, контроллер либо сам реагирует на подобную информацию о состоянии устройства, либо передает ее на обработку в ЦП. В каждом случае либо программа в контроллере, либо программа, выполняемая центральным процессором, должна быть разработана так, чтобы задержать пересылку данных на принтер до тех пор, пока от него не будет получена соответствующая информация о состоянии.
Скорость передачи данных
Скорость, с которой биты передаются от одного вычислительного компонента к другому, измеряется в битах в секунду (бит/с). Широкое распространение также получили такие единицы измерения, как Кбит/с (килобит в секунду, равный 1000 бит/с), Мбит/с (мегабит в секунду, равный миллиону бит/с) и Гбит/с (гигабит в секунду, равный миллиарду бит/с). В каждом случае максимальная скорость передачи данных зависит от типа используемой линии связи и технологии, примененной для ее реализации. Существуют два основных типа соединений: параллельный и последовательный. Указанные термины определяют способ, который используется для передачи отдельных битов в комбинации по отношению друг к другу. При параллельной передаче несколько битов передаются одновременно, каждый по отдельной линии связи. Такой способ позволяет повысить скорость передачи данных, однако требует использования относительно сложных соединений. В качестве примеров таких соединений можно привести внутреннюю шину компьютера и большинство соединений между компьютером и его периферийными устройствами, например устройствами массовой памяти или принтерами. В этих случаях скорость передачи данных измеряется обычно в Мбит/с и даже выше.
Конструкция шины
Конструирование шины компьютера всегда было очень сложной задачей. Например, проводники в плохо разработанной шине способны вести себя как небольшие антенны и ловить сигналы различных передач (радио, телевидение и т.д.), что вызывает нарушения во взаимодействиях центрального процессора компьютера, его основной памяти и периферийных устройств. Более того, длина шины (у настольного компьютера она равна примерно пятнадцати сантиметрам) намного превышает длину " проводников" внутри центрального процессора (длина которых измеряется в микронах). Поэтому прохождение сигналов через шину занимает существенно больше времени, чем требуется для передачи сигналов внутри центрального процессора. В результате технология изготовления шин находится в постоянной погоне за бурно развивающимися технологиями центральных процессоров. В современных компьютерах используется ряд различных конструкций шин. Основные отличия этих шин заключаются в объеме передаваемой одновременно информации, скорости изменения сигналов в шине, а также в физических свойствах соединений между шиной и платами контроллеров. Важнейшими типами используемых в настоящее время шин являются ISA (Industrial Standard Architecture- стандартная промышленная архитектура), EISA (Extended Industrial Standard Architecture - усовершенствованная стандартная промышленная архитектура) и PCI (Peripheral Component Interconnect - соединение периферийных компонентов). Различают шины параллельные и последовательные. Параллельные шины представляют собой несколько параллельных линий, каждая из которых за один такт передает один бит, а следовательно, вся шина передает некоторую последовательность бит. В противоположность этому, при последовательной передаче в каждый момент по соединению передается только один бит данных. В результате передача данных происходит медленнее, однако соединение более простое, так как все биты последовательно, один за другим, передаются по одной и той же линии связи. Последовательные соединения чаще всего используются для связи между разными компьютерами, где простота соединений позволяет достичь существенной экономии ресурсов. Например, существующие телефонные линии, как раньше, так и сейчас, представляют собой основное средство обеспечения связи между компьютерами. Используемые для этого средства унаследовали от телефонных сетей принцип последовательной передачи данных с помощью звуковых сигналов. Взаимодействие компьютеров через подобные линии связи осуществляется посредством преобразования исходных битовых комбинаций в звуковые сигналы с помощью специальных устройств, называемых модемами (сокращение от модулятор-демодулятор). Затем полученные звуковые сигналы последовательно, один за другим, посылаются по телефонным линиям, после чего на приемной стороне вновь преобразуются другим модемом в битовые комбинации. На практике простое представление битовых комбинаций в виде звуковых сигналов различной частоты (что называется частотной манипуляцией) используется только при низкоскоростных передачах со скоростью до 1200 бит/с. Для того чтобы добиться скорости 2400 бит/с, 9600 бит/с и выше, модем комбинирует изменения частоты тона, его амплитуды (громкости) и фазы (степени задержки передачи сигнала). А для достижения еще более высоких скоростей передачи данных часто применяются способы сжатия данных, что позволяет получить скорость передачи до 57, 6 Кбит/с. Такая скорость передачи данных является предельной для обычных телефонных линий, хотя этот уровень уже не удовлетворяет запросы современных пользователей. Время, необходимое для передачи обычной фотографии (файл, размером приблизительно в один мегабайт), при скорости 57, 6 Кбит/с измеряется в минутах. В результате передача видеоинформации со скоростью, соответствующей скорости ее просмотра, оказывается практически невозможной. Поэтому разработка новых технологий межкомпьютерной связи имеет весьма важное значение. В качестве примера можно привести разработку оптоволоконного кабеля, допускающего передачу данных со скоростью, измеряемой в сотнях Мбит/с и даже Гбит/с.
Другие типы архитектуры компьютеров
Для расширения кругозора целесообразно рассмотреть некоторые варианты архитектуры построения компьютеров, отличающиеся от той архитектуры, речь о которой шла в предыдущих разделах этой главы.
Популярное:
|
Последнее изменение этой страницы: 2016-03-25; Просмотров: 1070; Нарушение авторского права страницы