Из чего делают компьютер

Обновлено: 06.07.2024

Сложно в это поверить, но современный процессор является самым сложным готовым продуктом на Земле – а ведь, казалось бы, чего сложного в этом куске железа?

image

Как и обещал – подробный рассказ о том, как делают процессоры… начиная с песка. Все, что вы хотели знать, но боялись спросить )


Я уже рассказывал о том, «Где производят процессоры» и о том, какие «Трудности производства» на этом пути стоят. Сегодня речь пойдет непосредственно про само производство – «от и до».

Производство процессоров

Когда фабрика для производства процессоров по новой технологии построена, у нее есть 4 года на то, чтобы окупить вложенные средства (более $5млрд) и принести прибыль. Из несложных секретных расчетов получается, что фабрика должна производить не менее 100 работающих пластин в час.

Вкратце процесс изготовления процессора выглядит так: из расплавленного кремния на специальном оборудовании выращивают монокристалл цилиндрической формы. Получившийся слиток охлаждают и режут на «блины», поверхность которых тщательно выравнивают и полируют до зеркального блеска. Затем в «чистых комнатах» полупроводниковых заводов на кремниевых пластинах методами фотолитографии и травления создаются интегральные схемы. После повторной очистки пластин, специалисты лаборатории под микроскопом производят выборочное тестирование процессоров – если все «ОК», то готовые пластины разрезают на отдельные процессоры, которые позже заключают в корпуса.

Уроки химии

Давайте рассмотрим весь процесс более подробно. Содержание кремния в земной коре составляет порядка 25-30% по массе, благодаря чему по распространённости этот элемент занимает второе место после кислорода. Песок, особенно кварцевый, имеет высокий процент содержания кремния в виде диоксида кремния (SiO2) и в начале производственного процесса является базовым компонентом для создания полупроводников.

image

Первоначально берется SiO2 в виде песка, который в дуговых печах (при температуре около 1800°C) восстанавливают коксом:

Данные реакции с использованием рецикла образующихся побочных кремнийсодержащих веществ снижают себестоимость и устраняют экологические проблемы:
2SiHCl3 SiH2Cl2 + SiCl4
2SiH2Cl2 SiH3Cl + SiHCl3
2SiH3Cl SiH4 + SiH2Cl2
SiH4 Si + 2H2

Получившийся в результате водород можно много где использовать, но самое главное то, что был получен «электронный» кремний, чистый-пречистый (99,9999999%). Чуть позже в расплав такого кремния опускается затравка («точка роста»), которая постепенно вытягивается из тигля. В результате образуется так называемая «буля» — монокристалл высотой со взрослого человека. Вес соответствующий — на производстве такая дуля весит порядка 100 кг.

image

Слиток шкурят «нулёвкой» :) и режут алмазной пилой. На выходе – пластины (кодовое название «вафля») толщиной около 1 мм и диаметром 300 мм (

12 дюймов; именно такие используются для техпроцесса в 32нм с технологией HKMG, High-K/Metal Gate). Когда-то давно Intel использовала диски диаметром 50мм (2"), а в ближайшем будущем уже планируется переход на пластины с диаметром в 450мм – это оправдано как минимум с точки зрения снижения затрат на производство чипов. К слову об экономии — все эти кристаллы выращиваются вне Intel; для процессорного производства они закупаются в другом месте.

Каждую пластину полируют, делают идеально ровной, доводя ее поверхность до зеркального блеска.

image

Производство чипов состоит более чем из трёх сотен операций, в результате которых более 20 слоёв образуют сложную трёхмерную структуру – доступный на Хабре объем статьи не позволит рассказать вкратце даже о половине из этого списка :) Поэтому совсем коротко и лишь о самых важных этапах.

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

Фотолитография


Проблема решается с помощью технологии фотолитографии — процесса избирательного травления поверхностного слоя с использованием защитного фотошаблона. Технология построена по принципу «свет-шаблон-фоторезист» и проходит следующим образом:
— На кремниевую подложку наносят слой материала, из которого нужно сформировать рисунок. На него наносится фоторезист — слой полимерного светочувствительного материала, меняющего свои физико-химические свойства при облучении светом.
— Производится экспонирование (освещение фотослоя в течение точно установленного промежутка времени) через фотошаблон
— Удаление отработанного фоторезиста.

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

image

Иной раз осаждать те или иные материалы в нужных местах пластины просто невозможно, поэтому гораздо проще нанести материал сразу на всю поверхность, убрав лишнее из тех мест, где он не нужен — на изображении выше синим цветом показано нанесение фоторезиста.

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

Как изолировать области, не требующие последующей обработки? Перед литографией на поверхность кремниевой пластины (при высокой температуре в специальной камере) наносится защитная пленка диэлектрика – как я уже рассказывал, вместо традиционного диоксида кремния компания Intel стала использовать High-K-диэлектрик. Он толще диоксида кремния, но в то же время у него те же емкостные свойства. Более того, в связи с увеличением толщины уменьшен ток утечки через диэлектрик, а как следствие – стало возможным получать более энергоэффективные процессоры. В общем, тут гораздо сложнее обеспечить равномерность этой пленки по всей поверхности пластины — в связи с этим на производстве применяется высокоточный температурный контроль.

