Сделай Сам Свою Работу на 5

Системные и локальные шины





Организация ввода-вывода

 

Вопросы организации ввода/вывода в вычислительной системе иногда оказываются вне внимания потребителей. Это привело к тому, что при оценке производительности системы часто используются только оценки производительности процессора, а оценкой системы ввода/вывода пренебрегают. Такое отношение к системам ввода/вывода, как к некоторым не очень важным понятиям, проистекает также из термина "периферия", который применяется к устройствам ввода/вывода.

Однако это противоречит здравому смыслу. Компьютер без устройств ввода/вывода - как автомобиль без колес - на таком автомобиле далеко не уедешь. Очевидно одной из наиболее правильных оценок производительности системы является время ответа (время между моментом ввода пользователем задания и получения им результата), которое учитывает все накладные расходы, связанные с выполнением задания в системе, включая ввод/вывод.

 

Кроме того, важность системы ввода/вывода определяется еще и тем, что быстрое увеличение производительности процессоров настолько изменило принципы классификации компьютеров, что именно по организации ввода/вывода мы можем как-то грубо их отличать: разница между мейнфреймом и миникомпьютером заключается в том, что мейнфрейм может поддерживать намного больше терминалов и дисков; разница между миникомпьютером и рабочей станцией заключается в том, что рабочая станция имеет экран, клавиатуру и мышь; разница между файл-сервером и рабочей станцией заключается в том, что файл-сервер имеет диски и ленточные устройства, а экран, клавиатура и мышь отсутствуют; разница между рабочей станцией и персональным компьютером заключается лишь в том, что рабочие станции всегда соединены друг с другом с помощью локальной сети.



 

Уже сейчас мы можем наблюдать, что в компьютерах различного ценового класса от рабочих станций до суперкомпьютеров (суперсерверов) используется один и тот же тип микропроцессора. Различия в стоимости и производительности определяются практически только организацией систем памяти и ввода/вывода (а также количеством процессоров).

 

Как уже отмечалось, производительность процессоров растет со скоростью 50-100% в год. Если одновременно не улучшались бы характеристики систем ввод/вывода, то, очевидно, разработка новых систем зашла бы в тупик. Важность оценки работы систем ввода/вывода была осознана многими пользователями компьютеров. Были разработаны специальные тестовые программы, позволяющие оценить эффективность систем ввода/вывода. В частности, такие тесты применяются для оценки суперкомпьютеров, систем обработки транзакций и файл-серверов.



Терминалы

Терминалы компьютера состоят из двух частей: клавиатуры и монитора. В больших компьютерах эти части соединены в одно устройство и связаны с самим компьютером обычным или телефонным проводом. В авиакомпаниях, банках и различных отраслях промышленности, где работают с такими компьютерами, эти устройства до сих пор широко применимы. В мире персональных компьютеров клавиатура и монитор — независимые устройства. Но и в том и в другом случае технология этих двух частей одна и та же.

Клавиатуры

Существует несколько видов клавиатур. У первых компьютеров IBM PC под каждой клавишей находился переключатель, который давал ощутимую отдачу и щелкал при нажатии клавиши. Сегодня у самых дешевых клавиатур при нажатии клавиш происходит лишь механический контакт с печатной платой. У клавиатур получше между клавишами и печатной платой кладется слой из эластичного материала (особого типа резины). Под каждой клавишей находится небольшой купол, который прогибается в случае нажатия клавиши. Проводящий материал, находящийся внутри купола, замыкает схему. У некоторых клавиатур под каждой клавишей находится магнит, который при нажатии клавиши проходит через катушку и таким образом вызывает электрический ток. Также используются другие методы, как механические, так и электромагнитные



Жидкокристаллические мониторы

Электронно-лучевые трубки слишком громоздкие и тяжелые для использования в портативных компьютерах, поэтому для таких экранов необходима совершенно другая технология. В таких случаях чаще всего используются жидкокристаллические дисплеи. Эта технология чрезвычайно сложна, имеет несколько вариантов воплощения и быстро меняется

Символьные терминалы

Обычно используются три типа терминалов: символьные терминалы, графические терминалы и терминалы RS-232-C. Все эти терминалы в качестве входных данных получают набор с клавиатуры, но при этом они отличаются друг от друга тем, каким образом компьютер обменивается с ними информацией, и тем, каким образом передаются выходные данные. Ниже мы кратко опишем каждый из этих типов.

