Что такое процессор?
TProgrammingBasics#Модуль1 - Введение. Основные понятия.
#Урок6
Что такое процессор?
Процессор – это интегральная микросхема, состоящая из миллионов транзисторов, которые работают вместе для выполнения разных задач компьютера. Давайте разберём каждую характеристику процессора подробнее.
Основные характеристики процессора:
1. Тактовая частота
Тактовая частота – это количество операций который процессор способен выполнить в одну секунду, соответственно, чем больше частота, тем лучше быстродействие процессора, также есть другие факторы, которые влияют на быстродействие. Измеряется в герцах, 1 герц – 1 операция в секунду. Чаще всего в характеристиках указана в гигагерцах. 1 гигагерц – 1 миллиард герц.
2. Количество Ядер
Многие современные процессоры имеют несколько ядер, каждый из которых может выполнять независимые задачи, друг от друга параллельно и для этого применяется много примитивов синхронизации об этом позже в других уроков. В принципе это всё что нужно знать об ядрах, можно представить, что это рабочие, которые выполняют работу независимо друг от друга.
3. Размер Кэш-памяти
Кэш-память процессора (или просто "кэш") — это небольшая, но очень быстрая типизированная память, встроенная непосредственно в сам процессор. Ее основная цель - увеличить скорость доступа к данным, снизив время, которое процессору требуется для загрузки данных из оперативной памяти (ОЗУ, RAM), то есть роль кэша почти такая же, как и у оперативной памяти, уменьшить задержку для доступа к данным. Кэш-память существует на нескольких уровнях (L1, L2 и L3) и каждый из них имеет свои особенности. В следующих уроках более подробно разберём этот элемент, так как в нём много нюансов.
4. Разрядность процессора оно же, размер машинного слова
Разрядность процессора — это одна из ключевых характеристик, которая определяет объем данных, который процессор может обработать за одну операцию, , измеряется в битах. Это важный параметр, влияющий на производительность и возможности компьютерной системы. Например, 8 битный процессор способен обработать за одну операцию ровно один байт, а в 1 байте – 256 возможных значений, а если мы не можем обработать значение которое не может превысить 256, то и соответственно процессор не может обратиться к памяти, где количество ячеек памяти превышает 256. И как раз эта проблема было существенной для увеличение адресного пространства, которое может адресовать процессор.
Поэтому разрядность процессора всё время увеличивалась, так как появлялась необходимость обрабатывать всё больше и больше данных. Современные процессоры зачастую имеют 64-битную разрядность, что позволяет на адресовать 18 446 744 073 709 551 616 байт, а это целых 16 эксабайт, что соответствует 17 179 869 184 гигабайт, а это очень огромное количество информации.
5. Архитектура
Архитектура процессора – это структурное описание и организация внутренних компонентов процессора, определяющие его функциональность. Архитектура определяет набор команд, форматы данных, режимы адресации, регистры, и другие важные характеристики процессора. Разные архитектуры могут варьироваться по своей сложности, производительности и энергоэффективности.
Перед тем как перейти к рассмотрению основных архитектур давайте поймём, что такое набор команд.
Набор команд — это список специальных инструкций, которые процессор компьютера понимает и может выполнить. Эти инструкции указывают, какие операции процессор должен выполнить, такие, как сложение чисел, перемещение данных из одного места в другое или выполнение логических операций.
Пример набора команд можно представить как рецепт в кулинарии. Допустим, у вас есть рецепт для приготовления чашки кофе. Этот рецепт — это ваш набор команд. В нем указаны шаги, которые вы должны выполнить: взять кофейные зерна, помолоть их, добавить воду, вскипятить, налить в чашку и добавить молоко (если вы хотите). В данном случае, каждый шаг в рецепте аналогичен команде в наборе команд процессора.
Процессоры компьютеров также работают по похожему принципу. Они имеют свой уникальный набор команд, которые они могут выполнить. Например, одна команда может указывать процессору сложить два числа, а другая - переместить данные из одного места в другое. Каждая команда в наборе команд процессора подобна инструкции в вашем кулинарном рецепте. Комбинируя эти команды в правильном порядке, процессор выполняет различные задачи, которые делают компьютер полезным для нас.
Теперь давайте разберём подходы к проектированию набора команд. Существует много подходов, но мы разберём самые основные RISC и CISC.
RISC (Reduced Instruction Set Computing) — это архитектура процессора, в которой используется набор простых и базовых инструкций. Основная идея RISC заключается в том, чтобы сделать каждую инструкцию как можно более простой и быстрой для выполнения. Процессоры RISC обычно имеют ограниченный набор инструкций, но каждая инструкция выполняется очень быстро и эффективно.
Особенности RISC:
Простые инструкции: Набор инструкций RISC состоит из небольшого числа простых операций, которые выполняются за один такт процессора.
Оптимизация для скорости: Процессоры RISC сконструированы так, чтобы выполнять инструкции как можно быстрее, что обеспечивает высокую производительность в вычислительных задачах.
Параллелизм и конвейеризация: RISC процессоры часто поддерживают техники параллелизма и конвейеризации, позволяя выполнить несколько инструкций за один такт.
Легко предсказуемые задержки: из-за простоты инструкций RISC процессоры предсказуемо обрабатывают команды, что облегчает оптимизацию и управление вычислениями.
CISC (Complex Instruction Set Computing) - это архитектура процессора, в которой используется более сложный и разнообразный набор инструкций. Процессоры CISC спроектированы для поддержки богатого набора инструкций, включая сложные операции, которые могут выполняться за несколько тактов. Идея заключается в том, чтобы предоставить более высокоуровневые инструкции, что может уменьшить количество инструкций, необходимых для выполнения определенных задач.
Особенности CISC:
Богатый набор инструкций: Процессоры CISC обычно имеют большое количество разнообразных инструкций, включая сложные операции, которые позволяют выполнять различные задачи с минимальным количеством инструкций.
Комплексные операции: Инструкции CISC могут включать в себя множество действий, что позволяет выполнить сложные операции в одной инструкции и соответственно некоторые инструкции могут выполняться за несколько тактов.
Гибкость в программировании: CISC инструкции могут быть более удобными для программистов, так как они могут выполнять сложные задачи с минимальным количеством команд.
Адресация памяти: Процессоры CISC обычно поддерживают различные режимы адресации памяти, что обеспечивает гибкость в работе с данными.
Теперь подробно рассмотрим несколько основных архитектур:
1. x86 и x86-64:
Архитектура x86 — это архитектура процессоров с набором команд основанная на CISC. Она является одной из самых распространенных архитектур процессоров. Название x86 происходит от имени первого 16-битного процессора Intel 8086, который был выпущен в 1978 году.
x86-64: это расширение архитектуры x86, поддерживающее 64-битные вычисления. Современные компьютеры и серверы часто используют процессоры x86-64.
Производители: Intel, AMD.
Платформы: Процессоры x86 используются в персональных компьютерах, серверах, рабочих станций, игровых консолях, мультимедийных устройств и встраиваемых системах.
2. ARM:
Архитектура ARM (Acorn RISC Machine) — это архитектура процессоров с набором упрощенных команд основанная на RISC с режимами простой адресации.
Производители: ARM Holdings, Qualcomm, Apple, Samsung, MediaTek.
Платформы: ARM-процессоры широко используются в мобильных устройствах, таких как смартфоны и планшеты. Они также используются во встраиваемых системах, интернете вещей (IoT), и в некоторых серверных решениях.
6. Техпроцесс
Техпроцесс (или технологический процесс) в производстве полупроводниковых чипов, включая процессоры, определяет размеры и распределение компонентов на микросхеме. Одним из ключевых параметров техпроцесса является "нанометровое значение" (нм), которое указывает на размер элементов на чипе. Чем меньше нанометров, тем больше элементов можно поместить на микросхеме, что приводит к увеличению производительности и энергоэффективности. Например, если техпроцесс имеет размер 10 нм, это означает, что расстояние между двумя соседними элементами (такими как транзисторы) составляет 10 нанометров, что очень мало - один нанометр равен миллиардной части метра.
7. Энергопотребление
Энергопотребление в компьютерных системах относится к количеству электроэнергии, которую потребляют компоненты, такие как процессоры, графические карты, жесткие диски и другие устройства, в процессе их работы. Энергопотребление измеряется в ваттах (Вт) и указывает на максимальную мощность, которую устройство потребляет во время работы.
Когда компоненты компьютера активно используются, они выполняют миллионы вычислений в секунду, что приводит к передаче энергии в виде тепла. Этот процесс является нормальным и неизбежным, но из-за высоких тепловыделений в современных высокопроизводительных компонентах, управление тепловыделением стало важным аспектом проектирования компьютерных систем.
Это характеристика не относится к самой работе процессора, но является важной, так как она может привести к таким проблемам как: перегрев и шум.
Давайте рассмотрим кратко историю развития процессоров:
1. 1950-е годы: Первые Электронные Компьютеры
В 1940-е и 1950-е годы были созданы первые электронные компьютеры, использующие лампы и реле для выполнения вычислений. Они были очень медленны, низко надёжны имели большое тепловыделение и занимали огромное количество места.
2. 1960-е годы: Интегральные Схемы
В середине 1960-х годов интегральные схемы (микросхемы) позволили упаковать тысячи транзисторов на одной микросхеме, что привело к созданию первых микропроцессоров. Возросло быстродействие, надежность уменьшились размеры и энергопотребление.
3. 1970-е годы: Появление Микропроцессоров
В 1971 году Intel выпустила первый микропроцессор Intel 4004, он был 4 разрядным, который содержал 2300 транзисторов и работал на частоте 740 кГц и имел техпроцесс 10мкм.
Затем последовали микропроцессоры Intel 8008, 8080 и 8086, установившие стандарты для будущих процессоров.
4. 1980-е годы: Появление Персональных Компьютеров
В 1981 году IBM выпустила IBM PC с процессором Intel 8088, который уже содержал 29 тысячи транзисторов имел техпроцесс 3 мкм. был 16 разрядным, что привело к популяризации персональных компьютеров.
Intel также выпустила серию процессоров x86, которые стали стандартом для большинства ПК.
5. 1990-е годы: Рост Производительности
Процессоры стали быстрее и мощнее благодаря увеличению количества транзисторов на чипе и улучшению архитектур.
Компании, такие как AMD, начали конкурировать с Intel, что привело к инновациям и снижению цен.
6. 2000-е годы: Появление Многопроцессорных Систем и Мобильных Процессоров
Многопроцессорные системы стали более распространенными, что увеличило вычислительную мощность.
Мобильные процессоры, такие как ARM, стали основой для смартфонов, планшетов и других портативных устройств.
7. 2010-е годы и Последующие: Развитие Технологий
Процессоры стали меньше по размеру и энергоэффективными, благодаря технологиям, таким как 10-нм и 7-нм производственные процессы.
В настоящее время продолжается развитие процессоров, при уменьшение размера техпроцесса до уровней 7 нм и ниже, сталкиваются с проблемами, связанными с квантовыми эффектами, такими как туннелирование электронов через тонкие барьеры. Это может привести к утечкам тока и неправильному функционированию транзисторов. С увеличением частоты процессора увеличивается тепловыделение. Процессоры вырабатывают больше тепла при работе на более высоких частотах, что требует более эффективного охлаждения. Проблемы с охлаждением могут привести к перегреву, что в свою очередь может вызвать снижение производительности и повреждение компонентов
Так что сейчас производители активно работают над усовершенствованием архитектур процессоров, чтобы повысить их производительность и эффективность. Это включает в себя оптимизацию конвейера, предсказание ветвлений, кэш-память и другие аспекты микроархитектуры.
Урок получился достаточно большим и обширным, но некоторые детали мы ещё не разобрали в деталях, в будущем мы вернёмся к этому!