image

Так вот. В тех местах, которые будут обрабатываться примесями, защитная пленка не нужна – её аккуратно снимают при помощи травления (удаления областей слоя для формирования многослойной структуры с определенными свойствами). А как снять ее не везде, а только в нужных областях? Для этого поверх пленки необходимо нанести еще один слой фоторезиста – за счет центробежной силы вращающейся пластины, он наносится очень тонким слоем.

image

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

image

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

image

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

image

Там, где диэлектрик был убран, ионы проникают в слой незащищенного кремния – в противном случае они «застревают» в диэлектрике. После очередного процесса травления убираются остатки диэлектрика, а на пластине остаются зоны, в которых локально есть бор. Понятно, что у современных процессоров может быть несколько таких слоев — в таком случае на получившемся рисунке снова выращивается слой диэлектрика и далее все идет по протоптанной дорожке — еще один слой фоторезиста, процесс фотолитографии (уже по новой маске), травление, имплантация… ну вы поняли.

Характерный размер транзистора сейчас — 32 нм, а длина волны, которой обрабатывается кремний — это даже не обычный свет, а специальный ультрафиолетовый эксимерный лазер — 193 нм. Однако законы оптики не позволяют разрешить два объекта, находящиеся на расстоянии меньше, чем половина длины волны. Происходит это из-за дифракции света. Как быть? Применять различные ухищрения — например, кроме упомянутых эксимерных лазеров, светящих далеко в ультрафиолетовом спектре, в современной фотолитографии используется многослойная отражающая оптика с использованием специальных масок и специальный процесс иммерсионной (погружной) фотолитографии.

image

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

image

Финишная прямая

Ура – самое сложное позади. Осталось хитрым способом соединить «остатки» транзисторов — принцип и последовательность всех этих соединений (шин) и называется процессорной архитектурой. Для каждого процессора эти соединения различны – хоть схемы и кажутся абсолютно плоскими, в некоторых случаях может использоваться до 30 уровней таких «проводов». Отдаленно (при очень большом увеличении) все это похоже на футуристическую дорожную развязку – и ведь кто-то же эти клубки проектирует!

image

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

image

На следующем этапе процессор упаковывается в подложку (на рисунке – процессор Intel Core i5, состоящий из CPU и чипа HD-графики).

image

Привет, сокет!

Подложка, кристалл и теплораспределительная крышка соединяются вместе – именно этот продукт мы будем иметь ввиду, говоря слово «процессор». Зеленая подложка создает электрический и механический интерфейс (для электрического соединения кремниевой микросхемы с корпусом используется золото), благодаря которому станет возможным установка процессора в сокет материнской платы – по сути, это просто площадка, на которой разведены контакты от маленького чипа. Теплораспределительная крышка является термоинтерфейсом, охлаждающим процессор во время работы – именно к этой крышке будут примыкать система охлаждения, будь то радиатор кулера или здоровый водоблок.

image

image

Сокет (разъём центрального процессора) — гнездовой или щелевой разъём, предназначенный для установки центрального процессора. Использование разъёма вместо прямого распаивания процессора на материнской плате упрощает замену процессора для модернизации или ремонта компьютера. Разъём может быть предназначен для установки собственно процессора или CPU-карты (например, в Pegasos). Каждый разъём допускает установку только определённого типа процессора или CPU-карты.

image

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

image

The end

Теперь представьте себе, что компания анонсирует, например, 20 новых процессоров. Все они различны между собой – количество ядер, объемы кэша, поддерживаемые технологии… В каждой модели процессора используется определенное количество транзисторов (исчисляемое миллионами и даже миллиардами), свой принцип соединения элементов… И все это надо спроектировать и создать/автоматизировать – шаблоны, линзы, литографии, сотни параметров для каждого процесса, тестирование… И все это должно работать круглосуточно, сразу на нескольких фабриках… В результате чего должны появляться устройства, не имеющие права на ошибку в работе… А стоимость этих технологических шедевров должна быть в рамках приличия… Почти уверен в том, что вы, как и я, тоже не можете представить себе всего объема проделываемой работы, о которой я и постарался сегодня рассказать.

Ну и еще кое-что более удивительное. Представьте, что вы без пяти минут великий ученый — аккуратно сняли теплораспределительную крышку процессора и в огромный микроскоп смогли увидеть структуру процессора – все эти соединения, транзисторы… даже что-то на бумажке зарисовали, чтобы не забыть. Как думаете, легко ли изучить принципы работы процессора, располагая только этими данными и данными о том, какие задачи с помощью этого процессора можно решать? Мне кажется, примерно такая картина сейчас видна ученым, которые пытаются на подобном уровне изучить работу человеческого мозга. Только если верить стэнфордским микробиологам, в одном человеческом мозге находится больше «транзисторов», чем во всей мировой IT-инфраструктуре. Интересно, правда?

