Аппаратное обеспечение
Этапы развития вычислительной техники
В XV в. великий итальянский ученый и изобретатель Леонардо да Винчи изобрел суммирующее устройство с зубчатыми колесами для сложения 13-разрядных чисел. В XVII в. немецкий ученый В.Шиккард (1623) и французский математик Блез Паскаль создали свои механические вычислительные устройства, которые могли выполнять четыре арифметических действия: слагать, отнимать, умножать и делить. В 1673 г. немецкий математик Г.Лейбниц изобрел счетную машину, которая могла уже извлекать корни, возводить в степень, умножать и делить. В 1820 г. француз Шарль Ксавье Томас де Кольмар предложил конструкцию арифмометра — первого многофункционального калькулятора.
В 1830 г. английский ученый Чарльз Бэддидж обосновал принципы архитектуры вычислительной машины, назвав её «машиной для исчисления разностей», в которой были предсказаны основные идеи и принципы организации и работы современных ЭВМ.
В 1854 г. английский математик Джордж Буль опубликовал книгу «Законы мышления», в которой были сформулированы положения булевой алгебры (алгебры высказываний), на основе которой позднее была разработана теория релейно-контактных схем и конструирования сложных дискретных автоматов.
В начале 1890-х лет американским ученым Г.Холлеритом с помощью разработанной им счетно-аналитической машины, для привода отдельных деталей в которой был использован электрический ток, и перфокарт были обработаны результаты переписи населения США.
1936 г. английским математиком А.Тьюрингом было введено понятие алгоритма, который был использован в вычислительной машине, что позволило далее разрабатывать универсальные ЭВМ. Первые электромеханические вычислительные машины были созданы в Германии К.Цузе (машина Ц-3 в 1941 г.) и в США под руководством Г.Айкена (мшина Марк 1 в 1944 г.). Первая электронная машина в 1946 г. под названием электронный числовой интегратор и калькулятор ЭНИАК, была создана в США группой инженеров под руководством Дж.Мочли и Дж.Эккерта.
В 1949 г. в Англии была создана машина ЕДSAC, обладающая автоматическим программным управлением. В 1951 г. В США было налажено первое серийное производство универсальной автоматической вычислительной машины УНИВАК. В этом же году известным производителем – американской фирмой IBM был начат серийный выпуск машины IBM/701, а в СССР была создана малая электронная счетная машина МЭСМ. В 1953 г. начался выпуск советских машин БЭСМ-1 и «Стрела». С появлением цифровых программно-управляемых машин появилась новая область прикладной математики – программирование.
В 1954 г. по руководством Дж.Бэкуса был создан Фортран (FORTRAN – FORmula TRANslation) первый язык программирования, который и сейчас используется в разных модификациях. С этого периода идет постоянное совершенствование языков программирования.
В 1958—1960 гг. в Европе был создан язык программирования Алгол (Algol), который породил целую серию алголоподобных языков: Алгол-W (1967), Алгол-68, Паскаль (Pascal — Н. Вирт, 1970 г.), Си (С - Д. Ритчи и Б. Керниган, 1972 г.), Ада (Ada — под руководством Ж. Ишбиа, 1979 г.), Си++ (С++ — Б. Страуструп, 1983 г.). В 1961 — 1962 гг. Дж. Маккарти в Массачусетском технологичском институте создал язык функционального программирования Лисп (Lisp). К началу 1970-х лет существовало уже 700 языков программирования и около 300 трансляторов для автоматизации программирования.
Американским ученым Дж. фон Нейманом к концу 1950-х лет были сформулированы следующие основные принципы построения ЭВМ.
Принцип двоичного кодирования. Согласно этому принципу вся информация, поступающая в ЭВМ, кодируется с помощью двоичных сигналов.
Принцип последовательного программного управления. Из него следует, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
Принцип однородности памяти. Программы и данные хранятся в одной и той же памяти. Поэтому ЭВМ не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.
Принцип жесткости архитектуры означает неизменяемость в процессе работы топологии, архитектуры, списка команд.
Принцип адресности. Структурно основная память состоит из пронумерованных ячеек, процессору в произвольный момент времени доступна любая ячейка.
Отсюда следует возможность давать имена областям памяти так, чтобы к запомненным в них значениям можно было бы впоследствии обращаться или менять их в процессе выполнения программы с использованием присвоенных имен.
Машина фон Неймана состояла из пяти основных частей: памяти, арифметико-логического устройства, устройства управления, а также устройств ввода-вывода.

