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

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


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


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


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


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


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


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


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


ARM (упрощенный набор инструкций или RISC) - распространен в мобильных устройствах. Главный принцип простые инструкции, но эффективное энергопотребление
=== Как проектируют ===
Архитектура процессора определяется набором инструкций, которые он может выполнить на аппаратном уровне. Различных архитектур придумано множество, но можно выделить две популярные группы:


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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

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

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

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

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

Звучит как полное безумие. Но здесь скрыт смысл: закрытый или открытый шлагбаум и как следствие наличие или отсутствие тока определяет 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) — внутрення память процессора, более быстрая чем оперативная, но медленнее чем регистры.