В персональном компьютере существует два способа вывода информации на экран: символьный и графический. На рис. 2.28 показано, как происходит символьное отображение информации на экране (клавиатура считается отдельным устройством). На серийной плате связи находится область памяти, которая называется видеопамятью, а также несколько электронных устройств для получения доступа к шине и генерирования видеосигналов.

Графические терминалы

При втором способе вывода информации на экран видеопамять рассматривается не как массив символов 25x80, а как массив элементов изображения, которые называются пикселами. Каждый пиксел может быть включен или выключен. Он представляет один элемент информации. В персональных компьютерах монитор может содержать 640x480 пикселов, но чаще используются мониторы 800x600 и более.

Мониторы рабочих станций обычно содержат 1280x960 пикселов и более. Терминалы, отображающие биты, а не символы, называются графическими терминалами. Все современные видеоплаты могут работать или как символьные, или как графические терминалы под контролем программного обеспечения.

Мыши

Время идет, а люди работают за компьютером, все меньше и меньше вдаваясь в принципы его работы. Компьютеры серии ENIAC использовались только теми, кто их конструировал. В 50-е годы с компьютерами работали только высококвалифицированные программисты. Сейчас за компьютерами работают многие люди, при этом они не знают (или даже не хотят знать), как работают компьютеры и как они программируются.

Много лет назад у большинства компьютеров был интерфейс с командной строкой, в которой набирались различные команды. Поскольку многие неспециалисты считали такие интерфейсы недружелюбными или даже враждебными, компьютерные фирмы разработали специальные интерфейсы с возможностью указания на экран. Для создания такой возможности чаще всего используется мышь.

Мышь — это маленькая пластиковая коробка, которая лежит на столе рядом с клавиатурой. Если ее двигать по столу, курсор на экране тоже будет двигаться, позволяя пользователям указывать на элементы экрана. У мыши есть одна, две или три кнопки, нажатие на которые дает возможность пользователям выбирать строки меню. Было очень много споров по поводу того, сколько кнопок должно быть у мыши. Наивные пользователи предпочитали одну (так как в этом случае невозможно нажать не ту кнопку), но более продвинутые предпочитали несколько кнопок, чтобы можно было на экране выполнять сложные действия.

Существует три типа мышей: механические, оптические и оптомеханические.

У мышей первого типа снизу торчат резиновые колесики, оси которых расположены перпендикулярно друг к другу. Если мышь передвигается в вертикальном направлении, то вращается одно колесо, а если в горизонтальном, то другое. Каждое колесико приводит в действие резистор (потенциометр). Если измерить изменения сопротивления, можно узнать, на сколько провернулось колесико, и таким образом вычислить, на какое расстояние передвинулась мышь в каждом направле

нии. В последние годы такие мыши были практически полностью вытеснены новой моделью, в которой вместо колес используется шарик, который слегка высовывается снизу.

Следующий тип — оптическая мышь. У нее нет ни колес, ни шарика. Вместо этого используются светодиод и фотодетектор, расположенный в нижней части мыши. Оптическая мышь перемещается по поверхности особого пластикового коврика, который содержит прямоугольную решетку с линиями, близко расположенными друг к другу. Когда мышь двигается по решетке, фотодетектор воспринимает пересечения линий, наблюдая изменения в количестве света, отражаемого от светодиода. Электронное устройство внутри мыши подсчитывает количество пересеченных линий в каждом направлении.

Третий тип — оптомеханическая мышь. У нее, как и у более современной механической мыши, есть шарик, который вращает два вывода, расположенных перпендикулярно друг к другу. Выводы связаны с кодировщиками. В каждом кодировщике имеются прорези, через которые проходит свет. Когда мышь двигается, выводы вращаются и световые импульсы воздействуют на детекторы каждый раз, когда между светодиодом и детектором появляется прорезь. Число воспринятых детектором импульсов пропорционально количеству перемещения.

Принтеры

Иногда пользователю нужно напечатать созданный документ или страницу, полученную из World Wide Web, поэтому компьютеры могут быть оснащены принтером. В этом разделе мы опишем некоторые наиболее распространенные типы монохромных (то есть черно-белых) и цветных принтеров.

Монохромные принтеры

Самыми дешевыми являются матричные принтеры, у которых печатающая головка последовательно проходит каждую строку печати. эта технология самая дешевая.