Следующим этапом развития вычислительной техники считается использование полупроводниковой элементной базы — транзисторов и диодов. Их применение совместно с усовершенствованными резисторами и конденсаторами позволило резко снизить потребление электроэнергии и сократить габариты машины. Быстродействие компьютера к средине 1950-х лет достигло отметки в 1 млн операций в секунду.
В дальнейшем единицами измерения быстродействия были приняты:
KOPS (Kilo Operations Per Second) — 1 тыс. усредненных операций над числом;
MIPS (Mega Instruction Per Second) — 1 млн операций над числами с фиксированной точкой;
МFLOPS (Mega FLoating Operations Per Second) — 1 млн операций над числами с плавающей точкой;
GFLOPS (Giga FLoating Operations Per Second) — 1 млрд операций над числами с плавающей точкой;
TFLOPS (Тега FLoating Operations Per Second) — 1000 млрд операций в секунду.
В 1965 г. в США была создана новая модификация компьютера, элементную базу которой составила интегральная схема, объединившая в себе функции арифметико-логического устройства и устройства управления и получившая название «центральный процессор».
Дальнейшее совершенствование компьютеров происходило на фоне уменьшения их размеров и наращивания надежности и быстродействия.
В 1964 году компания CDC (Control Data Corporation) выпустила машину 6600, которая работала почти на порядок быстрее, чем все остальные машины того времени. Секрет столь высокого быстродействия заключался в том, что внутри ЦП (центрального процессора) находилась машина с высокой степенью параллелизма. У нее было несколько функциональных устройств для сложения, умножения и деления, и все они могли работать одновременно. Хотя быстрая работа машины требовала тщательной работы программиста, при определенных усилиях можно было сделать так, чтобы машина исполняла 10 команд одновременно.
Внутри машины 6600 было встроено несколько маленьких компьютеров. Таким образом, центральный процессор занимался только вычислениями, а остальные функции (управление работой машины, а также ввод и вывод информации) исполняли маленькие компьютеры. Многие ключевые принципы современных компьютеров уходят корнями к 6600.
Разработчик компьютера 6600 Сеймур Крей был легендарной личностью, как и фон Нейман. Он посвятил всю свою жизнь созданию очень мощных компьютеров, которые сейчас называют суперкомпьютерами. Среди них можно назвать 6600, 7600 и Cray-1.
Изобретение кремниевой интегральной схемы в 1958 году Джеком Килби и Робертом Нойсом позволило разместить на одной небольшой микросхеме десятки транзисторов. Компьютеры на интегральных схемах были меньшего размера, работали быстрее и стоили дешевле, чем их предшественники на транзисторах.
В 1964 году компания IBM выпустила линейку транзисторных компьютеров System/360, которые были предназначены как для научных, так и для коммерческих расчетов. Это было целое семейство компьютеров для работы с одним языком (ассемблером), разного размера и вычислительной мощности. С некоторыми ограничениями, связанными с объемом памяти, программы с одной модели семейства могли переноситься на другие. Еще одно нововведение в 360 — многозадачность. В памяти компьютера могло находиться одновременно несколько программ, и пока одна программа ждала, когда закончится процесс ввода-вывода, другая исполнялась. В результате ресурсы процессора расходовались более рационально.
Появление сверхбольших интегральных схем (СБИС) в 80-х годах позволило размещать на одной плате сначала десятки тысяч, затем сотни тысяч и, наконец, миллионы транзисторов. Это привело к созданию компьютеров меньшего размера и более быстродействующих. Началась эра персональных компьютеров.
Персональные компьютеры требовались совсем для других целей, чем их предшественники. Они применялись для обработки слов, электронных таблиц, а также для исполнения приложений с высоким уровнем интерактивности (например, игр), для которых большие компьютеры не подходили. Примером наиболее успещных персональных компьютеров является семейство IBM PC.
Первая версия IBM PC была оснащена операционной системой MS-DOS, которую выпускала корпорация Microsoft. Благодаря тому, что фирма Intel выпускала все более мощные процессоры, IBM и Microsoft совместно разработали последовавшую за MS-DOS операционную систему OS/2, отличительной особенностью которой был графический пользовательский интерфейс (Graphical User Interface, GUI), сходный с интерфейсом Apple Macintosh. Между тем компания Microsoft также разработала собственную операционную систему Windows, которая работала на основе MS-DOS, — на случай, если OS/2 не будет иметь спроса.
В середине 80-х годов на смену CISC (Complex Instruction Set Computer — компьютер с полным набором команд) пришли компьютеры RISC (Reduced Instruction Set Computer — компьютер с сокращенным набором команд). RISC-команды были проще и выполнялись гораздо быстрее.
В 1990-е годы компьютерные системы ускорялись посредством различных микроархитектурных оптимизаций. Пользователи таких систем пребывали в благодушном настроении, потому что в каждой новой купленной системе их программы работали намного быстрее, чем в старой. Однако к концу 1990-х годов тенденция к повышению скорости стала снижаться из-за двух важных препятствий в области проектирования: архитекторы исчерпали запас возможностей для ускорения программ, а охлаждение процессоров стало обходиться слишком дорого. Многие компьютерные компании, отчаянно стремившиеся к построению более быстрых процессоров, обратились к параллельным архитектурам как к средству выжать больше быстродействия из своей электроники.
К следующему поколению относят планшетные и “невидимые” (встраиваются в бытовую технику, часы, банковские карточки и огромное количество других устройств) компьютеры.
К первому поколению причисляются компьютеры на электронныхлампах, ко второму — транзисторные машины, к третьему — первые компьютеры на интегральных схемах, к четвертому — персональные компьютеры. Что же касается пятого поколения, то оно больше ассоциируется не с конкретной архитектурой, а со сменой парадигмы. Компьютеры будущего будут встраиваться во все мыслимые и немыслимые устройства и за счет этого действительно станут невидимыми. Они прочно войдут в повседневную жизнь — будут открывать двери, включать лампы, распределять деньги и выполнять тысячи других обязанностей. Эта модель, разработанная Марком Вайзером в поздний период его деятельности, первоначально получила название повсеместной компьютеризации, но в настоящее время не менее распространен термин всепроникающая компьютеризация.
Типы компьютеров и их краткая характеристика
Развивать компьютерные технологии, исходя из закона Мура, можно двумя путями: создавать компьютеры все большей и большей мощности при постоянной цене или выпускать одну и ту же модель с каждым годом за меньшие деньги.
Компьютерная промышленность идет по обоим путям, создавая широкий спектр разнообразных компьютеров. Очень приблизительная классификация современных компьютеров представлена в таблице.
| Тип | Цена, долларов | Сфера применения |
|---|---|---|
| «Одноразовые» компьютеры | 0,5 | Поздравительные открытки, микросхемы RFID |
| Встроенные компьютеры (микроконтроллеры) | 5 | Часы, машины, различные приборы |
| Мобильные и игровые компьютеры | 50 | Домашние компьютерные игры, смартфоны |
| Персональные компьютеры | 500 | Настольные и портативные компьютеры |
| Серверы | 5000 | Сетевые серверы |
| Мэйнфреймы | 500000 | Пакетная обработка данных |
Одноразовые компьютеры
Одноразовые компьютеры окружают нас. Вероятно, наиболее значимым достижением в этой области стало появление микросхем RFID (Radio Frequency Identification — радиочастотная идентификация). Теперь на безбатарейных микросхемах этого типа толщиной меньше 0,5 мм и себестоимостью в несколько центов устанавливаются крошечные приемопередатчики радиосигналов; кроме того, им присваивается уникальный 128-разрядный идентификатор. При получении импульса с внешней антенны они получают питание на время, достаточное для отправки ответного импульса со своим номером. Несмотря на крошечные размеры, спектр практического применения таких микросхем весьма значителен.
Технологическая основа RFID стремительно развивается. Наиболее миниатюрные из микросхем этого типа пассивны (не содержат внутреннего источника питания), а их возможности ограничиваются передачей уникальных идентификаторов по внешним запросам. Более крупные микросхемы RFID активны, в них могут быть встроены аккумуляторы и элементарный компьютер, а соответственно, они способны выполнять определенный набор вычислительных операций. В эту последнюю категорию, помимо прочих, входят смарт-карты, применяемыев финансовых операциях.
Активность/пассивность микросхем RFID не является единственным параметром их классификации. Такие микросхемы также различаются по применяемым радиочастотным диапазонам. Чем ниже частота, тем ниже скорость передачи данных, но в то же время тем больше расстояние от антенны, на котором возможно считывание информации с микросхемы. Соответственно, микросхемы, работающие на высоких частотах, характеризуются высокой скоростью передачи данных и весьма ограниченным радиусом действия.
Микроконтроллеры
Встроенные компьютеры, называемые также микроконтроллерами, выполняют функцию управления устройствами и организации их пользовательских интерфейсов. Диапазон устройств, работающих с помощью микрокомпьютеров, крайне широк (примеры даются в скобках):
• бытовые приборы (будильники, стиральные машины, сушильные аппараты, микроволновые печи, охранные сигнализации);
• коммуникаторы (беспроводные и сотовые телефоны, факсимильные аппараты, пейджеры);
• периферийные устройства (принтеры, сканеры, модемы, приводы CDROM);
• развлекательные устройства (видеомагнитофоны, DVD-плееры, музыкальные центры, MP3-плееры, телеприставки);
• формирователи изображений (телевизоры, цифровые фотокамеры, видеокамеры, объективы, фотокопировальные устройства);
• медицинское оборудование (рентгеноскопические аппараты, томографы, кардиомониторы, цифровые термометры);
• военные комплексы вооружений (крылатые ракеты, межконтинентальные баллистические ракеты, торпеды);
• торговое оборудование (торговые автоматы, кассовые аппараты);
• игрушки (говорящие куклы, приставки для видеоигр, радиоуправляемые машинки и лодки).
В отличие от микросхем RFID, выполняющих минимальный набор функций, микроконтроллеры хоть и невелики по размерам, но представляют собой полноценные вычислительные устройства. Каждый микроконтроллер состоит из процессора, памяти и средств ввода-вывода. Ввод-вывод, как правило, осуществляется отслеживанием состояния кнопок и переключателей с контролем состояния световых индикаторов, дисплея и звуковых компонентов устройства.
Программное обеспечение микроконтроллеров в большинстве случаев «прошивается» производителем в виде постоянной памяти. Все микроконтроллеры можно разделить на два типа: универсальные и специализированные. Первые фактически являют собой обычные компьютеры, уменьшенные в размере. Специализированные же микроконтроллеры отличаются индивидуальной архитектурой и набором команд, приспособленными для решения определенного круга задач, например, связанных с воспроизведением мультимедийных данных. Микроконтроллеры бывают 4-, 8-, 16- и 32-разрядными.
Между универсальными микроконтроллерами, с одной стороны, и стандартными ПК, с другой, наблюдаются существенные различия. Во-первых, спрос на микроконтроллеры в максимальной степени обусловлен ценами на них. Во-вторых, почти все микроконтроллеры работают в реальном времени. За каждым входным сигналом должен следовать незамедлительный отклик. В-третьих, встроенные системы зачастую ограничены по многим электрическим и механическим параметрам, таким как размер, вес и энергопотребление. С учетом этих ограничений и разрабатываются микроконтроллеры, устанавливаемые в такого рода системах.
Мобильные и игровые компьютеры
В сущности, это обычные компьютеры, в которых расширенные возможности графических и звуковых контроллеров сочетаются с ограничениями по объему ПО и пониженной расширяемостью.
Основное различие между этими машинами и ПК, впрочем, состоит не в производительности процессора, а в том, что игровые компьютеры представляют собой закрытые, законченные системы. Расширяемость таких систем при помощи сменных плат не предусмотрена, хотя в некоторых моделях присутствуют интерфейсы USB и FireWire. Что еще важнее, игровые компьютеры оптимизированы для конкретной области применения — трехмерных игр с высоким уровнем интерактивности и мультимедийным выводом. Все остальные функции считаются вторичными. Ограничения по части аппаратного и программного обеспечения, низкие тактовые частоты, недостаточный объем памяти, отсутствие монитора с высоким разрешением и (как правило) жесткого диска — все это позволяет продавать игровые системы по более низким ценам, чем персональные компьютеры.
У мобильных компьютеров появляется дополнительное ограничение: они должны потреблять как можно меньше энергии для решения своих задач. Чем меньше энергии они потребляют, тем дольше проработают их батареи. Это требование создает немало проблем проектировщикам, потому что мобильные платформы (такие, как планшеты и смартфоны) должны бережно расходовать энергию, но при этом пользователи ожидают от них поддержки высокопроизводительных функций — трехмерной графики, обработки мультимедийных данных в высоком разрешении и качественных игр.
Персональные компьютеры
В следующую категорию входят персональные компьютеры. Именно они ассоциируются у большинства людей со словом «компьютер». Персональные компьютеры делятся на две основных категории: настольные и портативные (ноутбуки).
Как правило, те и другие комплектуются модулями памяти общей емкостью в несколько гигабайт, жестким диском с данными на несколько терабайтов, приводом CD-ROM/DVD/Blu-ray, звуковой картой, сетевым интерфейсом, монитором с высоким разрешением и другими периферийными устройствами. На них устанавливаются сложные операционные системы, они расширяемы, при работе с ними используется широкий спектр программного обеспечения.
Центральным компонентом любого персонального компьютера является печатная плата, на которой устанавливаются процессор, память и устройства ввода-вывода (звуковая плата, возможно — модем и т. д.), а также интерфейсы клавиатуры, мыши, дискового привода, сетевой платы и прочих периферийных устройств, а также расширительные гнезда.
Ноутбуки, кроме своей компактности, ничем не отличаются от настольных ПК. В них устанавливаются аналогичные, хотя и меньшие по размеру, аппаратные компоненты. По возможностям исполнения и набору программ настольные и портативные компьютеры не различаются. Большинство читателей, вероятно, знакомы с характеристиками персональных компьютеров, поэтому не будем углубляться в анализ этой категории.
Еще одна вариация на эту тему — планшетные компьютеры. Эти устройства представляют собой обычный PC в компактном исполнении, твердотельным накопителем вместо традиционного жесткого диска, сенсорным экраном и процессором, отличным от традиционного. Но с точки зрения архитектуры планшет представляет собой ноутбук с другим форм-фактором.
Серверы
Мощные персональные компьютеры и рабочие станции часто используются в качестве сетевых серверов — как в локальных сетях (обычно в пределах одной организации), так и в Интернете. Серверы, как правило, поставляются в однопроцессорной и мультипроцессорной конфигурациях. В системах из этой категории обычно устанавливаются модули памяти общим объемом в несколько гигабайтов, жесткие диски емкостью в терабайты и высокоскоростные сетевые интерфейсы.Некоторые серверы способны обрабатывать тысячи транзакций в секунду.
С точки зрения архитектуры, однопроцессорный сервер не слишком отличается от персонального компьютера. Он просто работает быстрее, занимает больше места, содержит больше дискового пространства и устанавливает более скоростные сетевые соединения. Серверы работают под управлением тех же операционных систем, что и персональные компьютеры, как правило, это различные версии UNIX и Windows.
Кластеры
В связи с тем, что по соотношению «цена/производительность» позиции рабочих станций и персональных компьютеров постоянно улучшаются, в последние годы появилась практика их объединения в кластеры. Кластер состоит из нескольких стандартных серверных систем, подключенных друг к другу по высокоскоростной сети и снабженных специальным программным обеспечением, которое позволяет направлять их ресурсы на решение единых задач (как правило, научных и инженерных). В большинстве случаев компоненты кластера — это совершенно обычные коммерческие машины, которые можно приобрести по отдельности в любом компьютерном магазине. Основным дополнением становятся высокоскоростные сетевые соединения, которые, как правило, тоже можно организовать при помощи стандартных сетевых плат.
Большие кластеры обычно размещаются в специальных залах или зданиях, называемых центрами обработки данных. Размеры центров обработки данных изменяются в широких пределах, от десятков до сотен тысяч и более машин.
Поскольку компоненты кластеров достаточно дешевы, их приобретение для внутреннего использования могут себе позволить даже небольшие организации. Термины «кластер» и «центр обработки данных» часто используются как синонимы, хотя формально первое — совокупность серверов, а второе — зал или здание.
Нередко кластеры используются для создания веб-серверов. Если частота обращений к страницам веб-сайта исчисляется тысячами в секунду, самым экономичным решением обычно оказывается организация кластера из нескольких сотен (или даже тысяч) серверов и распределение между ними нагрузки по обработке запросов.
С появлением центров обработки данных мы отчасти возвращаемся к прошлому в форме облачных технологий — своего рода «мэйнфреймам версии 2.0». Идея заключается в том, что у каждого пользователя имеется несколько простых устройств: PC, ноутбуков, планшетов и смартфонов, которые, по сути, предоставляют пользовательский интерфейс к облаку (то есть центрам обработки данных), в котором хранятся все фотографии, видеоролики, музыка и другие данные пользователя. В такой модели данные доступны пользователю в любой момент и на любом устройстве и ему не нужно помнить, что где хранится. Центр обработки данных заменяет один большой централизованный компьютер, но мы возвращаемся к прежней парадигме: пользователи работают за простыми терминалами, а данные и вычислительные мощности находятся где-то в другом месте.
Кто знает, как долго проживет эта модель? Вполне возможно, что в ближайшие 10 лет так много людей начнет хранить свою музыку, фотографии и видеоролики в облаке, что (беспроводная) инфраструктура для взаимодействия с ним будет полностью парализована. Это может привести к новой революции: персональные компьютеры и локальное хранение данных на машинах пользователей, чтобы избежать сетевых «заторов».
Мэйнфреймы
Наконец мы дошли до больших компьютеров размером с комнату, напоминающих компьютеры 60-х годов и традиционно называемых мэйнфреймами. Обычно они работают не намного быстрее, чем мощные серверы, но у них выше скорость процессов ввода-вывода и они часто оснащаются огромными дисковыми массивами, в которых хранятся многие тысячи гигабайт информации. Такие системы обходятся дорого, но часто продолжают работать из-за значительных вложений в программное обеспечение, данные и персонал, обслуживающий эти компьютеры. Многие компании считают, что дешевле заплатить несколько миллионов долларов один раз за такую систему, чем даже думать о необходимости заново переписывать все приложения для меньших компьютеров.
Кроме выполнения программ, накопленных за последние 40 лет, в последние годы мэйнфреймы начали возрождаться под влиянием Интернета. Они заняли нишу мощных серверов Интернета, способных обрабатывать огромное количество транзакций в секунду, что крайне актуально для электронной коммерции в целом, и компаний, вынужденных обслуживать громадные базы данных в частности.
До последнего времени существовала еще одна крупная категория вычислительных машин — суперкомпьютеры. Их процессоры работали с очень высокой скоростью, в них устанавливались модули памяти общей емкостью в несколько десятков гигабайтов, высокоскоростные диски и сетевые интерфейсы.
Суперкомпьютеры используются для решения различных научных и технических задач, которые требуют сложных вычислений, например таких, как моделирование сталкивающихся галактик, синтез новых лекарственных препаратов, моделирование потока воздуха вокруг крыла самолета. Сейчас, когда вычислительные возможности, аналогичные тем, что предлагают суперкомпьютеры, реализуются в виде кластеров, эта категория компьютеров постепенно отмирает.
Организация компьютерной системы
Микропроцессор
Центральный процессор — это мозг компьютера. Его задача — выполнять программы, находящиеся в основной памяти. Для этого он вызывает команды из памяти, определяет их тип, а затем выполняет одну за другой. Компоненты соединены шиной, представляющей собой набор параллельно связанных проводов для передачи адресов, данных и управляющих сигналов. Шины могут быть внешними (связывающими процессор с памятью и устройствами ввода-вывода) и внутренними. Современный компьютер использует несколько шин.
Процессор состоит из нескольких частей. Блок управления отвечает за вызов команд из памяти и определение их типа. Арифметико-логическое устройство выполняет арифметические операции (например, сложение) и логические операции (например, логическое И).
Внутри центрального процессора находится быстрая память небольшого объема для хранения промежуточных результатов и некоторых команд управления. Эта память состоит из нескольких регистров, каждый из которых выполняет определенную функцию. Обычно размер всех регистров одинаков. Каждый регистр содержит одно число в диапазоне, верхняя граница которого зависит от размера регистра. Операции чтения и записи с регистрами выполняются очень быстро, поскольку они находятся внутри центрального процессора.
Самый важный регистр — счетчик команд, который указывает, какую команду нужно выполнять следующей. Еще есть регистр команд, в котором находится выполняемая в данный момент команда. У большинства компьютеров имеются и другие регистры, одни из них многофункциональны, другие служат лишь какие-либо конкретным целям. Третьи регистры используются операционной системой для управления компьютером.
Тракт данных состоит из регистров (обычно от 1 до 32), арифметико-логического устройства (АЛУ) и нескольких соединительных шин.В них находятся входные данные АЛУ, пока АЛУ производит вычисления.
АЛУ выполняет сложение, вычитание и другие простые операции над входными данными и помещает результат в выходной регистр. Содержимое этого выходного регистра может записываться обратно в один из регистров или сохраняться в памяти, если это необходимо.
Большинство команд можно разделить на две группы: команды типа регистр-память и типа регистр-регистр. Команды первого типа вызывают слова из памяти, помещают их в регистры, где они используются в качестве входных данных АЛУ (слова — это такие элементы данных, которые перемещаются между памятью и регистрами). Словом может быть целое число. Другие команды этого типа помещают регистры обратно в память.
Команды второго типа вызывают два операнда из регистров, помещают ихво входные регистры АЛУ, выполняют над ними какую-нибудь арифметическую или логическую операцию и переносят результат обратно в один из регистров. Этот процесс называется циклом тракта данных. В какой-то степени он определяет, что может делать машина. Современные компьютеры оснащаются несколькими АЛУ, работающими параллельно и специализирующимися на разных функциях. Чем быстрее происходит цикл тракта данных, тем быстрее компьютер работает.
Разработчики компьютеров стремятся к тому, чтобы повысить производительность своих машин. Один из способов заставить процессоры работать быстрее — повышение их тактовой частоты, однако при этом существуют некоторые технологические ограничения на то, что можно сделать методом «грубой силы» на данный момент. Поэтому большинство проектировщиков для повышения производительности при данной тактовой частоте процессора используют параллелизм (выполнение двух или более операций одновременно).
Известно, что главным препятствием высокой скорости выполнения команд является необходимость их загрузки из памяти. Для разрешения этой проблемы можно вызывать команды из памяти заранее и хранить в специальном наборе регистров. Эта идея использовалась еще в 1959 году при разработке компьютера Stretch компании IBM, а набор регистров был назван буфером выборки с упреждением. Таким образом, когда требовалась определенная команда, она вызывалась прямо из буфера, а обращения к памяти не происходило.
В действительности при выборке с упреждением команда обрабатывается за два шага: сначала происходит выборка команды, а затем ее выполнение. Дальнейшим развитием этой стратегии стала концепция конвейера. При использовании конвейера команда обрабатывается уже не за два, а за большее количество шагов, каждый из которых реализуется определенным аппаратным компонентом, причем все эти компоненты могут работать параллельно.
Конвейеры позволяют добиться компромисса между временем запаздывания (время выполнения одной команды) и пропускной способностью процессора (количество команд, выполняемых процессором в секунду). Если время обращения составляет T нс, а конвейер имеет n ступеней, время запаздывания составит n\cdot T нc.
Попытки увеличения числа конвейеров привели к разработке суперскалярной архитектуры. Суперскалярными называют процессоры, способные запускать несколько команд (зачастую от четырех до шести) за один тактовый цикл.
Суперскалярная архитектура
Параллелизм на уровне команд в определенной степени помогает, но конвейеры и суперскалярная архитектура обычно повышают скорость работы всего лишь в 5–10 раз. Чтобы увеличить производительность в 50, 100 и более раз, нужно создавать компьютеры с несколькими процессорами.
Компьютеры с распараллеливанием по данным нашли много успешных применений благодаря своей выдающейся эффективности.Многие задачи в предполагают использование циклов, массивов или других упорядоченных структур. Часто одни и те же вычисления многократно повторяются с разными наборами данных. Упорядоченность и структурированность программ, предназначенных для выполнения такого рода вычислений, очень удобны в плане ускорения вычислений за счет параллельной обработки команд.
Существует две схемы ускоренного выполнения больших научных программ: SIMD-процессоры и векторные процессоры.
SIMD-процессор (Single Instruction-stream Multiple Data-stream — один поток команд с несколькими потоками данных) состоит из большого числа сходных процессоров, которые выполняют одну и ту же последовательность команд применительно к разным наборам данных.
Современные графические процессоры (GPU) широко используют SIMD-обработку для обеспечения высокой вычислительной мощности при относительно небольшом количестве транзисторов. Обработка графики отлично подходит для SIMD-процессоров, потому что большинство алгоритмов имеет четкую структуру с повторением операций для пикселов, вершин, текстур и ребер.
С точки зрения программиста векторный процессор (vector processor) очень похож на SIMD-процессор. Он также чрезвычайно эффективен при выполнении последовательности операций над парами элементов данных. Однако в отличие от SIMD-процессора, все операции сложения выполняются в одном блоке суммирования, который имеет конвейерную структуру.
Элементы процессора, распараллеленного по данным, связаны между собой, поскольку их работу контролирует единый блок управления. Система из нескольких параллельных процессоров, имеющих общую память, называется мультипроцессором. Поскольку каждый процессор может записывать информацию в любую часть памяти и считывать информацию из любой части памяти, чтобы не допустить каких-либо нестыковок, их работа должна согласовываться программным обеспечением. В ситуации, когда два или несколько процессоров имеют возможность тесного взаимодействия, а именно так происходит в случае с мультипроцессорами, эти процессоры называют сильно связанными.
Мультипроцессоры имеют преимущество перед другими видами параллельных компьютеров, поскольку с единой общей памятью очень легко работать.
Основная память
Основной единицей хранения данных в памяти является двоичный разряд, который называется битом. Бит может содержать 0 или 1. Эта самая маленькая единица памяти.
Хранение цифровой информации может быть основано на отличиях между разными величинами какой-либо физической характеристики, например напряжения или тока. Чем больше величин нужно различать, тем меньше отличий между смежными величинами и тем менее надежна память. В двоичной системе требуется различать всего две величины, следовательно, это — самый надежный метод кодирования цифровой информации.
Считается, что некоторые компьютеры, используют и десятичную, и двоичную арифметику. На самом деле здесь применяется так называемый двоично-десятичный код. Для хранения одного десятичного разряда задействуются 4 бита. Эти 4 бита дают 16 комбинаций для размещения 10 различных значений (от 0 до 9). При этом 6 оставшихся комбинаций не используются. В двоично-десятичном представлении 16 бит достаточно для хранения числа от \(0\) до \(9999\), то есть доступно всего \(10000\) различных комбинаций, а в двоичном представлении те же 16 бит позволяют получить \(65536\) комбинаций. Именно по этой причине говорят, что двоичная система эффективнее.
Память состоит из ячеек, каждая из которых может хранить некоторую порцию информации. Каждая ячейка имеет номер, который называется адресом. По адресу программы могут ссылаться на определенную ячейку. Если память содержит \(n\) ячеек, они будут иметь адреса от \(0\) до \(n-1\). Все ячейки памяти содержат одинаковое число битов.
В компьютерах, в которых используется двоичная система счисления (включая восьмеричное и шестнадцатеричное представление двоичных чисел), адреса памяти также выражаются в двоичных числах. Если адрес состоит из \(m\) бит, максимальное число адресуемых ячеек составит \(2m\).
Ячейка — минимальная адресуемая единица памяти. В последние годы практически все производители выпускают компьютеры с 8-разрядными ячейками, которые называются байтами (также иногда встречается термин «октет»). Байты группируются в слова. В компьютере с 32-разрядными словами на каждое слово приходится 4 байт, а в компьютере с 64-разрядными словами — 8 байт. Такая единица, как слово, необходима, поскольку большинство команд производят операции над целыми словами (например, складывают два слова). Таким образом, 32-разрядная машина содержит 32-разрядные регистры и команды для манипуляций с 32-разрядными словами, тогда как 64-разрядная машина имеет 64-разрядные регистры и команды для перемещения, сложения, вычитания и других операций над 64-разрядными словами.
Процессоры всегда работали быстрее, чем память. Поскольку процессоры и память совершенствуются параллельно, это несоответствие сохраняется. Поскольку на микросхему можно помещать все больше и больше транзисторов, разработчики процессоров создают конвейерные и суперскалярные архитектуры, что еще больше увеличивает быстродействие процессоров. Разработчики памяти обычно используют новые технологии для увеличения емкости, а не быстродействия, что делает разрыв еще большим. На практике такое несоответствие в скорости работы приводит к тому, что когда процессор обращается к памяти, проходит несколько машинных циклов, прежде чем он получит запрошенное слово. Чем медленнее работает память, тем дольше процессору приходится ждать, тем больше циклов проходит.
Существуют технологии, объединяющие небольшую и быструю память с большой и медленной, что позволяет по разумной цене получить память и с высокой скоростью работы, и большой емкости. Память небольшого объема с высокой скоростью работы называется кэш-памятью.
Основная идея кэш-памяти проста: в ней находятся слова, которые чаще всего используются. Если процессору нужно какое-нибудь слово, сначала онобращается к кэш-памяти. Только в том случае, если слова там нет, он обращается к основной памяти. Если значительная часть слов находится в кэш-памяти, среднее время доступа значительно сокращается.
Таким образом, успех или неудача зависит от того, какая часть слов находится в кэш-памяти.
Ситуация, когда при последовательных обращениях к памяти в течение некоторого промежутка времени используется только небольшая ее область, называется принципом локальности. Этот принцип составляет основу всех систем кэш-памяти. Идея состоит в том, что когда определенное слово вызывается из памяти, оно вместе с соседними словами переносится в кэш-память, что позволяет при очередном запросе быстро обращаться к следующим словам.
Кэш-память очень важна для высокопроизводительных процессоров. Однако здесь возникает ряд вопросов. Первый вопрос — объем кэш-памяти. Чем больше объем, тем лучше работает память, но тем дороже она стоит. Второй вопрос — размер строки кэша. Третий вопрос — механизм организации кэш-памяти, то есть то, как она определяет, какие именно слова находятся в ней в данный момент. Четвертый вопрос — должны ли команды и данные находиться вместе в общей кэш-памяти. Проще всего разработать объединенную кэш-память (unified cache), в которой будут храниться и данные, и команды. В этом случае вызов команд и данных автоматически уравновешивается. Однако в настоящее время существует тенденция к использованию разделенной кэш-памяти (split cache), когда команды хранятся в одной кэш-памяти, а данные — в другой. Современные разработчики пошли по этому пути, поскольку сейчас широко распространены конвейерные архитектуры, а при конвейерной организации обращения и к командам, и к данным (операндам) должны осуществляться одновременно. Разделенная кэш-память позволяет осуществлять параллельный доступ, а общая — нет. К тому же, поскольку команды обычно не меняются во время выполнения программы, содержание кэша команд не приходится записывать обратно в основную память. Наконец, пятый вопрос — количество блоков кэш-памяти. В настоящее время очень часто кэш-память первого уровня располагается прямо на микросхеме процессора, кэш-память второго уровня — не на самой микросхеме, но в корпусе процессора, а кэш-память третьего уровня — еще дальше от процессора.
Группа микросхем (обычно 8 или 16) монтируется на одну крошечную печатную плату и продается как один блок. Он называется SIMM (Single Inline Memory Module — модуль памяти с односторонним расположением выводов) или DIMM (Dual Inline Memory Module — модуль памяти с двухсторонним расположением выводов). На платах SIMM устанавливается один краевой разъем с 72 контактами; при этом скорость передачи данных за один тактовый цикл составляет 32 бит. Модули DIMM, как правило, снабжаются двумя краевыми разъемами (по одному на каждой стороне платы) с 120 контактами; таким образом, общее количество контактов достигает 240, а скорость передачи данных возрастает до 64 бит за цикл. В настоящее время наиболее распространенными являются DDR3 DIMM — третья версия двухскоростных модулей памяти.
Иерархическая структура памяти является традиционным решением проблемы хранения больших объемов данных. На самом верху иерархии находятся регистры процессора. Доступ к регистрам осуществляется быстрее всего. Дальше идет кэш-память, объем которой сейчас составляет от 32 Кбайт до нескольких мегабайт. Затем следует основная память, объем которой в настоящее время лежит в диапазоне от 1 Гбайт до сотен гигабайт. Затем идут магнитные диски и твердотельные накопители для долгосрочного хранения данных. Нижний уровень иерархии занимают накопители на магнитной ленте и оптические диски для хранения архивов.