image
BONUS

Хватило сил дочитать до этого абзаца? ) Поздравляю – приятно, что я постарался не зря. Тогда предлагаю откинуться на спинку кресла и посмотреть всё описанное выше, но в виде более наглядного видеоролика – без него статья была бы не полной.

Эту статью я писал сам, пытаясь вникнуть в тонкости процесса процессоростроения. Я к тому, что в статье могут быть какие-то неточности или ошибки — если найдете что-то, дайте знать. А вообще, чтобы окончательно закрепить весь прочитанный материал и наглядно понять то, что было недопонято в моей статье, пройдите по этой ссылке. Теперь точно всё.

Ну вот. вы только что сломали мою любимую кнопку для введения в заблуждение. С пятницей! :)


Успехов!

image

Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Windows 10. Данный цикл статей рассчитан в первую очередь на студентов технических специальностей. Мы рассмотрим какой путь проходит информация о нажатой клавише от клавиатуры до отображения в Notepad.exe. В виду обширности и междисциплинарности темы в статьях могут быть неточности, о которых сообщайте в комментариях. Какая-то информация может быть устаревшей в виду скорости с которой развивается Windows.

Насколько глубоко мы погрузимся в тему?

Давайте для начала в общих чертах поговорим об уровнях на которых можно рассматривать компьютер. Каждый уровень основывается на предыдущем. Начнём с самого верха.

Уровень операционной системы. ОС можно рассматривать как:

  • Менеджер ресурсов — память, жёсткие диски, принтеры, экран, клавиатура ограниченные ресурсы которые совместно используются запущенными на компьютере программами.
  • Виртуальная машина — файл это наглядный пример виртуального объекта. Он представляет абстракцию данных на диске, API для работы с ним и так же добавляет концепцию прав доступа. Вместо файла могла быть концепция контейнера данных и совершенно другого API. Таких виртуальных объектов в ОС много.
  • Платформа — ОС предоставляет программные модели и примитивы для построения программ. К примеру Windows Drivers Framework позволяет быстро разрабатывать драйвера, окна в Windows используются для построения сложных пользовательских интерфейсов. Dll — предоставляет модель расширения функционала программы через плагины, а так же механизм для реализации читалки экрана через ловушки клавиатуры (см. LowLevelKeyboard hook).

image

Уровень архитектуры компьютера. Он представлен материнской платой, которая имеет определённый форм-фактор, встроенные функции закодированные в микросхемах называемых чип-сетом и порты, через которые можно расширять функционал компьютера подключив графическую карту, сетевую карту, дополнительную оперативную память (RAM), жёсткие диски, клавиатуру и пр. Порты влияют на скорость работы и возможности компьютера, что и будет определять его назначение будь то сервер для обработки тысяч запросов в секунду, планшет для пользования Интернетом или игровой ПК с несколькими видеокартами. ОС абстрагирует особенности материнской платы.

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

image

Материнскую плату можно рассматривать как колонию микросхем которые общаются между собой через шины и через них циркулируют данные от подключенных устройств к процессору и обратно. Чип-сет — это своего рода нервная система компьютера. Все чипы на материнской плате были изначально созданы чтобы работать друг с другом. Некоторые из них могут иметь особые функции, к примеру таймер или хранение настроек BIOS. Пожалуй самый важный из них тот что имеет встроенную программу (прошивку, BIOS, UEFI) которая начинает выполняться как только появляется электричество. Она находит жёсткий диск с загрузчиком Windows и передаёт тому управление который в свою очередь запускает исполняемый файл ОС, который можно назвать Windows10.exe, на самом деле NtOsKrnl.exe. BIOS знает что искать благодаря соглашению между производителями железа и операционных систем.

Вокруг материнской платы можно собрать мобильный телефон, игровую приставку, серверную станцию или умное устройство. На картинке ниже распространённые форм-факторы материнских плат.

image

Уровень микроархитектуры представлен процессором (CPU), это сердце материнки и весь чип-сет нужен для обслуживания CPU. Процессор это компьютер в компьютере, более мощный и продвинутый микроконтроллер которому не нужна прошивка, потому как поток команд подаётся на лету, когда планировщик потоков поменял контекст процессора. Функционал процессора делится на подсистемы, к примеру компонент занимающийся математическими и логическими операциями, математический сопроцессор, кэш. Какие-то из них раньше были отдельным чипом на материнской плате, но сейчас их сделали частью ЦПУ, например контроллер прерывания и микросхема под названием “Северный мост” что увеличило скорость работы.

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

image

Архитектура процессора это по сути документ который описывает какой функциональностью он должен обладать для того чтобы соответствовать к примеру архитектуре x86, x64 или ARM применяемой на мобильных устройствах. В этом документе описано какие должны поддерживаться команды, назначения регистров и логика работы. Создатели процессоров Intel, AMD, Эльбрус могут реализовывать эту функциональность как угодно и добавлять к ней новые возможности в виде команд, регистров, флагов, прерываний и если ОС знает о них то может использовать. В терминах ООП архитектура ЦПУ — это интерфейс, а микроархитектура — его реализация.