Дома удобно использовать недорогие струйные принтеры. Подвижная печатающая головка содержит картридж с чернилами. Она двигается горизонтально над бумагой, а чернила в это время выпрыскиваются из крошечных выпускных отверстий. Внутри каждого отверстия капля чернил нагревается до критической точки и в конце концов вырывается наружу Единственное место, куда она может попасть

из отверстия, — лист бумаги. Затем выпускное отверстие охлаждается, в результате создается вакуум, который втягивает следующую каплю. Скорость работы принтера зависит от того, насколько быстро повторяется цикл нагревания/охлаждения.

Вероятно, самым удивительным изобретением в области печатных технологий со времен Иоганна Гутенберга, который изобрел подвижную литеру в XV веке, является лазерный принтер. Это устройство сочетает хорошее качество печати, универсальность, высокую скорость работы и умеренную стоимость. В лазерных принтерах используется почти такая же технология, как в фотокопировальных устройствах. Многие компании производят устройства, совмещающие свойства копировальной машины, принтера и иногда также факс

Цветные принтеры

Цветные изображения могут передаваться двумя способами: с помощью поглощенного света и с помощью отраженного света. Поглощенный свет используется, например, при создании изображений в электронно-лучевых мониторах. В данном случае изображение строится путем аддитивного наложения трех основных цветов' красного, зеленого и синего.

Модемы

С появлением большого количества компьютеров в последние годы возникла необходимость установить связь между компьютерами. Например, можно связать свой домашний компьютер с компьютером на работе, с поставщиком услуг Интернета или банковской системой, Для обеспечения такой связи часто используется телефонная линия.

Почти все современные модемы являются дуплексными, то есть могут передавать информацию в обоих направлениях одновременно, используя различные частоты. Модемы и линии связи, которые не могут передавать информацию в обоих направлениях одновременно (как железная дорога, по которой поезда могут ходить и в северном, и в южном направлениях, но не в одно и то же время), называются полудуплексными. Линии связи, которые могут передавать информацию только в одном направлении, называются симплексными.

Системные и локальные шины

В вычислительной системе, состоящей из множества подсистем, необходим механизм для их взаимодействия. Эти подсистемы должны быстро и эффективно обмениваться данными. Например, процессор, с одной стороны, должен быть связан с памятью, с другой стороны, необходима связь процессора с устройствами ввода/вывода. Одним из простейших механизмов, позволяющих организовать взаимодействие различных подсистем, является единственная центральная шина, к которой подсоединяются все подсистемы. Доступ к такой шине разделяется между всеми подсистемами. Подобная организация имеет два основных преимущества: низкая стоимость и универсальность. Поскольку такая шина является единственным местом подсоединения для разных устройств, новые устройства могут быть легко добавлены, и одни и те же периферийные устройства можно даже применять в разных вычислительных системах, использующих однотипную шину. Стоимость такой организации получается достаточно низкой, поскольку для реализации множества путей передачи информации используется единственный набор линий шины, разделяемый множеством устройств.

 

Главным недостатком организации с единственной шиной является то, что шина создает узкое горло, ограничивая, возможно, максимальную пропускную способность ввода/вывода. Если весь поток ввода/вывода должен проходить через центральную шину, такое ограничение пропускной способности весьма реально. В коммерческих системах, где ввод/вывод осуществляется очень часто, а также в суперкомпьютерах, где необходимые скорости ввода/вывода очень высоки из-за высокой производительности процессора, одним из главных вопросов разработки является создание системы нескольких шин, способной удовлетворить все запросы.

 

Одна из причин больших трудностей, возникающих при разработке шин, заключается в том, что максимальная скорость шины главным образом лимитируется физическими факторами: длиной шины и количеством подсоединяемых устройств (и, следовательно, нагрузкой на шину). Эти физические ограничения не позволяют произвольно ускорять шины. Требования быстродействия (малой задержки) системы ввода/вывода и высокой пропускной способности являются противоречивыми. В современных крупных системах используется целый комплекс взаимосвязанных шин, каждая из которых обеспечивает упрощение взаимодействия различных подсистем, высокую пропускную способность, избыточность (для увеличения отказоустойчивости) и эффективность.

 

