Центральный процессор

Материал из Изи Вики
Версия от 22:52, 3 декабря 2022; AE (обсуждение | вклад) (Центральный процессор - продолжение)

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

Объясните простыми словами, пожалуйста

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

Звучит как полное безумие. Но здесь скрыт смысл: закрытый или открытый шлагбаум и как следствие наличие или отсутствие тока определяет 2 состояния — включено или выключено: 1 или 0. Когда таких цифр больше или равно 8, этого достаточно для определения одной буквы из слова. Когда их 32 — этого достаточно для записи любого числа от -2147483648 и до 2147483647, когда миллионы — этого достаточно для неплохой цифровой фотографии, а миллиарды хватает на целый цифровой фильм.

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

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

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

А если серьезно

Как процессоры производят

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

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

Как проектируют

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

  • ARM (упрощенный набор инструкций или RISC) — распространен в мобильных устройствах. Главный принцип: простые инструкции, но эффективное энергопотребление.
  • x86 (сложный набор инструкций или CISC) — используется в серверах и настольных компьютерах. Умеют выполнять более сложные инструкции "из коробки".

Именно из-за разницы архитектур процессора вы не сможете запустить на смартфоне уже готовую (скомпилированную) программу, предназначенную для настольного компьютера.

Также процессоры различают по разрядности, например, 32-битные или 64-битные. Разрядность определяет длину данных в битах (единицах и нулях), которую процессор может эффективно обрабатывать простыми инструкциями. А еще процессор большей разрядности может эффективнее работать с большими объемами оперативной памяти.

Что умеют современные процессоры

Так что же может делать любой, даже самый примитивный процессор:

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

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

Какой процессор лучше?

Чем быстрее и энергоэффективнее процессор — тем он лучше.

Скорость работы процессора определяется:

  • Тактовая частота в мегагерцах или гигагерцах (1 GHz = 1.000.000.000 тактов в секунду). Один такт — это один электрический импульс переключающий транзисторы. Чем больше частота, тем быстрее процессор. Но не всё так просто.
  • Оптимизированная архитектура позволяет выполнять больше инструкций из расчета на каждый такт. Поэтому можно оценить скорость в IPS — количестве инструкций, выполняемых за секунду. Но и тут не всё однозначно
  • Инструкции бывают разные по сложности, за один такт можно выполнить несколько простых инструкций. А сложные выполняются десятки или сотни тактов. Лучше выбрать определенную популярную инструкцию и сравнивать скорость по ней. Например, в FLOPS-ах — в количестве операций с плавающей точкой (с нецелыми числами) в секунду.
  • Количество ядер. Где каждое ядро по сути отдельный мини-процессор.
  • Количество потоков обработки данных, очень часто одно ядро может обрабатывать данные в 2 потока.
  • Размером внутренней кеш памяти, чем больше, тем лучше.

Из каких частей состоит процессор.

Арифметико-логическое устройство или ALU (Arithmetic logic unit) — выполняет простые математические и логические инструкции.

Регистры — внутренняя максимально быстрая память, куда записываются данные непосредственно для выполнения инструкциями. Туда же могут записываться и результаты выполнения. В регистр команд помещается код инструкции перед её выполнением.

Устройство управления или CU (Control unit) — выполняет чтение из памяти (fetch), распознование инструкции (decode) и запуск её выполнения (execute).

Устройство генерации адресов AGU (Address generation unit) — вспомогательный блок, ускоряющий расчет адресов в оперативной памяти для более быстрого доступа.

Устройство управления памятью MMU (Memory management unit) — управляет доступом к памяти

Кеш память (Cache) — внутрення память процессора, более быстрая чем оперативная, но медленнее чем регистры.