Логические схемы. Цветные прямоугольники с блок-схемы CPU состоят из логических схем, которые производят свои операции на последовательностях нулей и единиц. Процессор видит все данные и команды в виде битов (0 и 1), по формуле любое десятичное число можно представить в виде последовательности 0 и 1, а вот что значит конкретное число зависит от контекста. Это может быть код, цифра, буква. Арифметическое и логическое устройство (ALU) умеет производить сложение двух чисел через побитовые операции. Побитовые алгоритмы сложения, вычитания, умножения и деления давно известны, разработчикам логической схемы их только надо эффективно реализовать.

image

image


Уровень радиоэлементов. Физически аналоговые схемы полагаются на радиоэлементы, которые собственно и эксплуатируют законы физики. Преимущественно это полупроводники, т.е. в определённых условиях они могут проводить электричество, а могут и нет. Диод проводит ток только в одном направлении, если его выпаять, развернуть на 180 и впаять обратно, то ток через него проходить не будет. Транзистор пропускает ток только если есть напряжение на управляющей ножке. Человечество научилось делать транзисторы микроскопическими и потому их можно размещать на маленькой плате миллионами. На картинках ниже полупроводниковые радиоэлементы и обычный транзистор рядом с нано транзистором под электронным микроскопом.

image

Уровень законов физики. И наконец самый нижний уровень — это уровень законов физики которые заключены в полупроводниковые радиоэлементы.

image

Мы будем много говорить про уровень ОС и чуть меньше про архитектуру компьютера, микроархитектуру, аналоговые схемы и радиоэлементы. К последней части у вас должно быть понимание как это всё работает вместе.

Основы Операционной Системы

Когда мы проходили в универе программирование на ассемблере у многих студентов был ступор от таких умных слов как “режимы ядра и пользователя”, под которыми на самом деле скрывается хорошо всем известная ролевая система аутентификации, на всех сайтах есть как минимум “Админ” имеющий доступ ко всем страницам и “Пользователь” имеющий ограниченный доступ. Точно так же роль “Ядро” имеет доступ ко всем возможностям CPU, а роль “Пользователь” может вызывать не все команды процессора и не со всеми аргументами. Поверх этой ролевой модели по принципу клиент-серверной архитектуры построена операционная система, где сервер это ядро, которое и реализовывает функционал ОС, а клиент — это пользовательские программы. В мире Web клиент и сервер разделены физически — это два разных компьютера общающихся по сети. В ОС клиент и сервер живут на одной машине и на одном железе. У сервера есть некий API который позволяет клиентам изменять его состояние, к примеру Twitter API позволяет создавать посты, логиниться и загружать ленту твитов в мобильный клиент. У Windows есть Win API, только более громоздкий в виду более широкого круга задач, на сегодняшний день у винды примерно 330 000 API плюс API для UWP apps. Если концепции Твитера более менее всем понятны — пост, пользователь, фид — то концепции ОС могут потребовать некоторого углубления в её внутренности. Поэтому API Windows могут быть трудно понятными без понимания внутреннего устройства ОС.

На самом деле под ядром понимают три разные вещи. Ядро как весь код ОС. Ядро как подсистема которая отвечает за механизмы ОС, такие как планировщик потоков, переключение контекста, обработка прерываний, свап виртуальный памяти на физическую (Kernel) и ядро подсистемы для поддержки других ОС — CSRSS.exe (Windows), PSXSS.exe (POSIX), OS2SS.exe (OS/2) или WSL (Windows SubSystem for Linux). В данном контексте понимается первый смысл — весь код ОС.

Когда на экране появляется окно, то в серверной части ОС (режим ядра) появляется структура данных которая описывает это окно — его положение на экране, размеры, текст заголовка, оконная функция через которую ОС даёт приложению среагировать на события. Поскольку подсистем в ОС много, то и структур данных описывающих один объект может быть несколько, к примеру информация о пользовательском процессе есть в компонентах:

  • Executive — здесь логика работы ОС. В этом слое проверяется что могут и не могут делать процессы. Здесь хранится инфа о родительском процессе, параметры старта процесса (Process Environment Block), привязанный аккаунт пользователя, имя exe файла процесса.
  • Kernel — здесь реализованы механизмы ОС, такие как планировщик потоков. Здесь хранится сколько времени процесс проводит в режиме пользователя и ядра, к каким процессорам привязаны его потоки, базовый приоритет потоков процесса.
  • Windowing subsystem — инфа о GDI объектах которые используются для рисования в окне. Это такие примитивы как кисти, pen и пр.
  • DirectX — всё что имеет отношение к DirectX: шейдеры, поверхности, DX-объекты, счётчики производительности GPU, настройки памяти графической памяти.
  • Подсистема Windows которая представлена процессом CSRSS.exe (Client Server Runtime SubSystem). Windows ранее поддерживал ОС POSIX (процесс PSXSS.exe) и OS/2 (OS2SS.exe). В те времена возникла идея сделать и Windows такой же подсистемой, но эта было медленно и поэтому скоро часть CSRSS.exe перенесли в win32k.sys, который сейчас разбит на несколько файлов — win32k.sys, win32kbase.sys и win32kfull.sys. Здесь хранится информация о Process Group Data, Shutdown level, Session Data и пр.