Традиционно шины делятся на шины, обеспечивающие организацию связи процессора с памятью, и шины ввода/вывода. Шины ввода/вывода могут иметь большую протяженность, поддерживать подсоединение многих типов устройств, и обычно следуют одному из шинных стандартов. Шины процессор-память, с другой стороны, сравнительно короткие, обычно высокоскоростные и соответствуют организации системы памяти для обеспечения максимальной пропускной способности канала память-процессор. На этапе разработки системы, для шины процессор-память заранее известны все типы и параметры устройств, которые должны соединяться между собой, в то время как разработчик шины ввода/вывода должен иметь дело с устройствами, различающимися по задержке и пропускной способности.

 

Как уже было отмечено, с целью снижения стоимости некоторые компьютеры имеют единственную шину для памяти и устройств ввода/вывода. Такая шина часто называется системной. Персональные компьютеры, как правило, строятся на основе одной системной шины в стандартах ISA, EISA или MCA. Необходимость сохранения баланса производительности по мере роста быстродействия микропроцессоров привела к двухуровневой организации шин в персональных компьютерах на основе локальной шины. Локальной шиной называется шина, электрически выходящая непосредственно на контакты микропроцессора. Она обычно объединяет процессор, память, схемы буферизации для системной шины и ее контроллер, а также некоторые вспомогательные схемы. Типичными примерами локальных шин являются VL-Bus и PCI.

 

Рассмотрим типичную транзакцию на шине. Шинная транзакция включает в себя две части: посылку адреса и прием (или посылку) данных. Шинные транзакции обычно определяются характером взаимодействия с памятью: транзакция типа "Чтение" передает данные из памяти (либо в ЦП, либо в устройство ввода/вывода), транзакция типа "Запись" записывает данные в память. В транзакции типа "Чтение" по шине сначала посылается в память адрес вместе с соответствующими сигналами управления, индицирующими чтение. Память отвечает, возвращая на шину данные с соответствующими сигналами управления. Транзакция типа "Запись" требует, чтобы ЦП или устройство в/в послало в память адрес и данные и не ожидает возврата данных. Обычно ЦП вынужден простаивать во время интервала между посылкой адреса и получением данных при выполнении чтения, но часто он не ожидает завершения операции при записи данных в память.

 

Разработка шины связана с реализацией ряда дополнительных возможностей (рис. 9.1). Решение о выборе той или иной возможности зависит от целевых параметров стоимости и производительности. Первые три возможности являются очевидными: раздельные линии адреса и данных, более широкие (имеющие большую разрядность) шины данных и режим групповых пересылок (пересылки нескольких слов) дают увеличение производительности за счет увеличения стоимости.

 

Следующий термин, указанный в таблице, - количество главных устройств шины (bus master). Главное устройство шины - это устройство, которое может инициировать транзакции чтения или записи. ЦП, например, всегда является главным устройством шины. Шина имеет несколько главных устройств, если имеется несколько ЦП или когда устройства ввода/вывода могут инициировать транзакции на шине. Если имеется несколько таких устройств, то требуется схема арбитража, чтобы решить, кто следующий захватит шину. Арбитраж часто основан либо на схеме с фиксированным приоритетом, либо на более "справедливой" схеме, которая случайным образом выбирает, какое главное устройство захватит шину.

 

