Ввод/вывод
Last updated
Was this helpful?
Last updated
Was this helpful?
Физическая структура большинства персональных компьютеров и рабочих станций представляет собой металлический корпус с маткой на дне. Материнская плата содержит микросхему процессора, несколько разъемов для модулей DIMM и различные вспомогательные микросхемы. Еще на материнской плате располагаются шина (она тянется вдоль платы) и несколько разъемов для подсоединения устройств ввода-вывода.
У данного компьютера имеется одна шина для соединения центрального процессора, памяти и устройств ввода-вывода(большинство систем имеют две и более шин). Каждое устройство ввода-вывода состоит из двух частей: контроллер объединяет большую часть электроники, а другая, например, дисковод представляет собой само устройство ввода-вывода. Контроллер обычно располагается на плате, которая вставляется в свободный разъем. Исключение представляют собой контроллеры устройств, являющихся неотъемлемыми составными частями компьютера (например, клавиатуры), которые иногда располагаются на материнской плате. Хотя дисплей (монитор) и нельзя назвать дополнительным устройством, соответствующий контроллер иногда располагается на встроенной плате, чтобы пользователь мог по желанию выбирать платы с графическими ускорителями или без них, устанавливать дополнительную память и т.д. Контроллер связывается с самим устройством кабелем, который соединяется с разъемом на задней стороне корпуса.
Контроллер управляет своим устройством ввода-вывода и для этого регулирует доступ к шине. Например, если программа запрашивает данные с диска, она посылает команду контроллеру диска, который затем отправляет диску команду поиска и другие команды. После нахождения соответствующей дорожки и сектора диск начинает передавать контроллеру данные в виде потока битов. Задача контроллера состоит в том, чтобы разбить поток битов на фрагменты и записывать каждый такой фрагмент по мере накопления битов для него в память.
Отдельный фрагмент обычно представляет собой одно или несколько слов. Если контроллер считывает данные из памяти или записывает их в память без участия центрального процессора, то говорят, что осуществляется прямой доступ к памяти (Direct Memory Access, DMA). Когда передача данных заканчивается, контроллер выдает прерывание, вынуждая центральный процессор приостановить работу текущей программы и начать выполнение программой обработки прерываний. Она нужна для того, чтобы проверить, нет ли ошибок, в случае их обнаружения произвести необходимые действия и сообщить операционной системе, что процесс ввода-вывода завершен. Когда программа обработки прерывания завершается, процессор возобновляет работу программы, которая была приостановлена в момент прерывания.
Шиной пользуются еще и процессор для передачи команд и данных. Если процессор и контроллер ввода-вывода хотят получить доступ к шине одновременно арбитр шины, решает, чья очередь первая. Обычно предпочтение отдается устройствам ввода-вывода, поскольку работу дисков и других движущихся устройств нельзя прерывать, так как это может привести к потере данных. Когда ни одного устройства ввода-вывода не функционирует, центральный процессор может полностью распоряжаться шиной для взаимодействием с памятью. Устройство ввода/вывода будет всегда получать доступ к шине, когда это необходимо. Этот процесс, который притормаживает работу компьютера, называется захватом цикла памяти (cycle stealing).
PCI (Peripheral Component Interconnect — взаимодействие периферийных компонентов), обновленная версия стандартной шины ISA с более высокой скоросью и разрядностью параллельно передаваемых данных.
Типичная конфигурация шины PCI представлена ниже. Центральный процессор взаимодействует с контролером памяти по выделенному высокоскоростному соединению. Таким образом, контроллер соединяется с памятью непосредственно, то есть передача данных между центральным процессором и памятью происходит не через шину PCI. Другие периферийные устройства подсоединяются прямо к шине PCI. Машина такого типа обычно содержит 2 или 3 пустых разъема PCI для новых периферийных устройств).
Вскоре шина PCI была заменена PCIe из-за высокой скорости. Многие современные компьютеры поддерживают обе шины, благодаря чему пользователи могут подключать новые, быстрые устройства к шине PCIe, а старые, более медленные — к шине PCI.
PCIe это не шина, а одноранговая сеть, использующая разряднопоследовательные линии и коммутацию пакетов. У нее больше от Интернета, чем от традиционных шин.
Во-первых, соединения между устройствами являются последовательными, то есть имеют разрядность в один бит вместо 8, 16, 32 или 64 бит. Объем передачи данных компенсируется высокой скоростью. Шины PCI работают на максимальной тактовой частоте 66 МГц. При передаче 64 бит за такт скорость передачи данных составляет 528 Мбайт/с. При тактовой частоте 8 Гбит/с, даже в случае последовательной передачи, скорость передачи по шине PCIe составляет 1 Гбайт/с. Кроме того, обмен данными между устройством и корневым комплексом или коммутатором не ограничивается одной проводной парой. Устройство может иметь до 32 проводных пар, называемых трактами (lanes) или дорожками. Тракты работают несинхронно, поэтому расфазировка в данном случае несущественна. На большинстве материнских плат имеется 16-трактовый разъем для графической карты, что для PCIe 3.0 обеспечивает пропускную способность в 16 Гбайт/с — примерно в 30 раз больше, чем у графических карт PCI. Такая пропускная способность необходима для приложений, требования которых постоянно растут — например, трехмерной графики.
Во-вторых, все взаимодействия являются одноранговыми. Когда процессор хочет обратиться к устройству, он отправляет этому устройству пакет и обычно получает ответ. Пакет проходит через корневой комплекс на материнской плате, а затем передается устройству — как правило, через коммутатор (или для устройств PCI — через мост PCI).
Терминалы компьютера состоят из двух частей: клавиатуры и монитора. В мейнфреймах эти части объединены в одно устройство и связаны с мейнфреймом обычным или телефонным проводом.
В персональных компьютерах при нажатии клавиши происходит процедура прерывания и запускается программа обработки прерывания (программа является частью программного обеспечения операционной системы). Программа обработки прерывания считывает содержимое аппаратного регистра находящийся в контроллере клавиатуры, чтобы получить номер нажатой клавиши (от 1 до 102). Когда клавиша отпускается, происходит второе прерывание. Так, если пользователь нажимает клавишу SHIFT, затем нажимает и отпускает клавишу М, а после этого отпускает клавишу SHIFT, операционная система понимает, что ему нужна прописная, а не строчная буква М. Обработка нажатий клавиш SHIFT, CTRL и ALT в сочетании с другими клавишами выполняется только программно.
Сенсорные устройства делятся на прозрачные и непрозрачные. Типичное непрозрачное сенсорное устройство — сенсорная панель(тачпад) на ноутбуке. Типичное прозрачное устройство — экран смартфона или планшетного компьютера. Далее мы рассмотрим устройства второго типа, которые обычно называются сенсорными экранами. Основные разновидности сенсорных экранов — инфракрасные, резистивные и емкостные.
Другая старая технология изготовления сенсорных экранов — резистивная — состоит из двух слоев. Верхний гибкий слой содержит большое количество горизонтальных проводников. В находящейся под ним мембране проходят вертикальные проводники. Когда на экран оказывают давление, один из проводников верхней панели соприкасается (или подходит близко) к перпендикулярным проводникам нижней панели. Электроника устройства позволяет определить, в какой области было произведено нажатие. Резистивные экраны очень дешевы, они широко применяются в областях, критичных по цене.
Была создана новая технология мультитач. Конденсатор - устройства, способное накапливать электрический заряд. Простой конденсатор состоит из двух электродов в форме пластин, разделенных слоем диэлектрика. В современных сенсорных экранах сетка тонких «проводов», проходящих вертикально, отделяется от горизонтальной сетки тонким изолирующим слоем. Когда палец прикасается к экрану, он изменяет емкость всех затронутых пересечений. Это происходит из-за того, что тело человека накапливает электрический заряд, поэтому если мы докоснемся до экрана перчаткой, ничего не произойдет.
Проводники в сенсорных экранах - это тонкие(50 микрон) полоски прозрачного резистивного сплава оксида индия и оксида олова, прикрепленые к обратным сторонам тонкой стеклянной панели, в сокопуности они образуют конденсатор. В некоторых новых конструкциях диэлектрическая стеклянная панель заменяется тонким слоем диоксида кремния (песка). Также конденсаторы защищаются от грязи и царапин стеклянной пластиной, образующей поверхность экрана. Чем тоньше стеклянная пластина, тем чувствительнее экран и тем меньше прочность устройства.
В современных дисплеях, каждый пиксель представлен 3 байтным значением RGB, которое определяет интенсивность красного, зеленого и синего компонентов изображения. Любой цвет можно представить путем линейной суперпозиции трех цветов(красный, зеленый, синий).
Мышь - устройство в маленьком корпус, располагающемся рядом с клавиатурой. Самая интересная часть книги.
Принцип работы инфракрасных экранов основан на размещении инфракрасных передатчиков (скажем, инфракрасных светодиодов или лазеров) на левом и верхнем краях оправы, с детекторами на правом и нижнем краях. Когда любой непрозрачный объект блокирует один или несколько лучей сетки, соответствующий детектор обнаруживает исчезновение сигнала. Оборудование устройства может сообщить операционной системе, какой из лучей был заблокирован; по этим данным вычисляются координаты . Старая технология, используется в интерактивных киосках и других областях.
Первые две технологии не применяются в телефонах, т.к. они хорошо работают только при нажатии одним пальцем. Допустим пользователь нажимает в две области экрана . В результате прерываются вертикальные лучи и и горизонтальные лучи и , либо пользователь нажимает на 4 области(противоположные точки) . Блокируются те же самые лучи, что и в первом примере, программа не может понять, что нужно делать. Эта проблема называется двоением.
В процессе работы устройства напряжение подается попеременно на горизонтальные и вертикальные проводники, в то время как с других проводников читаются значения напряжения, изменившиеся под воздействием емкости пересечения. Эта операция повторяется много раз за секунду, а координаты точки прикосновения передаются драйверу устройства в виде потока пар .
Для обновления картинки на экранах используется видеопамять, размещенная на плате контроллера дисплея. Память имеет один или несколько битовых карт которые предоставляюь экрану изображение. На экране видеопамять будет содержать значений, на каждый пиксель. Для переключения на другое изображение в памяти может содержаться несколько карт.
Видеопамять хранящая пикселей(3 бита/пиксель) занимает 6.2 МБ памяти. На любые манипуляции с таким изображением тратится много процессорного времени. Из-за этого некоторые компьютеры используют 8 битные числа для отображения цвета. В некоторых компьютерах для определения цвета используются 8-разрядные числа. Такое число представляет собой индекс аппаратной таблицы, называемой цветовой палитрой, состоящей из 256 24 битных значений RGB. Это решение, известное под названием индексированного цвета, позволяет на 2/3 сократить объем данных, хранящихся в видеопамяти. В то же время, при применении индексированного цвета в каждый конкретный момент на экран не может выводиться более 256 цветов. Обычно, каждое окно имеет собственную битовую карту, а это значит, что при наличии одной аппаратной палитры из всех присутствующих на экране окон корректно визуализируется только одно. Также применяются палитры с элементами, но в этом случае выигрыш по занимаемой памяти составляет всего 1/3.
Такие видеодисплеи терубют большую пропускную способность. Для воспроизведения одного кадра размером необходимо скопировать 6.2 МБ в видеопамять. Видео обычно проигрываются с частатой 25 кадров/с, то скорость передачи данных должна составлять