Что такое компонент? Это логически сгруппированный функционал. Компонентом можно назвать ООП-класс, dll, папку, набор функций с общим префиксом, пространство имён, слой в архитектуре.

Более подробно о разделении на клиент-сервер

Разделение на клиент и сервер реализовано при помощи встроенной функциональности CPU, разделения памяти и программных проверок.

Производители оборудования сотрудничают с разработчиками ОС, поэтому в процессоре есть механизмы созданные с учётом потребностей создателей операционных систем. Во всех современных процессорах реализован механизм ролей пользователя, где под пользователем понимается исполняемый в данный момент код. В веб приложениях роль залогиненого пользователя хранится в какой-то переменной и помимо понятного названия Admin или User имеет Id этой роли который чаще и используется при авторизации, потому как сравнивать числа быстрее и проще чем строки. В процессоре роль текущего пользователя хранится в поле которое называется “кольцо безопасности” (Security Ring), а не “CurrentUser.Role.Id”. В большинстве процессоров это поле принимает четыре значения от 0 до 3. Windows использует 0 для роли которая называется “Режим Ядра”, потому как это самый привилегированный режим и самое большое значение для роли “Режим Пользователя”, потому как это самая ограниченная роль. Остальные роли не используются потому как различие между 0 и 1, 2 и 3 незначительное. Эти роли ограничивают страницы памяти которые могут быть адресованы, нельзя вызывать некоторые инструкции или же нельзя их вызывать с определёнными аргументами. Так же есть ограничения на использование технологии I/O Ports для обмена данными с устройствами такими как клавиатура, но она уже лет 10 не используется. Переключение в режим ядра происходит через команду syscall, которая по индексу находит в массиве указателей на APIs Windows функцию которую надо вызвать. Указатель на этот массив сохраняется в специальном регистре процессора во время загрузки ОС.

image

Прерывания могут генерироваться не только процессором но и внешними устройствами (клавиатура, мышь) или программным кодом. Планировщик потоков устанавливает таймер который с интервалами равными одному кванту (по умолчанию около 15мс, в Windows Server больше) генерирует прерывание чтобы по внутреннему алгоритму назначить другой поток на исполнение. Пошаговое исполнение программы в Visual Studio так же полагается на механизм прерываний — у процессора устанавливается флаг, который после каждой команды вызывает прерывание которое обрабатывает Windows Debugging Engine и уведомляет через API Visual Studio.

Разделение памятью реализовано благодаря виртуальной памяти. Ранее я говорил что ОС это менеджер ресурсов и виртуальная машина. Даже если у вас 1Гб RAM 32х битный Windows будет работать так как если бы у вас было 4Гб оперативки, т.е. реально у вас 1Гб, а виртуально 4Гб. Современные компьютеры основаны на теоретической модели машины Тьюринга или же архитектуре фон Неймана (с некоторыми изменениями). Согласно этим моделям память в компьютере это лента состоящая из ячеек размером один байт. Эти ячейки сгруппированы в страницы как правило по 4096 байт (4Кб), потому как:

image
image

64 битный адрес позволяет адресовать 16 экзабайт, это 18,446,744,073,709,551,616 ячеек памяти. Современные процессоры пока что не поддерживают так много RAM и поэтому используют только младшие 48 бит адреса, остальные 16 заполняются старшим разрядом. Поэтому Win x64 попросту не использует часть адресов, которые помечены на рисунке выше чёрным. Но это не значит, что 64х битный Windows “видит” 256 Tb оперативки. Максимум 8TB виртуальной памяти на архитектуре IA64 и 7TB на x64. Предел физической памяти поддерживаемой Windows 10 — 2TB, потому как с большим количеством Винда не тестировалась. Объём поддерживаемой RAM в Windows 10 определяется во многом редакцией ОС, чем дороже тем больше.

Почему ячейки памяти пронумерованы шестнадцатиричными (HEX) числами, а не десятичными или двоичными? Адрес ячейки это не просто порядковый номер, в нём закодировано три числа по которым эту ячейку можно отобразить на физическую память. Первые два это индексы по которым находится конкретная страница виртуальной памяти, а третье число — смещение от начала страницы. CPU и ОС здесь работают в связке — ОС предоставляет структуру данных по которой CPU находит страницу виртуальной памяти и копирует её в физическую. По HEX номеру можно сразу увидеть как выровнен в памяти адрес. Формат двоичного числа слишком громоздкий, 32 бита (или 64) трудны для восприятия. Десятичный формат — показывает слишком мало информации, тогда как HEX удобный компромисс между десятичной и двоичной системами, средами людей и машин.

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

Из чего состоит Windows?