В настоящее время используются два типа шин, отличающиеся способом коммутации: шины с коммутацией цепей (circuit-switched bus) и шины с коммутацией пакетов (packet-switched bus), получившие свои названия по аналогии со способами коммутации в сетях передачи данных. Шина с коммутацией пакетов при наличии нескольких главных устройств шины обеспечивает значительно большую пропускную способность по сравнению с шиной с коммутацией цепей за счет разделения транзакции на две логические части: запроса шины и ответа. Такая методика получила название "расщепления" транзакций (split transaction). (В некоторых системах такая возможность называется шиной соединения/разъединения (connect/disconnect) или конвейерной шиной (pipelined bus). Транзакция чтения разбивается на транзакцию запроса чтения, которая содержит адрес, и транзакцию ответа памяти, которая содержит данные. Каждая транзакция теперь должна быть помечена (тегирована) соответствующим образом, чтобы ЦП и память могли сообщить что есть что.

 

Шина с коммутацией цепейне делает расщепления транзакций, любая транзакция на ней есть неделимая операция. Главное устройство запрашивает шину, после арбитража помещает на нее адрес и блокирует шину до окончания обслуживания запроса. Большая часть этого времени обслуживания при этом тратится не на выполнение операций на шине (например, на задержку выборки из памяти). Таким образом, в шинах с коммутацией цепей это время просто теряется. Расщепленные транзакции делают шину доступной для других главных устройств пока память читает слово по запрошенному адресу. Это, правда, также означает, что ЦП должен бороться за шину для посылки данных, а память должна бороться за шину, чтобы вернуть данные. Таким образом, шина с расщеплением транзакций имеет более высокую пропускную способность, но обычно она имеет и большую задержку, чем шина, которая захватывается на все время выполнения транзакции. Транзакция называется расщепленной, поскольку произвольное количество других пакетов или транзакций могут использовать шину между запросом и ответом.

Последний вопрос связан с выбором типа синхронизации и определяет является ли шина синхронной или асинхронной. Если шина синхронная, то она включает сигналы синхронизации, которые передаются по линиям управления шины, и фиксированный протокол, определяющий расположение сигналов адреса и данных относительно сигналов синхронизации. Поскольку практически никакой дополнительной логики не требуется для того, чтобы решить, что делать в следующий момент времени, эти шины могут быть и быстрыми, и дешевыми. Однако они имеют два главных недостатка. Все на шине должно происходить с одной и той же частотой синхронизации, поэтому из-за проблемы перекоса синхросигналов, синхронные шины не могут быть длинными. Обычно шины процессор-память синхронные.

 

Асинхронная шина, с другой стороны, не тактируется. Вместо этого обычно используется старт-стопный режим передачи и протокол "рукопожатия" (handshaking) между источником и приемником данных на шине. Эта схема позволяет гораздо проще приспособить широкое разнообразие устройств и удлинить шину без беспокойства о перекосе сигналов синхронизации и о системе синхронизации. Если может использоваться синхронная шина, то она обычно быстрее, чем асинхронная, из-за отсутствия накладных расходов на синхронизацию шины для каждой транзакции. Выбор типа шины (синхронной или асинхронной) определяет не только пропускную способность, но также непосредственно влияет на емкость системы ввода/вывода в терминах физического расстояния и количества устройств, которые могут быть подсоединены к шине. Асинхронные шины по мере изменения технологии лучше масштабируются. Шины ввода/вывода обычно асинхронные.

 

Краткое содержание главы

Компьютерные системы состоят из трех типов компонентов: процессоров, памяти и устройств ввода-вывода. Задача процессора заключается в том, чтобы последовательно вызывать команды из памяти, декодировать и выполнять их. Цикл вызов—декодирование—выполнение всегда можно представить в виде алгоритма.

Вызов, декодирование и выполнение команд определенной программы иногда выполняются программой-интерпретатором, работающей на более низком уровне.

Для повышения скорости работы во многих компьютерах имеется один или несколько конвейеров или суперскалярная архитектура с нескольким функциональными блоками, которые действуют параллельно.

Широко распространены системы с несколькими процессорами. Компьютеры с параллельной обработкой включают векторные процессоры, в которых одна и та же операция выполняется одновременно над разными наборами данных, мультипроцессоры, в которых несколько процессоров разделяют общую память, и мультикомпьютеры, в которых у каждого компьютера есть своя собственная память, но при этом компьютеры связаны между собой и пересылают друг другу сообщения.

Память можно разделить на основную и вспомогательную. Основная память используется для хранения программ, которые выполняются в данный момент. Время доступа невелико (максимум несколько десятков наносекунд) и не зависит от адреса, к которому происходит обращение Кэш-память еще больше сокращает время доступа. Память может быть оснащена кодом с исправлением ошибок для повышения надежности.

Время доступа к вспомогательной памяти, напротив, гораздо больше (от нескольких миллисекунд и более) и зависит от расположения считываемых и записываемых данных. Наиболее распространенные виды вспомогательной памяти — магнитные ленты, магнитные диски и оптические диски. Магнитные диски существуют в нескольких вариантах: дискеты, винчестеры, IDE-диски, SCSI-диски и RAID-массивы. Среди оптических дисков можно назвать компакт-диски, диски

CD-R и DVD.

Устройства ввода-вывода используются для передачи информации в компьютер и из компьютера Они связаны с процессором и памятью одной или несколькими шинами В качестве примеров можно назвать терминалы, мыши, принтеры и модемы. Большинство устройств ввода-вывода используют код ASCII, хотя UNICODE уже стремительно распространяется по всему миру.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.