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

Правки и улучшения
(Правки и улучшения)
(Правки и улучшения)
Строка 7: Строка 7:
Звучит как полное безумие, но здесь скрыт смысл. Все дороги проложены не случайным образом, а по специальным градостроительным стандартам «Логических операций обработки данных». Но каких данных? Одна дорога может определить один бит [[Информационные технологии|информации]] с двумя значениями: <code>1-полно-человечков</code> или <code>0-пусто</code>. Восемь параллельных дорог называют байтом, этого может быть достаточно для определения одной буквы из слова. А если расположить рядом 32 бита, то можно организовать счет от нуля и до 4х миллиардов.
Звучит как полное безумие, но здесь скрыт смысл. Все дороги проложены не случайным образом, а по специальным градостроительным стандартам «Логических операций обработки данных». Но каких данных? Одна дорога может определить один бит [[Информационные технологии|информации]] с двумя значениями: <code>1-полно-человечков</code> или <code>0-пусто</code>. Восемь параллельных дорог называют байтом, этого может быть достаточно для определения одной буквы из слова. А если расположить рядом 32 бита, то можно организовать счет от нуля и до 4х миллиардов.


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


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


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


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


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


=== Как проектируют ===
=== Как проектируют ===
Базовая архитектура компьютера фон Неймана, разработанная в 1940х и реализуемая в большинстве процессоров, дает программистам максимальную гибкость и простоту сопровождения оборудования. Это в дальнейшем обеспечило бурное развитие программного обеспечения и популяризацию компьютеров.
Базовая архитектура компьютера фон Неймана, разработанная в 1940-х и реализуемая в большинстве процессоров, дала программистам гибкость и простоту сопровождения оборудования. Это в дальнейшем обеспечило бурное развитие программного обеспечения и популяризацию компьютеров.
[[Файл:X86 vs. ARM.jpg|мини|200x200пкс|x86 слева, ARM справа]]
[[Файл:X86 vs. ARM.jpg|мини|200x200пкс|x86 слева, ARM справа]]
Архитектура центрального процессора определяется набором инструкций, которые он может выполнить на аппаратном уровне. Различных архитектур придумано множество, но можно выделить две популярные группы:
Архитектура центрального процессора определяется набором инструкций, которые он может выполнить на аппаратном уровне. Различных архитектур придумано множество, но можно выделить две популярные группы:
Строка 39: Строка 39:
* Читать данные из памяти и записывать данные в память.
* Читать данные из памяти и записывать данные в память.
* Складывать и сравнивать числа.
* Складывать и сравнивать числа.
* Переходить к другому месту в списке инструкций, если выполняется какой-то тест (например, только если одно число больше другого).
* Переходить к другому месту в списке инструкций, если выполняется условие (например, если одно число больше другого).


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


=== Какой процессор лучше? ===
=== Какой процессор лучше? ===
Строка 48: Строка 48:
Скорость работы процессора определяется:
Скорость работы процессора определяется:


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