Абстракция или же разбиение на компоненты есть во всех сферах программирования и интуитивно понятно что Windows тоже делится на какие-то компоненты. Под компонентом понимается какая-то единица функциональности — ООП класс, файл, dll, папка. Компоненты на диаграмме ниже могут быть как индивидуальными *.sys, *.dll файлами, так и просто набором API сгруппированным логически через добавление префикса к имени функции, старая часть системы написана на C, а он не поддерживает классы. Новые части пишутся нередко на C++. В укрупнённом виде Винда выглядит так:

image

Давайте быстренько пробежимся по её компонентам снизу вверх:

  • Hyper-V Hypervisor — слой виртуализации благодаря которому в Windows можно создать виртуальную машину. Иногда говорят, что Hyper-V это минус первый уровень привилегий, однако реализован он в одном уровне привилегий и адресном пространстве что и ядро ОС, за счёт использования слоёной архитектуры ОС ничего не знает о нём.
  • HAL.dll — Hardware Abtraction Layer — изначально задумывался как абстракция над железом — чипсет, материнская плата, процессор — для того чтобы можно было перенести Windows на новую платформу реализовав новый HAL.dll, который будет выбран и скопирован во время установки. По сути это драйвер к устройствам материнской платы, к примеру таймерам, контроллеру прерываний. Сейчас его роль снижена, потому как многие драйвера материнки и чип-сета реализованы в ACPI.sys.

Как делают компьютеры?

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

Компьютер состоит из двух крупных блоков устройств:

  • системного блока. Именно здесь расположены основные узлы компьютера;
  • периферийных устройств ввода и вывода. К этому блоку относятся:
  1. клавиатура;
  2. мышь;
  3. монитор;
  4. сканер;
  5. принтер;
  6. модем.

Системный блок

Системный блок состоит из:

  • микропроцессора;
  • материнской платы;
  • видеокарты;
  • жесткого диска;

Микропроцессор

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

Процессоры

  • Разрядность. Этот параметр указывает, какое количество бит информации процессор примет и обработает за единицу времени.
  • Тактовая частота. А вот она как раз определяет скорость, говорит о том, сколько операций процессор может выполнить в секунду.

Современный микропроцессор состоит из миниатюрного чипа, установленного на электронную карту. Его производство начинается с изготовления специального керамического квадрата: подложки. На нём закрепляют сам микрочип. После установки чипа на подложку происходит пайка. Для этого будущий процессор отправляют в печь с температурой 360 градусов. Далее на процессор устанавливают специальную крышку. Она одновременно защищает его и поглощает выделяемое тепло. Последний этап проверки чипа перед установкой его на электронную карту – контрольная проверка качества. Чип на 12 часов отправляется в печь, разогретую до 140 градусов. И только после этого, уже на другом заводе, собирают чип и электронную карту вместе, производят, собственно, сам микропроцессор.

Материнская плата

«Сердце» компьютера. Именно на материнскую плату устанавливается микропроцессор, к ней подключаются остальные узлы компьютера.

Первым делом создаётся эталонная конструкция материнской платы. Она определяет её основные конфигурации и принцип работы. Как правило, на основе эталонной конструкции в дальнейшем разрабатывают три варианта:

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

На втором этапе, уже вручную, добавляют более крупные компоненты (это разнообразные порты, разъёмы, слоты). Закрепляют эти компоненты в специальной машине. Последними на материнскую плату устанавливают системы охлаждения. В процессе создания и сразу после материнская плата постоянно проходит тестирование.

Видеокарта

Именно она преобразует графический образ из памяти компьютера в то, что мы видим на мониторе. Встроенные видеокарты – неотъемлемая часть материнской платы. Для сборки видеокарт применяют две технологии:

Видеокарта

  • открытый монтаж;
  • монтаж с использованием отверстий в плате. Именно в эти отверстия помещают компоненты платы, после чего припаивают их. Закрепляются компоненты на плате с помощью паяльной пасты. А наносят пасту по особому шаблону.

Открытый монтаж

Открытый монтаж делается специальным автоматом и тут принцип похож на создание материнской платы. Со скоростью 10 компонентов в секунду аппарат автоматически устанавливает их в нужных местах.

Сама припайка компонентов к плате происходит в конвекционной печи при температуре в 240 градусов. Все разъёмы видеокарты в соответствующие отверстия на плате устанавливаются вручную.

Жёсткий диск или винчестер

Основное хранилище информации в компьютере. Именно здесь хранится всё: от текстовых документов до всевозможных игр.

Жёсткий диск состоит из магнитных пластин и блока головок с соленоидным мотором. Всё это монтируется в алюминиевом корпусе.

HDD

Самый ответственный и сложный процесс в изготовлении жёсткого диска – производство слайдера. Это кристаллы с головками чтения и записи. Они – самые мелкие и точные компоненты винчестера. Создают их, формируя особые многослойные структуры и рисунки на поверхности пластин из особого материала: сплава оксида алюминия и карбида титана.

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

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

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

В этом уроке я расскажу про устройство компьютера: из чего состоит ПК, какую функцию выполняет каждая его деталь.

