Центральный процессор: различия между версиями
AE (обсуждение | вклад) (→Состав процессора: Картинки) |
AE (обсуждение | вклад) (→Объясните простыми словами, пожалуйста: Правки) |
||
Строка 5: | Строка 5: | ||
Представьте себе крошечный город с огромным количеством ветвящихся дорог и шлагбаумов. По этим дорогам бегают вредные электро-человечки и пытаются перекрыть шлагбаумами соседние дороги. Добегая до шлагбаума, они опускают его и держат закрытым, мешая человечкам на другой дороге работать. Как итог все шлагбаумы на соседней улице открываются. Открытые шлагбаумы открывают новые направления и туда бросаются другие человечки. Достигая новых шлагбаумов, они закрывают их, блокируя еще какие-то дороги и так далее. Всё это происходит со скоростью миллиардов блокировок и открытий в секунду. | Представьте себе крошечный город с огромным количеством ветвящихся дорог и шлагбаумов. По этим дорогам бегают вредные электро-человечки и пытаются перекрыть шлагбаумами соседние дороги. Добегая до шлагбаума, они опускают его и держат закрытым, мешая человечкам на другой дороге работать. Как итог все шлагбаумы на соседней улице открываются. Открытые шлагбаумы открывают новые направления и туда бросаются другие человечки. Достигая новых шлагбаумов, они закрывают их, блокируя еще какие-то дороги и так далее. Всё это происходит со скоростью миллиардов блокировок и открытий в секунду. | ||
Звучит как полное безумие | Звучит как полное безумие, но здесь скрыт смысл. Дорога, заполненная человечками или пустая дорога определяют два состояния — включено или выключено: <code>1</code> или <code>0</code>. Когда таких цифр-дорог больше или равно 8, этого достаточно для определения одной буквы из слова. Когда 32 — этого достаточно для записи любого числа от <code>-2147483648</code> и до <code>2147483647</code>. | ||
Процессор отвечает только за обработку небольшого объема данных на лету. А что делать если мы хотим посмотреть большой цифровой фильм, содержащий миллиарды единиц и нулей? Нам потребуются соседние города-склады: город оперативной памяти, город видеопамяти, город жесткого диска и другие. В эти склады-памяти от города-процессора идут специальные широкие и скоростные трассы. Человечки, бегая по трассам, могут синхронизировать состояния ключевых шлагбаумов в процессоре с шлагбаумами на складах и наоборот. Но склады-памяти нужны не только для хранения данных. Они помогают выводить информацию в реальный мир через вспомогательные устройства вывода — экран монитора, динамик, принтер, сетевой кабель и т.п. | |||
А как этим электро-микро-человейником управлять? На помощь приходят реальные большие человеки. Большой человек программист заранее определяет какие шлагбаумы будут открыты первоначально, чтобы трафик шел не случайным образом, а в нужном и правильном порядке. Этот порядок определяется программами на складах. А большой человек пользователь может в реальном времени вмешиваться в работу шлагбаумов и открывать и закрывать их, с помощью вспомогательных устройств ввода — клавиатуры, мыши, сенсорного экрана. | |||
Пользователи и программисты | Пользователи и программисты молодцы, но главная заслуга здесь у ученых и инженеров, разрабатывающих оптимальные схемы города-процессора. Давайте скажем им спасибо! | ||
== А если серьезно == | == А если серьезно == |
Версия от 00:48, 7 декабря 2022
Центральный процессор — это главный компонент любого компьютера, необходимый для выполнения инструкций компьютерных программ. Является компактной электрической схемой наполненной специальными переключателями — транзисторами. Результатом запрограммированного включения и отключения определенных транзисторов является обработка данных в двоичном виде.
Объясните простыми словами, пожалуйста
Представьте себе крошечный город с огромным количеством ветвящихся дорог и шлагбаумов. По этим дорогам бегают вредные электро-человечки и пытаются перекрыть шлагбаумами соседние дороги. Добегая до шлагбаума, они опускают его и держат закрытым, мешая человечкам на другой дороге работать. Как итог все шлагбаумы на соседней улице открываются. Открытые шлагбаумы открывают новые направления и туда бросаются другие человечки. Достигая новых шлагбаумов, они закрывают их, блокируя еще какие-то дороги и так далее. Всё это происходит со скоростью миллиардов блокировок и открытий в секунду.
Звучит как полное безумие, но здесь скрыт смысл. Дорога, заполненная человечками или пустая дорога определяют два состояния — включено или выключено: 1
или 0
. Когда таких цифр-дорог больше или равно 8, этого достаточно для определения одной буквы из слова. Когда 32 — этого достаточно для записи любого числа от -2147483648
и до 2147483647
.
Процессор отвечает только за обработку небольшого объема данных на лету. А что делать если мы хотим посмотреть большой цифровой фильм, содержащий миллиарды единиц и нулей? Нам потребуются соседние города-склады: город оперативной памяти, город видеопамяти, город жесткого диска и другие. В эти склады-памяти от города-процессора идут специальные широкие и скоростные трассы. Человечки, бегая по трассам, могут синхронизировать состояния ключевых шлагбаумов в процессоре с шлагбаумами на складах и наоборот. Но склады-памяти нужны не только для хранения данных. Они помогают выводить информацию в реальный мир через вспомогательные устройства вывода — экран монитора, динамик, принтер, сетевой кабель и т.п.
А как этим электро-микро-человейником управлять? На помощь приходят реальные большие человеки. Большой человек программист заранее определяет какие шлагбаумы будут открыты первоначально, чтобы трафик шел не случайным образом, а в нужном и правильном порядке. Этот порядок определяется программами на складах. А большой человек пользователь может в реальном времени вмешиваться в работу шлагбаумов и открывать и закрывать их, с помощью вспомогательных устройств ввода — клавиатуры, мыши, сенсорного экрана.
Пользователи и программисты молодцы, но главная заслуга здесь у ученых и инженеров, разрабатывающих оптимальные схемы города-процессора. Давайте скажем им спасибо!
А если серьезно
Как процессоры производят
Современный центральный процессор — это компактная интегральная схема на основе кристалла кремния. На подложке из кремния с помощью нанесения дополнительных материалов и фотолитографии (засвечивания по шаблону) формируется схема из миллиардов полупроводниковых транзисторов. Получившийся микрочип защищают прочным корпусом, из которого выходят контакты электропитания и контакты обмена данными.
Изготовление современных чипов — сложный технологически процесс, всё производство автоматизировано и эффективно его могут выполнять всего несколько международных компаний. Техпроцесс изготовления условно оценивают в нанометрах (миллионная часть миллиметра) — длине канала одного транзистора внутри процессора. Чем меньше транзисторы, тем быстрее они могут переключаться за счет короткой длины канала. Кроме того в чипе поместится большее количество транзисторов, что улучшит производительность. Бонусом также будет более эффективное энергопотребление и меньший нагрев.
Как проектируют
Базовая архитектура компьютера фон Неймана, разработанная в 1940х и реализуемая в большинстве процессоров, дает программистам максимальную гибкость и простоту сопровождения оборудования. Это в дальнейшем обеспечило бурное развитие программного обеспечения и популяризацию компьютеров.
Архитектура центрального процессора определяется набором инструкций, которые он может выполнить на аппаратном уровне. Различных архитектур придумано множество, но можно выделить две популярные группы:
- ARM (упрощенный набор инструкций или RISC) — распространен в мобильных устройствах. Главный принцип: простые инструкции, но эффективное энергопотребление.
- x86 (сложный набор инструкций или CISC) — используется в серверах и настольных компьютерах. Умеют выполнять более сложные инструкции "из коробки".
Именно из-за разницы архитектур процессора вы не сможете запустить на смартфоне уже готовую (скомпилированную) программу, предназначенную для настольного компьютера.
Также процессоры различают по разрядности, например, 32-битные или 64-битные. Разрядность определяет длину данных в битах (единицах и нулях), которую процессор может эффективно обрабатывать простыми инструкциями. А еще процессор большей разрядности может эффективнее работать с большими объемами оперативной памяти.
Что умеют современные процессоры
Самый примитивный процессор может:
- Читать данные из памяти и записывать данные в память.
- Складывать и сравнивать числа.
- Переходить к другому месту в списке инструкций, если выполняется какой-то тест (например, только если одно число больше другого).
Уже этих инструкций будет достаточно, чтобы выполнить любую сложную программу. Но современные процессоры умеют выполнять сотни других более сложных инструкций для максимальной оптимизации популярных задач на аппаратном уровне, например, сжатия данных или шифрования.
Какой процессор лучше?
Чем быстрее и энергоэффективнее процессор — тем он лучше.
Скорость работы процессора определяется:
- Тактовой частотой в мегагерцах или гигагерцах (1 GHz = 1.000.000.000 тактов в секунду). Один такт — это один электрический импульс, переключающий транзисторы. Чем больше частота, тем быстрее процессор. Но не всё так просто:
- Лучше оптимизированная архитектура позволяет выполнять больше инструкций из расчета на каждый такт. Поэтому можно оценить скорость в IPS — количестве инструкций, выполняемых за секунду.
- Инструкции бывают разные по сложности, за один такт можно выполнить несколько простых инструкций. А сложные выполняются десятки или сотни тактов. Для более точного сравнения производительности лучше выбрать определенную популярную инструкцию. Например, посчитать FLOPS-ы — количество операций с плавающей точкой (с нецелыми числами) в секунду.
- Количеством ядер. Каждое ядро по сути отдельный мини-процессор. Чем их больше, тем лучше. Но значительно растет энергопотребление.
- Количеством потоков обработки данных, в некоторых процессорах каждое ядро может обрабатывать данные параллельно в нескольких потоках.
- Размером внутренней кеш памяти, чем больше и чем она быстрее, тем лучше.
Состав процессора
Из каких частей обычно состоит процессор.
- Арифметико-логическое устройство или ALU (Arithmetic logic unit) — выполняет простые математические и логические инструкции.
- Регистры — внутренняя максимально быстрая память, куда записываются данные непосредственно для выполнения инструкциями. Туда же могут записываться и результаты выполнения. В регистр команд помещается код инструкции перед её выполнением.
- Устройство управления или CU (Control unit) — выполняет чтение из памяти (fetch), распознование инструкции (decode) и запуск её выполнения (execute).
- Устройство генерации адресов AGU (Address generation unit) — вспомогательный блок, ускоряющий расчет адресов в оперативной памяти для более быстрого доступа к данным.
- Устройство управления памятью MMU (Memory management unit) — управляет безопасным доступом к оперативной памяти, защищая данные одной программы от влияния других программ.
- Кеш память (Cache) — внутренняя дополнительная память процессора, быстрее чем оперативная, но медленнее чем регистры.
- И другие блоки.
Недостатки процессоров
Текущие технологии разработки чипов на основе кремния практически достигли его физических ограничений. Размеры транзисторов не могут быть значительно уменьшены без проявления побочных эффектов. Дальнейшее улучшение производительности в основном идет за счет добавления дополнительных материалов, увеличения количества слоев и оптимизации архитектуры.
Базовая архитектура фон Неймана имеет узкие места по организации работы с памятью. Как результат, она плохо решает задачи имитации биологических алгоритмов обработки данных — нейросетей.
Архитектура x86, заложенная в 1970х годах имеет недостатки, которые невозможно полностью устранить из-за необходимости сохранения обратной совместимости в уже существующих программах.
Количество компаний производящих современные чипы в мире ограничено из-за технологической сложности. Поэтому любой сбой поставок влечет дефицит и кризисы на смежных производствах.