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

Позднее Ctrl + ↑

Архитектура. Видеокарта

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

Зачем

Видеокарта — плата со своим графическим процессором и памятью. Видеокарту подключают к материнке через разъём PCI для доп. модулей, такие разъёмы называют шинами.
Ещё, шинами называют вдавленные в платы дорожки для передачи сигнала.

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

Вот пример расчёта веса одного кадра цветного изображения:
Сейчас существует два варианта выделения памяти: 24бита/3байта на RGB схему или 32бита/4байта на CMYK схему. Возьмём RGB распределение, у него количество цветов получается \(2^{24}\) ≈ 16 млн.
Выводим на монитор с разрешением 1280 пикселей в ширину и 720 в высоту.
1280×720×24 = 22 118 400 млн. бит памяти или 2.7 Мб. на один кадр, для плавной картинки их нужно 29. Считаем дальше: 29×2,7 ≈ 78 Мбайт на секунду. Потом это пережимается, потому что используются не все 16 миллионов цветов и на картинке много однотонных мест, которые можно заменить массивами.

Устройство

Карта состоит из пяти компонентов: графического процессора, контроллеров, постоянной и оперативной памяти, и внешних портов. Их накрывают крышкой с кулером и подключают через PCI или PCIe в материнскую плату.

Графический процессор

GPU — Graphics Processing Unit.

У процессора видеокарты два отличия от центрального процессора: архитектура и способ обработки данных.
Архитектура GPU принимает большие данные и обрабатывает их параллельно, а не последовательно, как CPU. Поэтому, картинка грузится целиком и сразу, а не последовательной змейкой.

Контроллеры

Контроллер — чип регулирования или управления чем-нибудь. Для видеокарты работают три контроллера.

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

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

Постоянная память

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

Во время POST проверки BIOS материнки обращается и к BIOSу видеокарты, чтобы она включилась до загрузки ОС.

Работает это так же, как и на большой плате: сначала проверяется железо, потом сигнал «Всё ок — работаем»

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

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

Видеокарты используют специальный вид памяти — GDDR5, G — graphic.
GDDR5 — улучшенная DDR3. При одинаковой частоте, GDDR5 передаёт в два раза больше данных. Объём памяти обычных видеокарт от 512 Мб до 12 Гб.

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

Вывод

Для вывода существует два способа: RAMDAC и TMDS. Это разные алгоритмы преобразования кодировки изображения в сигнал. RAMDAC для VGA выхода, TMDS для DVI.
Чип отправки изображения преобразует код изображения в сигнал и направляет в нужный порт. В сигнале идёт адрес и точный цвет для каждого пикселя.

Архитектура. Материнская плата

Материнская плата выполняет две функции: к ней прикрепляются остальные части компьютера и она ими же управляет.

Размеры плат

Размеры зависят от задачи и требованиям по мощности. Расскажем про три ходовых типа плат, функции у всех карт одинаковые.

Типы размеров обозначают так: ATX, micro-ATX и mini-ITX.
ATX — Advanced Technology Extended. Это значит, что компьютер можно улучшать, меняя составляющие.

ATX — 30х24 сантиметра, чуть больше листа А4.
Много ячеек для оперативки, несколько разъёмов для видеокарт и жёстких дисков. Ставят в домашние мощные компьютеры для игр, стриминга, монтажа видео и других тяжёлых вещей. Средняя цена ≈6-7 тыс. рублей.

Micro-ATX — 24х24 сантиметра.
Меньше разъёмов, меньше слотов и меньше возможностей, но более плотная расстановка и низкая цена. На таких картах можно делать всё тоже самое, что и на ATX, но скорость износа будет быстрее. Средняя цена ≈3.5-5 тыс. рублей.

Mini-ITX — 17x17 сантиметров, чуть меньше школьной тетрадки.
Очень плотная расстановка и ещё меньше возможностей. Обычно по одному слоту под оперативку, видеокарту и диск. На них собирают банковские терминалы и моноблоки. Средняя цена ≈5 тыс. рублей.

ATX → Micro-ATX → Mini-ITX

Устройства управления

На материнке есть два чипа: северный мост и южный мост. Вместе их называют чипсетом.

Северный мост управляет взаимодействием процессора, памяти и видеокарты. Чтобы эта связь работала быстрее, он расположен рядом с процессором или внутри процессора. Внутренний северный мост используют Intel в процессорах на архитектуре skylake и новее.

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

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

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

Оранжевый — северный мост, красный — южный мост. Над ними стоят радиаторы для охлаждения

BIOS

BIOS (Basic Input/Output System) — чип с батарейкой для проверки железа, запуска ОС и сохранения системных настроек: время, дата, скорость кулеров, активность usb-шных портов и куча всего опасного. Без батарейки они бы сбрасывались с каждым выключением компьютера.
Пикча

Проверка компьютера называется POST — Power-On Self-Test, компьютер проверяет себя же на работоспособность.

POST-проверка происходит вот так:

  1. Процессор получил ток, загружает код BIOS в оперативку и отдаёт ему управление.
  2. Пока BIOS главный, он задаёт стартовые параметры процессора, контроллера оперативной памяти, частоту шины и остальные настройки железа.
    У видеокарты свой BIOS, он запускается с основным одновременно.
    О видеокарте будет статья попозже.
  3. Проверка успешно закончилась и BIOS загружает операционку из загрузочного сектора в ОЗУ. Она выставляет свои настройки, колдует и появляется рабочий стол.

Архитектура. Процессор

В прошлой статье были уровни железа, а с этой начнём разбирать само железо, первым будет процессор.

Что делает

Управляет потоком нулей и единиц для дальнейших вычислений.
Движение курсором, свайп, запуск видео и любые действия на устройствах с процессорами это вычисления. Разложим по пунктам движение курсора:

  1. Двинули мышкой — лазер отправил сигнал в видеокарту через северный мост на материнской плате, что меня подвинули туда-то. О материнке будет следующая статья.
  2. С моста сигнал пошёл к оперативной памяти, там его ждёт ОСка. Она видит, что координаты курсора (x;y) должны поменяться. Формирует запрос, транслирует в ISA и он пошёл к процессору.
  3. Координаты и нужное смещение раскладываются в двоичный код и прогоняются через логические блоки И и ИЛИ, которые состоят из групп транзисторов. Результат попадает в кэш процессора.
  4. Процессор переводит ответ и отправляет в оперативку. ОСка принимает его и отправляет монитору команду «Подвинь курсор на столько-то».

То есть процессор это такой бинарный калькулятор на котором работает всё, потому что данные можно представить в наборе 00110110.

Что внутри

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

Блок управляет многопоточными вычислениями и нагрузками на ядра. В некоторых дешёвых процессорах есть запасные ядра, блок включает их после поломки основного.
АЛУ это группа групп транзисторов. То есть определённая комбинация транзисторов работает как логическое И и ИЛИ. Если курсор двигается в положительном направлении, то применяется ИЛИ, если в отрицательном И.
Память устроена также, как в оперативке, только она ближе к процессору, значит быстрее.

Это общая схема для наглядности, не для правдивости.

Зелёная шина для ввода данных в ядро, фиолетовая для вывода

Процессоры создаются при помощи наслаивания тонких пластин друг на друга. Это решает сразу две проблемы: кучности-плотности элементов и соединения составляющих друг с другом.

Количество транзисторов на ядро исчисляется в миллиардах и посчитать сколько их точно не получится. Можно устроится в Интел или АМД, ну и поспрашивать там, потом нам рассказать.

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

Ранее Ctrl + ↓