Рассмотрим аппаратную часть («железо»):

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

Из чего состоит компьютер

Системный блок

Системный блок в компьютере является «главным». Если аккуратно открутить шурупы с его задней стенки, снять боковую панель и заглянуть внутрь, то лишь с виду его устройство покажется сложным.

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

Системный блок

В системном блоке размещаются следующие элементы (не обязательно все сразу):

— Накопитель на жестком магнитном диске (HDD)

— Накопитель на гибком магнитном диске (FDD)

— Накопитель на компакт-диске или dvd-диске (CD/DVD ROM)

— Разъемы для дополнительных устройств (порты) на задней (иногда и на передней) панели, и др.

— Системная плата (ее чаще называют материнской ), которая, в свою очередь, содержит:

  • микропроцессор ;
  • математический сопроцессор;
  • генератор тактовых импульсов;
  • микросхемы памяти (ОЗУ, ПЗУ, кэш-память, CMOS-память)
  • контроллеры (адаптеры) устройств: клавиатуры, дисков и др.
  • звуковая, видео- и сетевая карты ;
  • таймер и др.

Все они подсоединяются к материнской плате с помощью разъемов (слотов). Ее элементы, выделенные жирным шрифтом, мы рассмотрим ниже.

А теперь по порядку о системном блоке:

1 . С блоком питания все понятно: он питает энергией компьютер. Скажу лишь, что, чем выше его показатель мощности, тем круче.

2 . Накопитель на жестком магнитном диске (HDD — hard disk drive) в простонародье называют винчестером .

HDD

Это прозвище возникло из жаргонного названия первой модели жесткого диска емкостью 16 Кбайт (IBM, 1973 год), имевшего 30 дорожек по 30 секторов, что случайно совпало с калибром «30/30» известного охотничьего ружья «Винчестер». Емкость этого накопителя измеряется обычно в гигабайтах: от 20 Гб (на старых компьютерах) до нескольких Террабайт (1Тб = 1024 Гб). Самая распространенная емкость винчестера - 250-500 Гб. Скорость операций зависит от частоты вращения (5400-10000 об/мин). В зависимости от типа соединения винчестера с материнской платой различают ATA и IDE.

3 . Накопитель на гибком магнитном диске (FDD — floppy disk drive) — не что иное, как флоппи-дисковод для дискет . Их стандартная емкость – 1,44 Мб при диаметре 3,5" (89 мм). В качестве запоминающей среды у магнитных дисков используются магнитные материалы со специальными свойствами, позволяющими фиксировать два магнитных состояния, каждому из которых ставятся в соответствие двоичные цифры: 0 и 1.

4 . Накопители на оптических дисках (CD-ROM) бывают разных диаметров (3,5" и 5,25") и емкостей. Самые распространенные из них – емкостью 700 Мб. Бывает, что CD диски можно использовать для записи только 1 раз (тогда их называют R), а выгоднее использовать многократно перезаписываемые диски RW.

CD/DVD-ROM

DVD первоначально расшифровывалось как Digital Video Disk. Несмотря на название, на DVD-диски можно записывать всё, что угодно, - от музыки до данных. Поэтому в последнее время всё чаще встречается и другая расшифровка этого названия — Digital Versatile Disk, в вольном переводе означающая «цифровой универсальный диск». Главное отличие DVD-дисков от CD-дисков – это объём информации, который может быть записан на таком носителе. На DVD-диск может быть записано от 4.7 до 13, и даже до 17 Gb. Достигается это несколькими способами. Во-первых, для чтения DVD-дисков используется лазер с меньшей длиной волны, чем для чтения CD-дисков, что позволило существенно увеличить плотность записи. Во-вторых, стандартом предусмотрены так называемые двухслойные диски, у которых на одной стороне данные записаны в два слоя, при этом один слой полупрозрачный, и второй слой читается «сквозь» первый. Это позволило записывать данные на обе стороны DVD-дисков, и таким образом удваивать их ёмкость, что иногда и делается.

5 . К персональному компьютеру могут подключаться и другие дополнительные устройства ( мышь, принтер, сканер и прочее). Подключение производится через порты — специальные разъемы на задней панели.

разъемы на задней панели

Порты бывают параллельные (LPT), последовательные (COM) и универсальные последовательные (USB). По последовательному порту информация передается поразрядно (более медленно) по малому числу проводов. К последовательному порту подключаются мышь и модем. По параллельному порту информация передается одновременно по большому числу проводов, соответствующему числу разрядов. К параллельному порту подключается принтер и выносной винчестер. USB-порт используется для подключения широкого спектра периферийных устройств – от мыши до принтера. Также возможен обмен данными между компьютерами.

6 . Основные устройства компьютера (процессор, ОЗУ и др.) размещены на материнской плате .

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

Процессор

