Найти тему
Костя Шор

Как устроенно железо в твоём компьютере.

Оглавление

Компьютер состоит из множества компонентов, так называемого "железа" в этой статье я расскажу, как устроены часть из них, а именно:

  • Процессор
  • Видеокарта
  • ОЗУ (оперативно запоминающие устройство)

Процессор

Рис.1 Кристалл процессора
Рис.1 Кристалл процессора

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

Ядро процессора

Рис.2 Ядро процессора
Рис.2 Ядро процессора

Ядро - это место для обработки данных. В него поступают одни данные, а выдаёт он уже совсем другие. Ядро состоит из транзисторов, которые , в свою очередь, являются своеобразными переключателями. Транзисторы могут принимать всего два состояния: когда через них проходит ток (1) и когда не проходит (0). Именно по этой причине все данные в компьютере хранятся в двоичном кода. Соединяя и комбинируя транзисторы в разные сложнейшие схемы , можно настроить процессор на бесчисленное количество действий.

Но есть один нюанс, процессор не понимает что ему делать с данными. Чтобы это исправить загружается инструкция, которая будет указывать что делать с теми или иными данными. В ПК этими инструкциями являются CISC - complex instruction set computer. А на телефоне RISC - reduced instruction set computer.

Память

Рис.3 Кэш
Рис.3 Кэш

Для того что процессор полноценно выполнял команды, кроме самого процесса обработки информации, ему нужен так называемый "склад". Место откуда можно было бы взять информацию и место куда потом эту информацию можно было бы положить. Для этого создали оперативную память. Несмотря на то, что ОЗУ достаточна быстрая, процессор намного быстрее. И чтобы избежать паузы между передачей информации в процессор всегда встроенная Кэш память. На (Рис.1) Кэш память выделена зелёным цветом. Этот вид памяти делится на три типа:

  1. L1 cashe - cамый быстрый и меленький, около нескольких десятков килобайт
  2. L2 cashe - 0,5 -1 мб.
  3. L3 cashe - самый медленный и большой, около мегабайта.

Тактовая частота

Хаотичное поступление данных быстро бы запутало процессор. Чтобы избежать этого каждый чип имеет тактовый генератор, который подаёт разные импульсы тока для достижения нужной частоты. Состоит он из кристалла кварца, который имеет свойство вибрировать с определённой частотой. Процессоры нашего времени могут изменять частоту. Например, в обычном состоянии , процессор работает с минимальной частотой, но если дать нагрузку, то он может разогнаться до своего максимума. Также, стоит учесть, что это только для одного ядра. Одно ядро имеет два потока, которые обрабатываются компьютером.

Процесс обработки данных

Процесс обработки данных достаточно прост и состоит из четырёх ступеней:

  1. Fetch - поступление данных
  2. Decode - декодирование
  3. Execute - выполнение
  4. Write-back - обратная запись
Рис.4 Процесс обработки данных
Рис.4 Процесс обработки данных

Чип процессора

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

Рис.5 Процессор с подписанными дополнениями
Рис.5 Процессор с подписанными дополнениями

Видеокарта

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

Работа видеокарты:

Шаг 1.Растеризация.

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

Рис.6 Растеризация
Рис.6 Растеризация

Шаг 2. Текстурирование

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

Рис.7 Текстурирование
Рис.7 Текстурирование

Шаг 3. Пиксельный Шейдер

На этом шаге программа меняет цвет каждого пикселя. Создаётся реалистичное освещение. Хочется отметить , что это самый ресурсозатратный этап. В котором просчитывается рассеивание и отражение для всех пикселей.

Рис.8 Пиксельный Шейдер
Рис.8 Пиксельный Шейдер

Шаг 4. Сохранение

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

Мощность видеокарты

Видеокарты отличаются от процессоров тем, что их вычисления должны проходить параллельно и очень быстро. Соответственно у них тысячи вычислительных модулей, которые работают с малым количеством данных. Современные видеокарты могут производить до 35 триллионов вычислений в секунду. Так как этот процесс требуют очень большую вместимость данных, то используется специальная память GDDR. Она отличается от обычной DDR тем, что у неё большая пропускная способность (около 1 Тб в секунду) и высокая ширина канала, но при этом у неё присутствуют существенные задержки.

Рис.9 Сравнение центрального и графического процессора
Рис.9 Сравнение центрального и графического процессора

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

Первое отличие разных модулей памяти - это тип памяти:

  • DD1 (2002)
  • DD2 (2004)
  • DD3 (2007)
  • DD4 (2014)

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

Частота оперативной памяти

Если представить частоту оперативной памяти в виде графика, то будет зигзаг, состоящий из тактов.

Рис.10 График частоты произвольной  оперативной памяти
Рис.10 График частоты произвольной оперативной памяти

Это иллюстрация передачи данных от памяти к процессору и обратно. DDR - Double Data Rate - удвоенная скорость передачи данных. Это означает, что сигнал подаётся и считывается как во время подъёма, так и во время спуска. Поэтому всю эффективную частоту, которую нам пишут на упаковках, нужно делить на два, чтобы получить реальную частоту.

Тайминги

Тайминги - задержки, время ожидания между осуществлением операции. На деле это цифры, которые указываться на самом модуле памяти.

Рис.11 Тайминги
Рис.11 Тайминги

Эти четыре цифры - основные тайминги:

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

Но что же каждый из четырёх таймингов означает ? Почему цифры разные и почему мы не можем сделать их меньше ? Для понимания этого вопроса, нужно иметь представление, как работает сама память. Каждый модуль памяти состоит из чипов памяти, каждый чипов имеет ячеистую структуру. Каждая ячейка может содержать и не содержать заряд ( если заряд есть (1) , если нет (0) ). Чтобы прочитать из памяти какое-то значение или записать какое-то новое значении, нам нужно обратиться к памяти с помощью определённых команд и сигналов:

  1. RAS - первый сигнал, который активирует определённую строку памяти. Затем с задержкой подаётся другой сигнал CAS, который активирует нужный столбец в буфере и читает или записывает в него нужное значение. Задержка между активацией строки RAS и выбором столбца CAS называется tRCD - RAS TO CAS .
  2. После подачи сигнала CAS на выбор столбца, до начала записи новых данных в ячейку или до начала передачи прочтённой информации, тоже проходит определённое время и это время называется tCL - CAS LATENCY.
  3. tRAS - ACTIVE TO PRECHARGE - задержка между активацией строки RAS и срабатыванием команды на подзарядку используемых ячеек.
  4. tRP - ROW PRECHARGE TIME - задержка на зарядку строки командой PRECHARGE и активацией новой строки RAS.
Рис.12 Подписи к таймингам памяти
Рис.12 Подписи к таймингам памяти