Центральный процессор: различия между версиями

Материал из Изи Вики
(Центральный процессор - начало)
 
(Центральный процессор - продолжение)
Строка 13: Строка 13:


== А если серьезно ==
== А если серьезно ==
TBD
Современный центральный процессор - это микрочип или интегральная схема. Неразборная, очень компактная электросхема, созданная в виде кристалла на кремниевой подложки в прочном корпусе. Изготовление современных чипов максимально сложный технологический процесс и эффективно его могут выполнять всего несколько международных компаний в мире. Размер одного транзистора в таком чипе может измеряться нанометрами (миллионная часть милиметра), а их количество миллиардами. Наружу из корпуса чипа выходят контакты электропитания и контакты обмена данными.
 
Набор определенных инструкций которые может выполнить процессор на аппаратном уровне определяет его архитектуру.
 
Различных архитектур придумано множество, но можно выделить две популярные группы:
 
ARM (упрощенный набор инструкций или RISC) - распространен в мобильных устройствах. Главный принцип простые инструкции, но эффективное энергопотребление
 
x86 (сложный набор инструкций или CISC) - используется в серверах и настольных компьютерах. Умеют выполнять более сложные инструкции "из коробки".
 
Из-за разницы архитектур вы не сможете запустить уже готовую (скомпилированную) программу для десктопного компьютера на телефоне.
 
Еще процессоры различают по разрядности, например 32-битные или 64-битные. Разрядность определяет длину данных в единицах и нулях, которую процессор может эффективно обрабатывать простыми инструкциями. А еще процессор большей разрядности может эффективнее работать с большими объемами оперативной памяти.
 
Так что же может делать любой процессор
 
Читать данные из памяти и записывать данные в память.
 
Складывать и сравнивать числа.
 
Переходить к другому месту в списке инструкций, если выполняется какой-то тест (например, только если одно число больше другого).
 
Даже этих инструкций будет достаточно, чтобы составить из неё любую самую сложную программу. Но современные процессоры умеют выполнять сотни других более сложных инструкций для максимальной оптимизации популярных задач, например архивирования данных или шифрования.
 
Скорость работы процессора определяется:
 
Тактовая частота в мегагерцах или гигагерцах. Один такт - это один электрический импульс переключающий транзисторы. Чем больше частота, тем быстрее процессор.
 
Более оптимальная архитектура позволяет выполнять больше инструкций за один такт. Поэтому можно оценить скорость в IPS - количестве инструкций в секунду.
 
Но инструкции тоже бывают разные, поэтому можно выбрать определенную популярную инструкцию и сравнить скорость по ней, напримерь в Flops-ах - в количестве операций с числами с плавающей точкой (с нецелыми числами) в секунду.
 
Количество ядер. Где каждое ядро по сути отдельный мини-процессор.
 
Количество потоков обработки данных, очень часто одно ядро может обрабатывать данные в 2 потока.
 
Размером внутренней кеш памяти, чем больше, тем лучше.
 
Из каких частей состоит процессор.
 
Арифметико-логическое устройство или ALU (Arithmetic logic unit) - выполняет простые математические и логические инструкции.
 
Регистры - внутренняя максимально быстрая память, куда записываются данные непосредственно для выполнения инструкциями. Туда же могут записываться и результаты выполнения. В регистр команд помещается код инструкции перед её выполнением.
 
Устройство управления или CU (Control unit) - выполняет чтение из памяти (fetch), распознование инструкции (decode) и запуск её выполнения (execute).
 
Устройство генерации адресов AGU (Address generation unit) - вспомогательный блок, ускоряющий расчет адресов в оперативной памяти для более быстрого доступа.
 
Устройство управления памятью MMU (Memory management unit) - управляет доступом к памяти
 
Кеш память (Cache) - внутрення память процессора, более быстрая чем оперативная, но медленнее чем регистры.

Версия от 17:53, 3 декабря 2022

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

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

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

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

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

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

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

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

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

Набор определенных инструкций которые может выполнить процессор на аппаратном уровне определяет его архитектуру.

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

ARM (упрощенный набор инструкций или RISC) - распространен в мобильных устройствах. Главный принцип простые инструкции, но эффективное энергопотребление

x86 (сложный набор инструкций или CISC) - используется в серверах и настольных компьютерах. Умеют выполнять более сложные инструкции "из коробки".

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

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

Так что же может делать любой процессор

Читать данные из памяти и записывать данные в память.

Складывать и сравнивать числа.

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

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

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

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

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

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

Количество ядер. Где каждое ядро по сути отдельный мини-процессор.

Количество потоков обработки данных, очень часто одно ядро может обрабатывать данные в 2 потока.

Размером внутренней кеш памяти, чем больше, тем лучше.

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

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

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

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

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

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

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