Его главные характеристики — это разрядность (чем она выше, тем выше производительность компьютера) и тактовая частота (во многом определяет скорость работы компьютера). Тактовая частота указывает, сколько элементарных операций (тактов) процессор выполняет за одну секунду.
Уважают на рынке процессоры Intel Pentium и его эконом-версию Celeron, а также ценят их конкурентов – AMD Athlon с эконом-вариантом Duron. Процессоры Intel характеризуются высокой надежностью в работе, низким тепловыделением и совместимостью со всем программным и аппаратным обеспечением. А AMD показывают большую скорость работы с графикой и играми, но менее надежны.

Память компьютера бывает внутренней и внешней. К устройствам внешней памяти относятся уже рассмотренные HDD, FDD, CD-ROM, DVD-ROM. К внутренней памяти относится постоянное ЗУ (ПЗУ, ROM англ.), оперативное ЗУ (ОЗУ, RAM англ.), КЭШ.

ПЗУ предназначено для хранения постоянной программной и справочной информации (BIOS — Basic Input-Output System — базовая система ввода-вывода).

ОЗУ обладает высоким быстродействием и используется процессором для кратковременного хранения информации во время работы компьютера.

Оперативная память

При выключении источника питания информация в ОЗУ не сохраняется. Для нормального функционирования компьютера в наши дни желательно иметь от 1 Гб до 3 Гб оперативки.

КЭШ-память — это оперативная сверхскоростная промежуточная память.

CMOS-память — CMOS RAM (Complementary Metall-Oxide Semiconductor RAM). В ней хранятся параметры конфигурации компьютера, которые проверяются при каждом включении системы. Для изменения параметров конфигурации компьютера в BIOS содержится программа настройки конфигурации компьютера — SETUP.

Звуковая, видео и сетевая карты могут быть как встроенными в материнскую плату, так и внешними. Внешние платы всегда можно заменить, тогда как, если из строя выйдет встроенная видеокарта, придется менять всю материнскую плату. Из видеокарт я доверяю ATI Radeon и Nvidia. Чем выше объем памяти видеокарты, тем лучше.

Периферийные устройства

Клавиатура компьютера состоит из 6 групп клавиш:

Клавиатура

  • Буквенно-цифровые;
  • Управляющие (Enter, Backspace, Ctrl, Alt, Shift, Tab, Esc, Caps Lock, Num Lock, Scroll Lock, Pause, Print Screen);
  • Функциональные (F1-F12);
  • Цифровая клавиатура;
  • Управления курсором (->,<-, Page Up, Page Down, Home, End, Delete, Insert);
  • Световые индикаторы функций (Caps Lock, Num Lock, Scroll Lock).

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

Модем — сетевой адаптер. Может быть как внешним, так и внутренним.

Сканер автоматически считывает с бумажных носителей и вводит в ПК любые печатные тексты и изображения.

Микрофон служит для ввода звука в компьютер.

Монитор (дисплей) предназначен для отображения информации на экране. Наиболее часто в современных ПК используются мониторы SVGA с разрешающей способностью (количеством точек, размещающихся по горизонтали и по вертикали на экране монитора) 800*600, 1024*768, 1280*1024, 1600*1200 при передаче до 16,8 млн. цветов.

Монитор

Размер экрана монитора – от 15 до 22 дюймов по диагонали, но чаще всего – 17 дюймов (35,5 см). Размер точки (зерна) – от 0,32 мм до 0,21 мм. Чем он меньше, тем лучше.

ПК, которые снабжены телевизионными мониторами (ЭЛТ), уже не так популярны. Из них предпочтение следует отдавать мониторам с низким уровнем излучения (Low Radiation). Жидкокристаллические дисплеи (LCD) более безопасны, и большинство компьютеров имеют именно такой монитор.

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

Принтер

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

Звуковые колонки выводят звук. Качество звучания зависит – опять-таки – от мощности динамиков и материала, из которого изготовлены корпуса (предпочтительно дерево) и его объема. Важную роль играет наличие фазоинвертора (отверстие на передней панели) и количество полос воспроизводимых частот (высокие, средние и низкие динамики на каждой колонке).

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

USB-накопитель

Самая чувствительная часть накопителя — разъем, прикрытый колпачком. Объем этих устройств колеблется от 256 Мбайт до 32 Гбайт, что позволяет подобрать накопитель нужной емкости, сообразуясь с потребностями. Благодаря интерфейсу, USB накопитель можно подключить к любому современному компьютеру. Он работает с операционными системами Windows 98SE/Me/2000/XP/Vista/7, Mac OS 8.6

10.1, Linux 2.4. В Windows даже не нужно устанавливать никаких драйверов: подключил в USB-порт – и работай.

Веб-камера нужна для ввода динамического изображения в компьютер и звука (для общения и возможности создания телеконференций).

Веб-камера

Источник бесперебойного питания нужен на случай аварийного отключения электроэнергии.

Фуфф, ну вот, по-моему, и все основное, что я хотела вам рассказать об аппаратной части компьютера, так называемом hardware.

Устройство компьютера

Статья «Устройство компьютера» была написана довольно давно. Поэтому, если вы нашли ошибку или обнаружили некоторую неточность, напишите, пожалуйста, об этом, используя форму комментариев. Мы будем Вам очень признательны!

Читайте также: