Посмотр рубрик

Устройство процессора

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

Процессор #

Процессор, или центральное процессорное устройство, ЦПУ (Central Processing Unit, CPU), - устройство, которое получает и выполняет команды программы при помощи аппаратных блоков управления, сравнения, логических и арифметических операций.

file
Блок-схема процессора

В ранних компьютерах центральный процессор мог состоять из множества отдельных компонентов и занимать несколько плат, шкафов и даже этажей. Когда основные узлы процессора удалось разместить в одной интегральной микросхеме (Integrated Circuit, IC), появился микропроцессор. Сегодня слово "процессор" обычно используют и для микропроцессора, и для процессорного ядра внутри более сложной микросхемы.


В вашем компьютере стоит именно микропроцессор, но называют его CPU или просто процессор

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

  • Пропускающие ток при низком напряжении (pMOS)
  • Пропускающие ток при высоком напряжении (nMOS)

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

Слева направо: схематическое изображение транзистора, транзистор в виде выращенного "кристалла", миллионы таких кристаллов в составе процессора

Так как процессор - цифровое устройство, сигналы в нём интерпретируются как два логических уровня: 0 и 1. Транзистор не является идеальным ключом, но для понимания цифровой логики удобно рассматривать его как полностью открытый или закрытый.

Логический (цифровой) сигнал имеет две возможные величины - 0 и 1, "низкий" сигнал и "высокий"

Транзисторы объединяются в простейшие схемы, называемые логическими вентилями (logic gate). Эти вентили выполняют с цифровыми сигналами логические операции, такие как И, ИЛИ, НЕ и так далее. Вентиль получает на вход один или несколько сигналов и выдает на выход сигнал, который зависит от логики работы вентиля. Например, вентиль И выдаст сигнал 1, если на оба его входа поданы сигналы 1, а если хоть один из сигналов на входе будет 0 - на выходе будет 0.

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


До изобретения транзисторов компьютеры работали на базе электромагнитных реле и могли занимать целый этаж здания!

Именно поэтому полноценный процессор можно сделать в игре Minecraft и любых других похожих "песочницах", в которых есть возможность реализовать "электрическую" связь и аналог транзистора. Правда это будет очень простой процессор, который умеет выполнять несколько инструкций. Мощный современный процессор может состоять из миллиардов транзисторов, которые образуют различные функциональные блоки от памяти и сложения чисел до специальных вычислительных ядер для нейросетей.


Программируемый компьютер с классическими играми в Minecraft

Есть также специализированные игры про процессоры:

Память #

Код программы и данные должны где-то храниться, поэтому технически существует два типа памяти: энергонезависимая и оперативная.

Энергонезависимая #

  • Питание: хранит данные при отключении питания
  • Хранит: код или исполняемый файл программы, различные статичные данные
  • Скорость: средняя на чтение, медленная на запись
  • Износ: изнашивается при записи
  • Примеры: Flash, EEPROM, жёсткий диск HDD, твердотельный жёсткий диск SSD, диски CD и DVD

Оперативная #

  • Питание: очищается при отключении питания
  • Хранит: текущие рабочие данные и значения, которые могут часто меняться или к ним нужен быстрый доступ
  • Скорость: быстрая на чтение и запись
  • Износ: отсутствует
  • Примеры: RAM, SRAM, DRAM

Регистры #

Сам процессор имеет внутри регистры (registers) - небольшое число ячеек памяти для операндов, адресов и состояний, к которым он имеет самый быстрый доступ.

Кэш #

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

FPGA #

Существует процессор и в формате "сделай сам" - Программируемая Логическая Матрица, ПЛМ (Field-Programmable Gate Array, FPGA) или Программируемая Логическая Интегральная Схема (ПЛИС). Это матрица логических вентилей, которые можно самостоятельно соединить в нужном порядке и получить цифровую схему под конкретную задачу. Это может быть обработка данных, конвертер интерфейса связи или например игра тетрис. Преимущество ПЛИС - в скорости работы, так как обычный процессор последовательно читает программу из памяти и выполняет заданные действия, а схема на ПЛИС изначально спроектирована для выполнения конкретной задачи без лишних операций и работает по сути параллельно. Она работает сразу на уровне электрических сигналов, а не выполняемой процессором программы, что позволяет создавать невероятно быстрые и эффективные аппаратные блоки.

Дополнительно #

Дополнительный контент доступен владельцам набора GyverKIT и по подписке, подробнее читай здесь. Блок содержит:

  • Тезисы

Полезные страницы #


(25 голосов)
Подписаться
Уведомить о
guest

1 Комментарий
Старые
Новые Популярные
Прокрутить вверх