По мере продвижения сверху вниз по иерархии меняются три параметра. Во-первых, увеличивается время доступа. Доступ к регистрам занимает несколько наносекунд, доступ к кэш-памяти — немного больше, доступ к основной памяти — несколько десятков наносекунд. Дальше идет большой разрыв: доступ к дискам происходит по крайней мере в 10 раз медленнее для твердотельных дисков и в сотни раз медленнее для магнитных дисков. Время доступа к магнитным лентам и оптическим дискам вообще может измеряться в секундах (поскольку эти накопители информации еще нужно взять и поместить в соответствующее устройство).
Во-вторых, растет объем памяти. Регистры могут содержать в лучшем случае 128 байт, кэш-память — десятки мегабайт, основная память — гигабайты, магнитные диски — терабайты. Магнитные ленты и оптические диски хранятся автономно от компьютера, поэтому их совокупный объем ограничивается только финансовыми возможностями владельца.
В третьих, увеличивается количество битов, которое вы получаете за один доллар. Стоимость объема основной памяти измеряется в долларах за мегабайт, твердотельных накопителей — в долларах за гигабайт, магнитных дисков и лент — в центах за гигабайт или еще дешевле.
Дисковая память
Магнитный диск состоит из одной или нескольких алюминиевых или стеклянных поверхностей, покрытых магнитным слоем. Головка диска, содержащая индукционную катушку, двигается над поверхностью диска, опираясь на воздушную подушку. Когда через головку проходит положительный или отрицательный ток, он намагничивает поверхность под головкой. При этом магнитные частицы намагничиваются направо или налево в зависимости от полярности тока. Когда головка проходит над намагниченной областью, в ней (в головке) возникает положительный или отрицательный ток, что дает возможность считывать записанные ранее биты. Поскольку диск вращается под головкой, поток битов может записываться, а потом считываться.
Дорожкой называется круговая последовательность битов, записанных на диск за его полный оборот. Каждая дорожка делится на секторы фиксированной длины. Каждый сектор обычно содержит 512 байт данных. Перед данными располагается преамбула (preamble), которая позволяет головке синхронизироваться перед чтением или записью. После данных идет код исправления ошибок. Между соседними секторами находится межсекторный интервал. Емкость форматированного диска обычно на 15 % меньше неформатированного.
У всех дисков есть кронштейны, они могут перемещаться туда и обратно по радиусу на разные расстояния от шпинделя, вокруг которого вращается диск. На разных расстояниях от оси записываются разные дорожки. Таким образом, дорожки представляют собой ряд концентрических кругов, расположенных вокруг шпинделя. Ширина дорожки зависит от величины головки и от точности ее перемещения.
Следует отметить, что дорожка — это не углубление на поверхности диска, а просто кольцо намагниченного материала, которое отделяется от других дорожек небольшими пограничными областями.
Чтобы достичь высокого качества поверхности и достаточной чистоты воздуха, диски герметично закрываются. Такие диски называются винчестерами.
Большинство магнитных дисков состоит из нескольких пластин, расположенных друг под другом. Каждая поверхность снабжена кронштейном и головкой. Кронштейны скреплены таким образом, что одновременно могут перемещаться на разные расстояния от оси. Совокупность дорожек, расположенных на одном расстоянии от центра, называется цилиндром.
Производительность диска зависит от многих факторов. Чтобы считать или записать сектор, головка должна переместиться на нужное расстояние от оси. Этот процесс называется позиционированием. Среднее время поиска между случайно выбранными дорожками составляет от 5 до 10 мс, а для смежных дорожек — менее 1 мс. Когда головка помещается на нужное расстояние от центра, выжидается некоторое время (оно называется временем ожидания сектора), пока нужный сектор не окажется под головкой. Большинство дисков вращаются со скоростью 5400, 7200 или 10 800 оборотов в минуту. Таким образом, среднее время ожидания сектора (половина оборота) составляет от 3 до 6 мс. Время передачи информации зависит от плотности записи и скорости вращения. При типичной скорости передачи 150 Мбайт в секунду время передачи одного сектора (512 байт) составляет 3,5 мкс. Следовательно, время передачи информации определяется в основном временем поиска и временем ожидания сектора.
Цилиндры делятся на зоны (на диске их обычно от 10 до 30). При продвижении от центра диска число секторов на дорожке в каждой зоне возрастает. Это усложняет структуру информации на дорожке, но зато повышает емкость диска, что считается более важным. Все секторы имеют одинаковый размер.
С диском связан так называемый контроллер — микросхема, которая управляет диском. Некоторые контроллеры содержат целый процессор. В задачу контроллера входит получение от программного обеспечения таких команд, как `READ`, `WRITE` и `FORMAT`(то есть запись всех преамбул), управление перемещением кронштейна, обнаружение и исправление ошибок, преобразование байтов, считываемых из памяти, в непрерывный поток битов, и наоборот. Некоторые контроллеры производят буферизацию и кэширование нескольких секторов на случай их дальнейшего использования, а также пропускают поврежденные секторы. Необходимость последней функции вызвана наличием секторов с поврежденным, то есть постоянно намагниченным, участком. Когда контроллер обнаруживает поврежденный сектор, он заменяет его одним из свободных секторов, которые выделяются специально для этой цели в каждом цилиндре или зоне.
Устройства на базе энергонезависимой флэш-памяти, часто называемые твердотельными накопителями или SSD-дисками (Solid State Disk), постепенно начинают рассматриваться как высокоскоростная альтернатива традиционным технологиям магнитных дисков.
Флэш-память образуется из множества твердотельных ячеек, состоящих из одного специального флэш-транзистора. В транзистор встроен плавающий затвор, который может заряжаться и разряжаться при помощи высоких напряжений. До программирования плавающий затвор не влияет на работу транзистора, фактически являясь дополнительным изолятором между управляющим затвором и каналом транзистора. В этом состоянии ячейка ведет себя как простой транзистор.
Для программирования ячейки флэш-памяти на управляющий затвор подается высокое напряжение (в компьютерном мире напряжение в 12 В считается высоким), ускоряющее процесс инжекции горячих электронов в плавающий затвор. Электроны внедряются в плавающий затвор, что приводит к появлению отрицательного заряда внутри транзистора. Внедренный отрицательный заряд увеличивает напряжение, необходимое для включения транзистора; проверяя, включается ли канал при высоком или низком напряжении, можно определить, заряжен ли плавающий затвор, и таким образом получить результат 0 или 1 для ячейки флэш-памяти. Внедренный заряд остается в транзисторе даже при отключении питания, в результате чего ячейка флэш-памяти становится энергонезависимой.
Так как SSD-диски по сути являются памятью, они обладают более высокой производительностью по сравнению с вращающимися магнитными дисками при нулевом времени поиска. Если типичный магнитный диск может обращаться к данным со скоростью 100 Мбит/с, то у SSD эта скорость в два-три раза выше. И поскольку устройство не имеет подвижных частей, оно особенно хорошо подходит для ноутбуков (колебания и перемещения не влияют на его способность обращаться к данным). Недостатком SSD-устройств по сравнению с магнитными дисками является их стоимость. Если память на магнитных дисках обходится в несколько центов за гигабайт, у типичного SSD-диска стоимость гигабайта составляет от одного до трех долларов. Соответственно технология хорошо подходит только для дисков небольшого объема или для ситуаций, в которых расходы не учитываются.
Другой недостаток твердотельных дисков по сравнению с магнитными — их ресурс безотказной работы. Типичная флэш-ячейка перестает функционировать примерно через 100 000 операций перезаписи. Процесс инжекции электронов в плавающий затвор медленно повреждает его и окружающие изоляторы вплоть до окончательной потери работоспособности. Для повышения срока жизни SSD была разработана методика нивелирования износа, основанная на распределении записи по всем ячейкам на диске. Каждый раз, когда на устройство записывается новый блок, для записи выбирается блок, относительно давно не использовавшийся. Для этого во флэш-накопителе должна храниться карта блоков — одна из причин, по которой хранение данных на флэш-дисках сопряжено с относительно высокими внутренними затратами. Благодаря нивелированию износа флэш-диск сможет выдержать количество операций записи, равное максимальному количеству операций записи для одной ячейки, умноженному на количество блоков на диске.
Некоторые SSD-диски способны кодировать несколько бит на ячейку, для чего применяются так называемые многоуровневые флэш-ячейки. Эта технология основана на тщательном контроле объема заряда, внедряемого в плавающий затвор. Типичные многоуровневые ячейки поддерживают четыре уровня заряда, то есть одна ячейка представляет два бита.
Оптические диски
Оптические диски, которые изначально использовались для записи телевизионных программ, позже стали одними из основных средств хранения информации в компьютерной индустрии. Благодаря большой емкости и низкой цене оптические диски повсеместно применяются для распространения ПО, книг, фильмов и данных других типов, а также для создания архивных копий жестких дисков.
Компакт-диск CD-ROM изготавливается с использованием очень мощного инфракрасного лазера, который выжигает отверстия диаметром 0,8 микрона в специальном стеклянном мастер-диске. По этому мастер-диску делается шаблон с выступами в тех местах, где лазер прожег отверстия. В шаблон вводится жидкая смола (поликарбонат), и, таким образом, получается компакт-диск с тем же набором отверстий, что и в стеклянном диске. На смолу наносится очень тонкий слой алюминия, который, в свою очередь, покрывается защитным лаком. После этого наклеивается этикетка. Углубления в нижнем слое смолы называются лунками (pits), а ровные пространства между лунками — площадками (lands). Во время воспроизведения лазерный диод небольшой мощности светит инфракрасным светом с длиной волны 0,78 микрона на сменяющие друг друга лунки и площадки. Лазер находится на той стороне диска, на которую нанесен слой смолы, поэтому лунки для лазера превращаются в выступы на ровной поверхности. Так как лунки имеют высоту в четверть длины световой волны лазера, длина световой волны, отраженной от выступа, составляет половину длины световой волны, отраженной от окружающей выступ ровной поверхности. В результате, если свет отражается от выступа, фотодетектор проигрывателя получает меньше света, чем при отражении от площадки. Именно таким образом проигрыватель отличает лунку от площадки. Хотя, казалось бы, проще всего использовать лунку для записи нуля, а площадку для записи единицы, для единицы надежнее оказалось использовать переход лунка-площадка или площадка-лунка, а отсутствие перехода — для нуля.
В отличие от обычных компакт-дисков, лунки и площадки на дисках CD-R имитируются путем изменения отражающей способности поверхности. На начальной стадии слой красителя прозрачен, что дает возможность свету лазера проходить сквозь него и отражаться от слоя золота. При записи информации мощность лазера увеличивается до 8–16 мВт. Когда луч достигает красителя, краситель нагревается, и в результате разрушается химическая связь. Такое изменение молекулярной структуры создает темное пятно. При чтении (когда мощность лазера составляет 0,5 мВт) фотодетектор улавливает разницу между темными пятнами, где краситель был поврежден, и прозрачными областями, где краситель остался нетронутым. При воспроизведении диска даже на обычном устройстве для считывания компакт-дисков или на аудиопроигрывателе это отличие воспринимается как разница между лунками и площадками традиционного диска CD-ROM.
Для создания перезаписываемых дисков CD-RW (CD-ReWritable — перезаписываемый компакт-диск используется носитель такого же размера, как и для дисков CD-R, однако вместо красителя при производстве CD-RW в качестве слоя записи применяется сплав серебра, индия, сурьмы и теллура. Этот сплав имеет два состояния: кристаллическое и аморфное, которые обладают разной отражательной способностью. Устройства для записи компакт-дисков снабжены лазером с тремя уровнями мощности. При самой высокой мощности лазер расплавляет сплав, меняя его состояние из кристаллического с высокой отражательной способностью в аморфное с низкой отражательной способностью, — так получается лунка. При средней мощности сплав расплавляется и возвращается обратно в естественное кристаллическое состояние, при этом лунка снова превращается в площадку. При низкой мощности лазер определяет состояние материала (обеспечивая считывание информации), никакой смены состояний при этом не происходит.
DVD-диски в целом похожи на компакт-диски. Как и обычные компакт-диски, они имеют 120 мм в диаметре, создаются на основе поликарбоната и содержат лунки и площадки, которые освещаются лазерным диодом и считываются фотодетектором. Однако существует несколько отличий:
меньший размер лунок (0,4 микрона вместо 0,8 микрона, как у обычного компакт-диска);
более плотная спираль (0,74 микрона между дорожками вместо 1,6 микрона);
красный лазер (с длиной волны 0,65 микрона вместо 0,78 микрона).
В совокупности эти усовершенствования дали семикратное увеличение емкости (до 4,7 Гбайт). Дальнейшее развитие технологии привелок тому, что появилось 4 формата DVD-дисков:
Односторонние однослойные диски (4,7 Гбайт).
Односторонние двухслойные диски (8,5 Гбайт).
Двухсторонние однослойные диски (9,4 Гбайт).
Двухсторонние двухслойные диски (17 Гбайт).
При двухслойной технологии на нижний отражающий слой помещается полуотражающий слой. В зависимости от того, где фокусируется лазер, он отражается либо от одного слоя, либо от другого. Чтобы обеспечить надежное считывание информации, лунки и площадки нижнего слоя делаются чуть большими по размеру, поэтому его емкость немного меньше, чем верхнего. Двухсторонние диски создаются путем склеивания двух односторонних дисков толщиной по 0,6 мм каждый. Чтобы толщина всех версий была одинаковой, односторонний диск толщиной 0,6 мм приклеивается к пустой подложке.
Шины
бычно компьютерное устройство представляет собой металлический корпус с большой интегральной схемой на дне, которая называется материнской или системной платой. Материнская плата содержит микросхему процессора, несколько разъемов для модулей DIMM и различные вспомогательные микросхемы. Еще на материнской плате располагаются шина (она тянется вдоль платы) и несколько разъемов для подсоединения устройств ввода-вывода.
Каждое устройство ввода-вывода состоит из двух частей: одна объединяет большую часть электроники и называется контроллером, а другая представляет собой само устройство ввода-вывода, например дисковод. Контроллер обычно располагается на плате, которая вставляется в свободный разъем. Исключение представляют собой контроллеры устройств, являющихся неотъемлемыми составными частями компьютера (например, клавиатуры), которые иногда располагаются на материнской плате. Контроллер связывается с самим устройством кабелем, который соединяется с разъемом на задней стороне корпуса.
Контроллер управляет своим устройством ввода-вывода и для этого регулирует доступ к шине. Например, если программа запрашивает данные с диска, она посылает команду контроллеру диска, который затем отправляет диску команду поиска и другие команды. После нахождения соответствующей дорожки и сектора диск начинает передавать контроллеру данные в виде потока битов. Задача контроллера состоит в том, чтобы разбить поток битов на фрагменты и записывать каждый такой фрагмент по мере накопления битов для него в память. Отдельный фрагмент обычно представляет собой одно или несколько слов. Если контроллер считывает данные из памяти или записывает их в память без участия центрального процессора, то говорят, что осуществляется прямой доступ к памяти (Direct Memory Access, DMA). Когда передача данных заканчивается, контроллер выдает прерывание, вынуждая центральный процессор приостановить работу текущей программы и начать выполнение особой процедуры. Эта процедура называется программой обработки прерываний и нужна она для того, чтобы проверить, нет ли ошибок, в случае их обнаружения произвести необходимые действия и сообщить операционной системе, что процесс ввода-вывода завершен. Когда программа обработки прерывания завершается, процессор возобновляет работу программы, которая была приостановлена в момент прерывания. Шина используется не только контроллерами ввода-вывода, но и процессором для передачи команд и данных. А что происходит, если процессор и контроллер ввода-вывода хотят получить доступ к шине одновременно? В этом случае особая микросхема, которая называется арбитром шины, решает, чья очередь первая. Обычно предпочтение отдается устройствам ввода-вывода, поскольку работу дисков и других движущихся устройств нельзя прерывать, так как это может привести к потере данных. Когда ни одного устройства ввода-вывода не функционирует, центральный процессор может полностью распоряжаться шиной для взаимодействием с памятью. Однако если работает какое-нибудь устройство ввода-вывода, оно будет запрашивать доступ к шине и получать его каждый раз, когда ему это необходимо. Этот процесс, который притормаживает работу компьютера, называется захватом цикла памяти (cycle stealing).
Основные современные шины — PCI (Peripheral Component Interconnect — взаимодействие периферийных компонентов) и ее развитие PCI Express (сокращенно PCIe).
Клавиатуры
Существуют несколько видов клавиатур. У первых компьютеров IBM PC под каждой клавишей находился переключатель, который давал ощутимую отдачу и щелкал при нажатии клавиши. Сегодня механический контакт с печатной платой при нажатии клавиш происходит лишь у самых дешевых клавиатур. У клавиатур получше между клавишами и печатной платой располагается слой эластичного материала (особого типа резины). Под каждой клавишей находится небольшой купол, который прогибается в случае нажатия клавиши. Проводящий материал, находящийся внутри купола, замыкает схему. У некоторых клавиатур под каждой клавишей находится магнит, который при нажатии клавиши проходит через катушку и таким образом вызывает электрический ток. Используются и другие методы, как механические, так и электромагнитные.
В персональных компьютерах при нажатии клавиши происходит процедура прерывания и запускается программа обработки прерывания (эта программа является частью программного обеспечения операционной системы). Программа обработки прерывания считывает содержимое аппаратного регистра в контроллер клавиатуры, чтобы получить номер нажатой клавиши (от 1 до 102). Когда клавиша отпускается, происходит второе прерывание. Так, если пользователь нажимает клавишу SHIFT, затем нажимает и отпускает клавишу М, а после этого отпускает клавишу SHIFT, операционная система понимает, что ему нужна прописная, а не строчная буква М. Обработка нажатий клавиш SHIFT, CTRL и ALT в сочетании с другими клавишами выполняется только программно (сюда же относится известное сочетание клавиш CTRL+ALT+DEL, которое используется для перезагрузки всех компьютеров IBM PC и их клонов).
Плоские мониторы
Самой распространенной технологией плоских мониторов является жидкокристаллический дисплей. Жидкие кристаллы представляют собой вязкие органические молекулы, которые двигаются как молекулы жидкостей, но при этом имеют структуру, как у кристалла. Когда молекулы расположены в одну линию, оптические качества кристалла зависят от направления и поляризации воздействующего света. При использовании электрического поля линия молекул, а следовательно, и оптические свойства, меняются. Если воздействовать лучом света на жидкий кристалл, интенсивность света, исходящего из самого жидкого кристалла, может контролироваться с помощью электричества. Это свойство используется при создании индикаторных дисплеев. Экран жидкокристаллического дисплея состоит из двух стеклянных параллельно расположенных пластин, между которыми находится герметичное пространство с жидким кристаллом. К обеим пластинам подсоединяются прозрачные электроды. Искусственный или естественный свет за задней пластиной освещает экран изнутри. Электроды, подведенные к пластинам, используются для того, чтобы создать электрические поля в жидком кристалле. На различные части экрана воздействует разное напряжение, что и позволяет строить изображение. К передней и задней пластинам экрана приклеиваются поляроиды, поскольку технологически дисплей требует поляризованного света.
Для подачи напряжения обычно используется два подхода. В дешевом пассивном матричном индикаторе на обоих электродах провода располагаются параллельно друг другу. Если подавать напряжение на один из вертикальных проводов, а затем посылать импульсы на один из горизонтальных, можно изменить напряжение в определенной позиции пиксела и, таким образом, сделать нужную точку темной. Если то же самое повторить со следующим пикселом и т.д., можно получить темную строку развертки. Обычно изображение на экране перерисовывается 60 раз в секунду, чтобы создавалось впечатление постоянной картинки. Второй подход — применение активного матричного индикатора. Он стоит гораздо дороже, чем пассивный, но зато дает изображение лучшего качества, что является большим преимуществом. Вместо двух наборов перпендикулярно расположенных проводов у активного матричного индикатора на одном из электродов имеется крошечный переключатель в каждой позиции пиксела. Меняя состояние переключателей, можно создавать на экране произвольную комбинацию напряжений в зависимости от комбинации битов. Эти переключатели называются тонкопленочными транзисторами (Thin Film Transistor, TFT), а плоские экраны, в которых они используются, — TFT-дисплеями. На основе технологии TFT теперь производится подавляющее большинство ноутбуков и автономных жидкокристаллических мониторов.
Для ЖК-мониторов, как для наиболее распространенных в настоящее время, важны следующие параметры.
Разрешение. Горизонтальный и вертикальный размеры, выраженные в пикселях. В отличие от ЭЛТ-мониторов, ЖК имеют одно, «родное», физическое разрешение, остальные достигаются интерполяцией.
Размер точки (в литературе можно встретить другое название«зерна») расстояние между центрами соседних пикселей. Непосредственно связан с физическим разрешением. Величина «зерна» большинства современных мониторов составляет от 0,25 до 0,28 мм.
Соотношение сторон экрана (формат). Отношение ширины к высоте, например: 4:3, 16:9, 16:10.
Видимая диагональ. размер самой панели, измеренный по диагонали. Площадь дисплеев зависит также от формата: монитор с форматом 4:3 имеет большую площадь, чем с форматом 16:10 при одинаковой диагонали.
Контрастность – отношение яркостей самой светлой и самой тёмной точек. В некоторых мониторах используется адаптивный уровень подсветки, приведенная для них цифра контрастности не относится к контрасту изображения.
Яркость – количество света, излучаемое дисплеем, обычно измеряется в канделах на квадратный метр.
Время отклика – минимальное время, необходимое пикселю для изменения своей яркости. Методы измерения неоднозначны.
Угол обзора – угол, при котором падение контраста достигает заданного, для разных типов матриц считается по-разному, и часто сравнению не подлежит.
Тип матрицы – технология, по которой изготовлен ЖК-дисплей
Входы (например: DVI, VGA, HDMI и пр.).
Видеопамять
Для обновления картики на мониторе используется видеопамять, размещенная на плате контроллера дисплея. Видеопамять содержит одну или несколько битовых карт, представляющих выводимое на экран изображение. В целях быстрого переключения с одного изображения на другое в памяти может размещаться несколько таких карт. Это порождает ряд проблем В современных дисплеях каждый пиксел представлен 3-байтным значением RGB, которое определяет интенсивность красного (Red), зеленого (Green) и синего (Blue) компонентов изображения (мощные профессиональные мониторы используют 10 и более бит на цвет). Как известно, любой цвет можно представить путем линейной суперпозиции трех упомянутых базовых цветов.
Если,например, в видеопамяти хранится информация о 1920 1080 пикселах, причем на каждый из них выделяется по 3 байта, общий объем этих данных составляет около 6,2 Мбайт; поэтому на любые манипуляции таким изображением уходит довольно много процессорного времени. По этой причине в некоторых компьютерах для определения цвета используются 8-разрядные числа. Такое число представляет собой индекс аппаратной таблицы (так называемой цветовой палитры), состоящей из 256 значений RGB (24-разрядных). Это решение, известное под названием индексированного цвета, позволяет на 2/3 сократить объем данных, хранящихся в видеопамяти. В то же время, при применении индексированного цвета в каждый конкретный момент на экран не может выводиться более 256 цветов. Как правило, для каждого окна формируется индивидуальная битовая карта, а это значит, что при наличии одной аппаратной палитры из всех присутствующих на экране окон корректно визуализируется только одно. Также применяются палитры с 216 элементами, но в этом случае выигрыш по занимаемой памяти составляет всего 1/3.
Для вывода растровых (то есть сформированных на основе битовых карт) изображений требуется большая пропускная способность. К примеру, для воспроизведения одного кадра полноцветных мультимедийных данных в полноэкранном формате на дисплее размером \(1920 \times 1080\) пикселов необходимо скопировать в видеопамять 6,2 Мбайт. Если учесть, что полноценный видеофильм выводится со скоростью 25 кадров в секунду, общая скорость передачи данных должна составлять 155 Мбайт/с. Такую пропускную способность не способна обеспечить даже первоначальная версия шины PCI (132 Мбайт/с), но шина PCIe легко справляется с ней.
Видеокарты имеют следующие характеристики:
ширина шины памяти, измеряется в битах— количество бит информации, передаваемой за такт. Важный параметр в производительности карты.
объём видеопамяти, измеряется в мегабайтах — объём собственной оперативной памяти видеокарты. Больший объём далеко не всегда означает большую производительность. Видеокарты, интегрированные в набор системной логики материнской платы или являющиеся частью ЦПУ, обычно не имеют собственной видеопамяти и используют для своих нужд часть оперативной памяти компьютера (UMA — UnifiedMemoryAccess).
частоты ядра и памяти — измеряются в мегагерцах, чем больше, тем быстрее видеокарта будет обрабатывать информацию.
текстурная и пиксельная скорость заполнения, измеряется в млн. пикселей в секунду, показывает количество выводимой информации в единицу времени.
Принтеры
Принтер (от англ. print — печать) — это внешнее периферийное устройство компьютера, предназначенное для вывода текстовой или графической информации, хранящейся в компьютере, на твёрдый физический носитель, обычно бумагу, малыми тиражами (от единиц до сотен) без создания печатной формы. Этим принтеры отличаются от полиграфического оборудования и ризографов, которое за счёт печатной формы быстрее и дешевле на крупных тиражах (сотни и более экземпляров).
Принтер — это высокотехнологичное устройство печати, созданное в первую очередь для работы с компьютером. Принтер предназначен для преобразования информации, хранящейся в вычислительном устройстве, из цифровой формы в аналоговый вид для доступного понимания этой информации пользователем и последующего долговременного её хранения.
Получили также распространение и другие устройства печати, такие, как многофункциональные устройства (МФУ), в которых в одном приборе объединены функции принтера, сканера, копировального аппарата и телефакса. Специализированной разновидностью принтера является плоттер.
По возможности печати графической информации принтеры делятся на следующие типы:
алфавитно-цифровые, иначе символьные или знаковые (с возможностью печати ограниченного набора символов);
графические.
По конструктивному устройству и принципу формирования изображения принтеры делятся на следующие виды:
принтеры ударного типа:
литерные (типовые) принтеры;
матричные (игольчатые) принтеры;
принтеры безударного типа:
струйные принтеры;
графопостроители (фломастерные или каплеструйные)
лазерные принтеры (разновидность светодиодные принтеры), использующие электрографическую печать;
термопринтеры;
твёрдочернильные принтеры;
сублимационные принтеры;
3D-принтеры;
фотонные принтеры;
По количеству выдаваемых цветов принтеры делятся на чёрно-белые и цветные.
По типу интерфейса подключения, то есть по соединению с источником данных (откуда принтер может получать данные для печати):
проводные принтеры (по проводным каналам):
через SCSI-интерфейс
через последовательный порт (COM)
через параллельный порт (LPT)
по шине Universal Serial Bus (USB)
через локальную сеть (LAN, NET)
с помощью двух портов, при этом один из портов управляет приводом ЧПУ, через другой порт идут данные на печатающие головки
беспроводные принтеры (по беспроводной связи):
через ИК-порт (IRDA)
по Bluetooth
по Wi-Fi (в том числе с помощью AirPrint)
Сетевой принтер — принтер, позволяющий принимать задания на печать от нескольких компьютеров, подключенных к локальной сети. Существует программно-настраиваемый сетевой принтер (то есть это любой подключенный принтер со специальной сетевой настройкой в компьютере) и аппаратно-поддерживаемый (это принтер с IP-адресом, имеющий встроенный сетевой адаптер и подключаемый напрямую в локальную сеть без обязательного подключения к компьютеру).
Литерные печатающие устройства формируют изображение не матрицей из точек, а сразу готовыми знаками. Позволяют выводить только текст.
Матричный принтер — компьютерный принтер, создающий изображение на бумаге из отдельных маленьких точек ударным способом. В матричном принтере изображение формируется на носителе печатающей головкой, представляющей из себя набор иголок, приводимых в действие электромагнитами. Головка располагается на каретке, движущейся по направляющим поперёк листа бумаги; при этом иголки в заданной последовательности наносят удары по бумаге через красящую ленту, аналогичную применяемой в печатных машинках и обычно упакованную в картридж, тем самым формируя точечное изображение.
Помимо печати текстовой информации, когда удары иголок контролируются программным обеспечением самого принтера, многие матричные принтеры имеют режим индивидуального управления иголками с компьютера, что обеспечивает возможность печати графической информации; однако в этом режиме скорость печати значительно падает. Иногда встроенное программное обеспечение принтера поддерживает загрузку во встроенную память принтера дополнительного набора шрифтов.
В зависимости от модели, матричные принтеры могут поддерживать все или некоторые из следующих режимов:
графическийрежим (англ. semi-graphic, character graphic);
алфавитно-цифровой режим, который может быть трех видов:
LQ (англ. LetterQuality — «типографское качество»), качественный режим 24-игольчатых принтеров;
NLQ (англ. NearLetterQuality — «качество близкое к типографскому»), качественный режим 9-игольчатых принтеров;
Draft — черновое качество печати; в этом режиме достигается максимальная скорость печати за счёт ухудшения её качества.
Некоторые модели матричных принтеров обладают возможностью многоцветной печати при использовании четырёхцветной CMYK красящей ленты. Смена цвета достигается смещением картриджа с лентой относительно печатающей головки дополнительным механизмом. Цветной матричный принтер позволяет получить семь цветов: основные цвета печатаются в один проход, а дополнительные цвета — в два прохода.
Несмотря на то, что технологии матричной печати часто воспринимаются как устаревшие, матричные принтеры по-прежнему находят применение там, где требуется недорогая массовая печать на многослойных бланках (например, на авиабилетах) или под копирку, а также в случаях, когда требуется вывод значительного количества чисто текстовой информации без предъявления особых требований к качеству получаемого документа (печать этикеток, ярлыков, данных с систем управления и измерения); дополнительная экономия при этом достигается за счёт использования дешёвой фальцованной или рулонной бумаги.
Струйный принтер — один из видов принтеров. Обладает малой скоростью печати по сравнению с лазерным принтером, но отличается высоким качеством печати полутоновых изображений, а также имеет более высокую скорость по сравнению с матричным принтером.
Принцип действия струйных принтеров похож на матричные принтеры тем, что изображение на носителе формируется из точек. Но вместо головок с иголками в струйных принтерах используется матрица, печатающая жидкими красителями.
Лазерный принтер — один из видов принтеров, позволяющий быстро изготавливать высококачественные отпечатки текста и графики на обычной (офисной) бумаге. Подобно фотокопировальным аппаратам лазерные принтеры используют в работе процесс ксерографической печати, однако отличие состоит в том, что формирование изображения происходит путём непосредственной экспозиции (освещения) лазерным лучом фоточувствительных элементов принтера. Отпечатки, сделанные таким способом, не боятся влаги, устойчивы к истиранию и выцветанию. Качество такого изображения наиболее высокое.
Процесс лазерной печати складывается из пяти последовательных операций:
Зарядка фотовала — нанесение равномерного электрического заряда на поверхность вращающегося фотобарабана
Лазерное сканирование (засвечивание) — процесс прохождения отрицательно заряженной поверхности фотовала под лазерным лучом. Под действием лазера участки фоточувствительной поверхности фотовала, которые были засвечены лазером, становятся электропроводящими, и часть заряда на этих участках «стекает» на металлическую основу фотовала. Тем самым на поверхности фотовала создаётся электростатическое изображение будущего отпечатка в виде «рисунка» из участков с менее отрицательным зарядом, чем общий фон.
Наложение тонера. Отрицательно заряженный ролик при подаче тонера придаёт тонеру отрицательный заряд и подаёт его на ролик проявки. Тонер, находящийся в бункере, притягивается к поверхности магнитного вала под действием магнита, из которого изготовлена сердцевина вала. Во время вращения магнитного вала тонер, находящийся на его поверхности, проходит через узкую щель, образованную между дозирующим лезвием и магнитным валом. После этого тонер входит в контакт с фотовалом и притягивается на него в тех местах, где сохранился отрицательный заряд.
Перенос тонера. В месте контакта фотовала с бумагой под бумагой находится ещё один ролик, называемый роликом переноса. На него подаётся положительный заряд, который он сообщает и бумаге, с которой контактирует. Частички тонера, войдя в соприкосновение с положительно заряженной бумагой, переносятся на неё и удерживаются на поверхности за счёт электростатики.
Закрепление тонера. Закрепляется изображение за счёт нагрева и давления. Печка состоит из двух валов: верхнего, внутри которого находится нагревательный элемент (обычно — галогенная лампа), называемый термовалом; нижнего (прижимной ролик), который прижимает бумагу к верхнему за счёт подпорной пружины.
Принцип многоцветной лазерной печати состоит в следующем. На начальном этапе процесса печати движок рендеринга берёт цифровой документ и обрабатывает его один или несколько раз, создавая его постраничное растровое изображение, разложенное по цветовым составляющим, соответствующим цветам используемых тонеров. На втором этапе лазер или массив светодиодов формирует распределение зарядов на поверхности вращающегося фоточувствительного барабана, подобное получаемому изображению. Заряженные мелкие частицы тонера, состоящего из красящего пигмента, смол и полимеров, притягиваются к разряженным участкам поверхности барабана.
Далее с барабаном соприкасается бумага, и тонер переносится на неё. В большинстве цветных лазерных принтеров используются четыре отдельных прохода, соответствующие разным цветам. Потом бумага проходит через «печку», которая расплавляет смолы и полимеры в тонере и фиксирует его на бумаге, создавая окончательное изображение.
Лазеры способны точно фокусироваться, в результате получаются очень тонкие лучи, которые разряжают необходимые участки фоточувствительного барабана. Благодаря этому современные лазерные принтеры, как цветные, так и чёрно-белые, имеют высокое разрешение.
Принципиальное отличие светодиодного принтера от лазерного заключается в механизме освещения светочувствительного вала. В случае лазерной технологии это делается одним источником света (лазером), который с помощью сканирующей системы призм и зеркал пробегает по всей поверхности вала. В светодиодных же принтерах вместо лазера используется светодиодная линейка, расположенная вдоль всей поверхности вала.
Принцип работы светодиодных принтеров во многом схож с принципом работы лазерных. Работа принтера основана на принципе сухого электростатического переноса — источник света освещает поверхность светочувствительного вала, воздействие света вызывает изменение заряда в освещенных частях барабана, за счет чего к ним примагничивается порошкообразный тонер. Методы переноса тонера на барабан, на бумагу, и закрепления его в печке, идентичны аналогичным методам, применяющимся в лазерной печати — вал прокатывается по бумаге, перенося на неё тонер, после чего бумага передается в устройство термического закрепления (печку), где за счет высокой температуры и давления тонер закрепляется на бумаге.
Сублимационный принтер — принтер, печатающий изображение на поверхностях путем внесения твердотельного (обычно кристаллического) красителя под поверхность бумаги.
Твердочернильный принтер — принтер, использующий для печати брикеты твердых чернил, соответствующие CMYK. Брикеты чернил загружаются в принтер. Брикеты разных цветов отличаются по форме, что позволяет избежать ошибки при загрузке чернил. После включения принтер расплавляет часть чернил, которые затем поступают в неподвижную печатающую головку. Головка наносит изображение на вращающийся барабан из анодированного алюминия, покрытый силиконовой смазкой. Затем в трей подается слегка подогретый лист бумаги, который прижимается к барабану специальным роликом. Изображение переносится на бумагу в один проход, благодаря чему печать может осуществляться с высокой скоростью.
Плоттер — устройство для автоматического вычерчивания с большой точностью рисунков, схем, сложных чертежей, карт и другой графической информации на бумаге размером до A0 или кальке. Плоттеры рисуют изображения с помощью пера (пишущего блока). Механизм печати — струйный или электрографический.