Способность процессора выполнять набор машинных кодов это
Инструмент проще, чем машина. Зачастую инструментом работают руками, а машину приводит в действие паровая сила или животное.
Компьютер тоже можно назвать машиной, только вместо паровой силы здесь электричество. Но программирование сделало компьютер таким же простым, как любой инструмент.
Процессор — это сердце/мозг любого компьютера. Его основное назначение — арифметические и логические операции, и прежде чем погрузиться в дебри процессора, нужно разобраться в его основных компонентах и принципах их работы.
Выполнение инструкций
Инструкции хранятся в ОЗУ в последовательном порядке. Для гипотетического процессора инструкция состоит из кода операции и адреса памяти/регистра. Внутри управляющего устройства есть два регистра инструкций, в которые загружается код команды и адрес текущей исполняемой команды. Ещё в процессоре есть дополнительные регистры, которые хранят в себе последние 4 бита выполненных инструкций.
Ниже рассмотрен пример набора команд, который суммирует два числа:
- LOAD_A 8 . Это команда сохраняет в ОЗУ данные, скажем, . Первые 4 бита — код операции. Именно он определяет инструкцию. Эти данные помещаются в регистры инструкций УУ. Команда декодируется в инструкцию load_A — поместить данные 1000 (последние 4 бита команды) в регистр A .
- LOAD_B 2 . Ситуация, аналогичная прошлой. Здесь помещается число 2 ( 0010 ) в регистр B .
- ADD B A . Команда суммирует два числа (точнее прибавляет значение регистра B в регистр A ). УУ сообщает АЛУ, что нужно выполнить операцию суммирования и поместить результат обратно в регистр A .
- STORE_A 23 . Сохраняем значение регистра A в ячейку памяти с адресом 23 .
Вот такие операции нужны, чтобы сложить два числа.
Все данные между процессором, регистрами, памятью и I/O-устройствами (устройствами ввода-вывода) передаются по шинам. Чтобы загрузить в память только что обработанные данные, процессор помещает адрес в шину адреса и данные в шину данных. Потом нужно дать разрешение на запись на шине управления.
У процессора есть механизм сохранения инструкций в кэш. Как мы выяснили ранее, за секунду процессор может выполнить миллиарды инструкций. Поэтому если бы каждая инструкция хранилась в ОЗУ, то её изъятие оттуда занимало бы больше времени, чем её обработка. Поэтому для ускорения работы процессор хранит часть инструкций и данных в кэше.
Если данные в кэше и памяти не совпадают, то они помечаются грязными битами (англ. dirty bit).
Что такое системная шина
Системная шина или шина процессора (FSB) – является совокупностью сигнальных линий, объединённых по назначению. Простыми словами, системная шина связывает все компоненты компьютера с процессором, будь это жесткий диск, видеокарта или оперативная память. Процессор подключается только к системной шине, остальные устройства подключаются через специальные контроллеры.
Что такое разъем / сокет процессора
Есть два типа разъемов (сокетов) – гнездовой и щелевой. Хотя это можно считать, как один разъем, потому что он создан лишь для установки процессора. Наличие сокета значительно облегчает замену процессора. Также его можно было бы снять на время ремонта компьютера. Кстати, если что, данный разъем расположен на материнской плате. У компаний Intel и AMD свои типы разъемов, которые можно посмотреть здесь.
Архитектура процессора
У специалистов разных профессий понятие об архитектуре процессора немного отличаются. Например, программисты думают, то архитектура процессора – это когда процессор способен выполнять наборы машинных кодов. Разработчики компьютерных составляющих думают иначе, а именно то, что архитектора процессора отражает какие-либо свойства и качества, которые присущи целому семейству процессоров (другими словами, организация процессоров или их внутренняя конструкция). Например, существует такая архитектура, как Intel Pentium, она обозначается, как P5. К примеру, Pentium IV обозначается, как NetBurst.
Модель архитектуры процессора Pentium 4
Описание презентации по отдельным слайдам:
Центральный процессор (CPU). Центральный процессор является основным вычислительным устройством ПК, от которого зависит общая производительность ПК (определяется скоростью процессора). CPU выполняет все логические и арифметические операции, которые задает программа, а так же выполняет управление всеми устройствами компьютера (предназначен для обработки информации).
Имеет определенный набор базовых операций (команд) - например, одной из таких операций является операция сложения двоичных чисел. Физически микропроцессор представляет собой интегральную схему — тонкую пластинку кристаллического кремния прямоугольной формы площадью всего несколько квадратных миллиметров, на которой размещены схемы, реализующие все функции процессора. Кристалл-пластинка обычно помещается в пластмассовый или керамический плоский корпус и соединяется золотыми проводками с металлическими штырьками, чтобы его можно было присоединить к системной плате компьютера. Центральный процессор (CPU).
Центральный процессор в общем случае содержит в себе: Арифметико-логическое устройство. Шины данных и шины адресов. Регистры. Счетчики команд. Кэш — очень быструю память малого объема (от 8 до 512 Кбайт). Математический сопроцессор.
Архитектура процессора ПК Архитектура процессора – это способность процессора выполнять набор машинных кодов (программисты). Архитектура процессора – это отражение основных принципов внутренней организации определенных типов процессоров (разработчики ком.пьютерных составляющих)
Ядро процессора Процессоры с одинаковой архитектурой могут существенно отличаться друг от друга. Эти различия обусловлены разнообразием процессорных ядер, которые обладают определенным набором характеристик. Наиболее частым отличием является: различные частоты системной шины, размеры кэша второго уровня технологическим характеристикам, по которым изготовлены процессоры. Очень часто смена ядра в процессорах из одного и того же семейства, требует также замены процессорного разъема. А это влечет за собой проблемы с совместимостью материнских плат. Производители постоянно совершенствуют ядра и вносят постоянные, но не значительные изменения в ядре. Такие нововведения называют ревизией ядер и, как правило, обозначаются цифробуквенными комбинациями.
Системная шина Системная шина или процессорная шина (FSB – Front Side Bus) – это совокупность сигнальных линий, которые объединены по назначению (адреса, данные и т.д.). Каждая линия имеет определенный протокол передачи информации и электрическую характеристику. То есть системная шина – это связующее звено, которое соединяет сам процессор и все остальные устройства ПК (жесткий диск, видеокарта, память и многое другое). К самой системной шине подключается только CPU, все остальные устройства подключаются через контроллеры, которые находятся в северном мосте набора системной логики (чипсет) материнской платы. Хотя в некоторых процессорах контролер памяти подключен непосредственно в процессор, что обеспечивает более эффективный интерфейс памяти CPU.
Кеш или быстрая память Кеш или быстрая память – это обязательная составляющая всех современных процессоров. Кеш является буфером между процессором и контроллером достаточно медленной системной памяти. В буфере хранятся блоки данных, отрабатываемых в данный момент, и процессору не нужно постоянно обращаться к медленной системной памяти. В процессорах, используемых сегодня, кэш поделен на несколько уровней: первый уровень L1 - производит работу с ядром процессора (разделен на две части – это кэш данных и кэш инструкций); второй уровень L2 (взаимодействует с L1) – (больше по объему и не разделен на кэш инструкций и кэш данных). У некоторых процессоров существует L3 – третий уровень, он еще больше второго уровня, но на порядок медленнее, так как шина между вторым и третьим уровнем уже, чем между первым и вторым. Тем не менее, скорость третьего уровня все равно гораздо выше, нежели скорость системной памяти. Различают кэш по двум видам: эксклюзивный тип кэша - кэш, в котором информация на всех уровнях строго разграничена на оригинальную (используется в процессорах AMD); не эксклюзивный кэш – кэш, в котором информация повторяется на всех уровнях кэша (используется в процессорах Intel).
Разъем процессора Разъем процессора может быть щелевой и гнездовой (для установки на материнской плате). В любом случае его предназначение – это установка центрального процессора. Применение разъема облегчает замену процессора при модернизации и снятие на время ремонта ПК. Разъемы могут предназначаться для установки CPU-карты и самого процессора. Разъемы различают по предназначению для определенных типов процессоров или CPU-карт. Компания Intel сейчас производит перевод своих процессоров из гнезда Socket 478 в Разъём LGA 775 (в Socket 478 останутся только устаревшие процессоры и процессоры нижней ценовой категории, начального уровня производительности). Компания AMD: для производительных компьютеров и серверов начального уровня определяет Socket 939 для рабочих станций Socket 939 и Socket 754 для компьютеров начального уровня Socket 754 и Socket A (462).
Наиболее распространены Intel-совместимые процессоры (используются в IBM-совместимых ПК). Самые высокопроизводительные-Alpha (фирма Digital), используются в мини-ЭВМ и суперПК
CISC-процессоры Выполнение каждой программы реализуется своей микропрограммой, состоящей из набора микрокоманд. Каждая микрокоманда реализована на аппаратном уровне - выполняет какое-либо элементарное действие. Конкретна команда процессора кодируется набором микрокоманд, образующих микропрограмму. Т.О.: Микропрогаммы –это команды процессора, которые формируют программы.
RISC-процессоры Каждая команда процессора реализуется отдельной микросхемой (т.е. выполняется быстрее) – но число команд меньше и для реализации определенных действий необходимо несколько команд (в CISC выполняются одной командой).
Основные характеристики процессора Тактовая частота. Разрядность процессора. Производительность процессора. Система команд. Наличие и характеристики кэш-памяти. Параллельное выполнение команд. Технология изготовления процессоров.
Основные характеристики процессора Тактовая частота — количество циклов работы устройства за единицу времени (выше частота - выше производительность) Тактовая частота измеряется в мегагерцах (МГц) (1 МГц = 1 млн. тактов в секунду) Intel Pentium III – 600 МГц Intel Pentium IV – 3.73 ГГц
Разрядность процессора - это число двоичных разрядов, обрабатываемых одновременно при выполнении одной команды (4-х разрядный процессор – обработка не более 4 разрядов одной командой). Часто уточняют разрядность процессора и пишут, например, 16/20, что означает, что процессор имеет 16-разрядную шину данных и 20-разрядную шину адреса. Современный процессор Pentium 4 имеет разрядность 64/32, то есть одновременно процессор обрабатывает 64 бита, а адресное пространство составляет 68 719 476 736 байт = 64 Гигабайт. Основные характеристики процессора
Производительность процессора определяется скоростью выполнения команд. Является интегральной характеристикой, которая зависит от частоты процессора, его разрядности, а также особенностей архитектуры (наличие кэш-памяти и др.). Производительность процессора нельзя вычислить, она определяется в процессе тестирования, т. е. определения скорости выполнения процессором определенных операций в какой-либо программной среде. Для характеристики производительности используют: МИПС – 1млн оп/сек и МФЛОПС - 1млн оп/сек над дробными числами Основные характеристики процессора
Система команд, в составе которой присутствуют: арифметические и логические операции над числами с фиксированной и плавающей точкой; дополнительные команды, реализующие обработку графических, видео- и аудиоданных; Основные характеристики процессора
Наличие и характеристики кэш-памяти Кэш-память используется для ускорения доступа к данным, размещенным в ОЗУ. Применяется кэш-память первого и второго уровней. Кэш-память первого имеет меньший объём, размещается непосредственно в процессоре, обладает большим быстродействием. Основные характеристики процессора
Параллельное выполнение команд Каждая команда реализуется процессором за несколько циклов работы. Когда выполнение одной команды переходит к следующему циклу, процессор одновременно может начать обрабатывать другую команду. За счет организации конвейера команд позволяет скорость работы процессора намного возрастает. Основные характеристики процессора
Технология изготовления процессоров Чем меньше размеры процессора, тем больше его быстродействие (электроны быстрее проходят расстояние между элементами CPU). Уменьшение толщины проводников – один из основных путей уменьшения размеров и увеличения плотности расположения элементов в микросхеме процессора. Толщина проводников – 0,13-0,19 мкм Новая модификация Pentium 4 производится на 0,09-микронной технологии, планируется переход на 0,07 мкм. Основные характеристики процессора
Тепловыделение Тепловыделение процессора напрямую связано с количеством потребляемой энергии и потребляемой мощности, которая содержит статистическую и динамическую составляющие. На тепловыделение влияет емкость элементов процессора. Задание: Записать состав (элементы) процессора (стр 40) Основные характеристики процессора
В настоящее время элементарные микросхемы в экспериментальных разработках фирмы IBM формируются в виде одной молекулы. Предполагается, что вскоре процессоры на базе молекулярных микросхем будут впускаться промышленностью. ИНТЕРЕСНО
Уменьшение размеров и увеличение плотности размещения элементов. Увеличение разрядности. Параллельное выполнение команд. Развитие системы команд. Оптимизация кэш-памяти. Основные направления совершенствования процессора
Тип процессора Частота (МГц) Разрядность шины данных Разрядность шины адреса Адресное пространство 80864—1216201 Мб 802868—20162416 Мб 8038625—4032324 Г6 8048633—10032324 Г6 Pentium75—20064324 Г6 Pentium II 200—300643664 Г6 Pentium III 450-1000643664 Г6 Pentium IV 1000-3100643664 Г6
Сегмент рынка и модели процессоров производителей Сегмент рынкаIntelAMD Модели процессоров Производительные компьютеры и серверы начального уровняPentium 4 Extreme Edition, Pentium 4 с ядром PrescottAthlon 64 FX Рабочие станцииPentium 4 с ядром Prescott и ядром NorthwoodAthlon 64 Компьютеры начального уровняCeleron D и CeleronSempron (Athlon XP)
Характеристики некоторых современных процессоров ХарактеристикаIntel Pentium 4Intel Pentium 4Intel CeleronAMD Athlon 64AMD Athlon XP Процессорное ядроPrescottNorthwoodNorthwoodClawHammer, NewcastleBarton Процессорное гнездоSocket 478 / 775Socket 754 / 939Socket A Частота ядра, ГГцДо 3,4До 3,4До 3,41,8—2,2До 2,2 Число транзисторов, млн. шт.1255555105,954,3 Площадь ядра, мм2112131131193101 Кэш данных L1, Кбайт864 Кэш L2, Кбайт10245121281024512
Многопроцессорная архитектура В вычислительной системе может быть несколько параллельно работающих процессоров. Такие системы называются многопроцессорными.
Многопроцессорная архитектура Наличие в компьютере нескольких процессоров означает, что параллельно может быть организовано много потоков данных и много потоков команд. Таким образом, параллельно могут выполняться несколько фрагментов одной задачи. Структура такой машины, имеющей общую оперативную память и несколько процессоров.
Что такое процессор? Здесь Вы сможете прочитать небольшую терминологию данного понятия. Мы рассмотрим из чего он состоит, что такое ядро процессора, системная шина, кэш процессора, какие разъемы бывают у процессора, а также популярные изготовители. А теперь, приступим к делу.
Процессор (ЦП или CPU) – это устройство или схема, которая исполняет машинные команды (инструкции). Является наиважнейшим компонентом любого компьютера и ноутбука. Выполняет любые, как логические, так и арифметические операции. Также управляет всеми устройствами, подключенными к ПК.
Резюмируем
Итак, обычному, среднестатистическому пользователю компьютерного устройства весьма желательно знать архитектуру имеющегося в наличии процессора, чтобы скачивать и устанавливать правильные версии операционных систем и всяческих программ.
Сие не так актуально для владельцев смартфонов-коммуникаторов и прочих мобильных устройств. В большинстве случаев достаточно зайти на сайт производителя софта со своего аппарата — и модель будет идентифицирована автоматически.
Знать, что такое тактовая частота и каковыми являются актуальные параметры, нужно для того, чтобы в магазине вам не всучили нечто залежавшееся, слабое и способное сильно разочаровать.
Устройство процессора
На данный момент процессоры представляют собой схему (микропроцессор) и является маленькой тонкой пластиной, квадратной по форме. На такой схеме расположены элементы, обеспечивающие функциональность самого процессора и ПК в целом. Такая пластина защищена пластмассовым или керамическим корпусом, подсоединенная золотыми проводами с наконечниками из металла. Данная конструкция позволяет присоединить процессор к системной плате.
Арифметико-логическое устройство
Это устройство, как ни странно, выполняет все арифметические и логические операции, например сложение, вычитание, логическое ИЛИ и т. п. АЛУ состоит из логических элементов, которые и выполняют эти операции.
Большинство логических элементов имеют два входа и один выход.
Ниже приведена схема полусумматора, у которой два входа и два выхода. A и B здесь являются входами, S — выходом, C — переносом (в старший разряд).
Схема арифметического полусумматора
Разрядность и архитектура
На данном историческом этапе процессоры бывают 32-разрядными и 64-разрядными. На компьютеры, оборудованные последними, желательно устанавливать варианты операционных систем и программ, помеченные как «64 bit», «x86-64», «x64» … В общем, с числом 64. Такой софт будет работать на них эффективнее, нежели 32-битный.
В смартфонах, продвинутых карманных медиаплеерах, планшетах и прочих мобильных устройствах очень часто применяются процессоры архитектуры ARM (расшифровывается как «Advanced RISC Machine» или «Acorn RISC Machine») от британской компании ARM Ltd. Такие изделия производятся по технологии RISC (Restricted (Reduced) Instruction Set Computer), с упрощённым набором команд (инструкций).
Итак, допустим, вы вознамерились скачать, к примеру, операционную систему Ubuntu. Вам следует:
- Узнать, какова архитектура и разрядность процессора в вашем компьютерном устройстве.
- Сделать выбор между 32-bit или 64-bit, для обычного процессора (на обычном ноутбуке) или ARM (в планшете).
Упомянутая ранее виртуальная машина Davlik оптимизирована для RISC-архитектуры, поэтому ОС Android прекрасно себя чувствует на устройствах с ARM. Есть версии и для обычных процессоров (помечаемых как x86), но применение Android на ноутбуках и настольных ПК лишено смысла в плане практичности.
Суть вкратце
Процессоры обрабатывают машинный код — набор определённых команд (он же «набор кодов операций», он же «native code», он же «набор инструкций»), который поступает из программного обеспечения.
Софт для удобства пишется на языках программирования, а потом компиляторы преобразовывают (транслируют) всё в машинный код. Получается готовая программа, которая и взаимодействует с процессором.
Есть интерпретируемые языки, такие как Python. Написанное на них обрабатывается интерпретатором, своеобразным виртуальным процессором. Впрочем, интерпретатор всё равно состоит из машинного кода, как и полагается уважающей себя программе.
Бывают и промежуточные стадии, такие как «байт-код», он же «псевдокод», работающий в виртуальных машинах (программных имитациях «железа») и не зависящий от реального аппаратного обеспечения или софта. Так, например, в операционной системе Android работает виртуальная машина Davlik (в смысле, Dalvik Virtual Machine) с байт-кодом собственного формата.
Однако если всякие сложности с промежуточными стадиями не применяются, то для разных видов процессоров в любом случае требуются несколько отличающиеся наборы инструкций. В связи с этим обычный софт затачивается под разные модификации обсуждаемых изделий. К этому весьма важному моменту и переходим.
Немного истории
Начинаем, как обычно, с истории. Первые процессоры появились в середине минувшего века. Были они большими, с двухэтажный дом, медленными и ненадёжными, потому что состояли из радиоламп и сопутствующих им деталей.
Потом человечество изобрело транзисторы, и в 60-е годы такие приборы занимали всего лишь один этаж. Микросхемы внедрялись медленно. Настоящий процессор (вернее, микропроцессор), похожий на современный, упакованный в одну микросхему, был изготовлен только в начале 70-х.
Первой ласточкой прогресса оказалось изделие «4004» от фирмы Intel, четырёхразрядный микропроцессор, выпущенный в 1971-м. Его сразу же бросились вставлять в разные калькуляторы.
А позже, в 80-х, благодаря микропроцессорам началось широкое распространение персональных компьютеров. Правда, поначалу они умели ненамного больше калькуляторов, однако развитие техники всё же привело к ситуации, наблюдаемой в наши дни.
Что такое ядро процессора
Даже если процессоры имеют одинаковую архитектуру, они могут иметь различия. В первую очередь это конечно же различие в процессорных ядрах, которые наделяют сам процессор, какими-либо характеристиками. Конечно, отличаться они могут и размерами кэша, и различиями в частоте системной шины. По сути, термин ядро процессора четкого определения не имеет, но может позволить выделить особенности какой-либо модели.
В случае замены ядра, скорее всего придется менять и процессорный разъем, что влечет за собой определенные трудности, которые связаны с совместимостью системных плат. Конечно, разработчики постоянно занимаются над совершенствованием ядер. Такие нововведения называются ревизией ядер, они в свою очередь обозначаются буквенными и цифирными значениями.
Тактирование процессора
Быстродействие компьютера определяется тактовой частотой его процессора. Тактовая частота — количество тактов (соответственно и исполняемых команд) за секунду.
Частота нынешних процессоров измеряется в ГГц (Гигагерцы). 1 ГГц = 10⁹ Гц — миллиард операций в секунду.
Чтобы уменьшить время выполнения программы, нужно либо оптимизировать (уменьшить) её, либо увеличить тактовую частоту. У части процессоров есть возможность увеличить частоту (разогнать процессор), однако такие действия физически влияют на процессор и нередко вызывают перегрев и выход из строя.
Что такое кэш процессора
Кеш – это технология которая во всех современных процессорах является обязательной, еще ее называют быстрой памятью. Кэш технология является буфером между процессором и котроллером, который является медленной памятью. Буфер является хранилищем блоков данных, которые отрабатываются именно сейчас, таким образом процессору не нужно обращаться к контроллеру. Такое свойство очень хорошо увеличивает производительность процессора.
На данный момент существует несколько уровней кэша. L1 – кэш первого уровня, является самым быстрым и работает напрямую с ядром. Далее идет кэш второго уровня – L2, который взаимодействует с L1. Такой кэш по объему намного больше, чем L1. Иногда может встречаться и кэш третьего уровня – L3. Он достаточно медленный, а по объему еще больше, чем L2, но опять же, он быстрее, чем системная память.
Также, кэш разделяют на эксклюзивный и не эксклюзивный.
К первому типу относят кэш, в котором данные разделены на оригинальные в строгом порядке. К не эксклюзивному кэшу относят кэш, данные которого могут повторяться на всех уровнях кэша. Например, компания Intel, использует не эксклюзивный тип, а AMD – cсоответственно эксклюзивный. Трудно сказать, какой лучше, у обоих есть и достоинства, и недостатки.
Далее, в следующих статьях мы рассмотрим, как выбрать процессор, и какие популярные производители существуют.
Вы наверняка знаете, что мир процессоров разбит на два лагеря. Если вы смотрите это видео со смартфона, то для вас работает процессор на архитектуре ARM, а если с ноутбука, для вас трудится чип на архитектуре x86.
А теперь еще и Apple объявила, что переводит свои Mac на собственные процессоры Apple Silicon на архитектуре ARM. Мы уже рассказывали, почему так происходит. А сегодня давайте подробно разберемся, в чем принципиальные отличия x86 и ARM. И зачем Apple в это все вписалась?
Итак, большинство мобильных устройств, iPhone и Android'ы работают на ARM'е. Qualcomm, HUAWEI Kirin, Samsung Exynos и Apple A13/A14 Bionic — это все ARM-процессоры.
А вот на компьютере не так — там доминирует x86 под крылом Intel и AMD. Именно поэтому на телефоне мы не можем запустить Word с компьютера.
x86 — так называется по последним цифрам семейства классических процессоров Intel 70-80х годов.
Чем же они отличаются?
Есть два ключевых отличия.
Первое — это набор инструкций, то есть язык который понимает процессор
x86 процессоры используют сложный набор инструкций, который называется CISC - Complex Instruction Set Computing.
ARM процессоры наоборот используют упрощенный набор инструкций — RISC - Reduced Instruction Set Computing.
Кстати ARM расшифровывается как Продвинутые RISC машины - Advanced RISC Machines.
Наборы инструкций ещё принято назвать архитектурой или ISA - Instruction Set Architecture.
Второе отличие — это микроархитектура. Что это такое?
От того на каком языке говорят процессоры, зависит и то, как они проектируются. Потому как для выполнения каждой инструкции на процессоре нужно расположить свой логический блок. Соответственно, разные инструкции — разный дизайн процессора. А дизайн — это и есть микроархитектура.
Но как так произошло, что процессоры стали говорить на разных языках?
История CISC
Памятка программиста, 1960-е годы. Цифровой (машинный) код «Минск-22».
Всё началось в 1960-х. Поначалу программисты работали с машинным кодом, то есть реально писали нолики и единички. Это быстро всех достало и появился Assembler. Низкоуровневый язык программирования, который позволял писать простые команды типа сложить, скопировать и прочее. Но программировать на Assembler'е тоже было несладко. Потому как приходилось буквально “за ручку” поэтапно описывать процессору каждое его действие.
Поэтому, если бы вы ужинали с процессором, и попросили передать его вам соль, это выглядело бы так:
- Эй процессор, посмотри в центр стола.
- Видишь соль? Возьми её.
- Теперь посмотри на меня.
- Отдай мне соль. — Ага, спасибо!
- А теперь снова возьми у меня соль.
- Поставь её откуда взял
- Спасибо большое! Продолжай свои дела.
- Кхм… Процессор, видишь перец?
- И так далее.
Этот подход стал настоящим спасением как для разработчиков, так и для бизнеса. Захотел клиент новую инструкцию — не проблема, были бы деньги — мы сделаем. А деньги у клиентов были.
Недостатки CISC
Но был ли такой подход оптимальным. С точки зрения разработчиков — да. Но вот микроархитектура страдала.
Представьте, вы купили квартиру и теперь вам нужно обставить её мебелью. Площади мало, каждый квадратный метр на счету. И вот представьте, если бы CISC-процессор обставил мебелью вам гостиную, он бы с одной стороны позаботился о комфорте каждого потенциального гостя и выделил бы для него своё персональное место.
С другой стороны, он бы не щадил бюджет. Диван для одного человека, пуф для другого, кушетка для третьего, трон из Игры Престолов для вашей Дейенерис. В этом случае площадь комнаты бы очень быстро закончилась. Чтобы разместить всех вам бы пришлось увеличивать бюджет и расширять зал. Это не рационально. Но самое главное, CISC-архитектура существует очень давно и те инструкции, которые были написаны в 60-х годах сейчас уже вообще не актуальны. Поэтому часть мебели, а точнее исполнительных блоков, просто не будут использоваться. Но многие из них там остаются. Поэтому появился RISC…
Преимущества RISC
С одной стороны писать на Assembler'е под RISC процессоры не очень-то удобно. Если в лоб сравнивать код, написанный под CISC и RISC процессоры, очевидно преимущество первого.
Так выглядит код одной и той же операции для x86 и ARM.
x86
Представьте, что вы проектируете процессор. Расположение блоков на х86 выглядело бы так.
Каждый цветной квадрат — это отдельные команды. Их много и они разные. Как вы поняли, здесь мы уже говорим про микроархитектуру, которая вытекает из набора команд. А вот ARM-процессор скорее выглядит так.
Ему не нужны блоки, созданные для функций, написанных 50 лет назад.
По сути, тут блоки только для самых востребованных команд. Зато таких блоков много. А это значит, что можно одновременно выполнять больше базовых команд. А раритетные не занимают место.
Еще один бонус сокращенного набора RISC: меньше места на чипе занимает блок по декодированию команд. Да, для этого тоже нужно место. Архитектура RISC проще и удобнее, загибайте пальцы:
- проще работа с памятью,
- более богатая регистровая архитектура,
- легче делать 32/64/128 разряды,
- легче оптимизировать,
- меньше энергопотребление,
- проще масштабировать и делать отладку.
Поэтому наши смартфоны, которые работают на ARM процессорах с архитектурой RISC, долго живут, не требуют активного охлаждения и такие быстрые.
Лицензирование
Но это все отличия технические. Есть отличия и организационные. Вы не задумывались почему для смартфонов так много производителей процессоров, а в мире ПК на x86 только AMD и Intel? Все просто — ARM это компания которая занимается лицензированием, а не производством.
Даже Apple приложила руку к развитию ARM. Вместе с Acorn Computers и VLSI Technology. Apple присоединился к альянсу из-за их грядущего устройства — Newton. Устройства, главной функцией которого было распознавание текста.
Даже вы можете начать производить свои процессоры, купив лицензию. А вот производить процессоры на x86 не может никто кроме синей и красной компании. А это значит что? Правильно, меньше конкуренции, медленнее развитие. Как же так произошло?
Ну окей. Допустим ARM прекрасно справляется со смартфонами и планшетами, но как насчет компьютеров и серверов, где вся поляна исторически поделена? И зачем Apple вообще ломанулась туда со своим Apple Silicon.
Что сейчас?
Допустим мы решили, что архитектура ARM более эффективная и универсальная. Что теперь? x86 похоронен?
На самом деле, в Intel и AMD не дураки сидят. И сейчас под капотом современные CISC-процессоры очень похожи на RISC. Постепенно разработчики CISC-процессоров все-таки пришли к этому и начали делать гибридные процессоры, но старый хвост так просто нельзя сбросить.
Но уже достаточно давно процессоры Intel и AMD разбивают входные инструкции на более мелкие микро инструкции (micro-ops), которые в дальнейшем — сейчас вы удивитесь — исполняются RISC ядром.
Да-да, ребята! Те самые 4-8 ядер в вашем ПК — это тоже RISC-ядра!
Надеюсь, тут вы окончательно запутались. Но суть в том, что разница между RISC и CISC-дизайнами уже сейчас минимальна.
А что остается важным — так это микроархитектура. То есть то, насколько эффективно все организовано на самом камне.
Ну вы уже наверное знаете, что Современные iPad практически не уступают 15-дюймовым MacBook Pro с процессорами Core i7 и Core i9.
А что с компьютерами?
Недавно компания Ampere представила свой 80-ядерный ARM процессор. По заявлению производителя в тестах процессор Ampere показывает результат на 4% лучше, чем самый быстрый процессор EPYC от AMD и потребляет на 14% меньше энергии.
Компания Ampere лезет в сегменты Cloud и Workstation, и показывает там отличные цифры. Самый быстрый суперкомпьютер в мире сегодня работает на ARM ISA. С обратной стороны, Intel пытается все таки влезть в сегмент low power и для этого выпускает новый интересный процессор на микроархитектуре lakefield.
Пока у ноутбуков и процессоров от Intel есть одно неоспоримое достоинство - (охлаждение и) единство архитектуры. Пока на рынке ARM-процессоров существуют Qualcomm, Samsung, MediaTek, в мире x86 творится монополия и разработчикам сильно легче делать софт и игры под “взрослые” процессоры.
И Apple та компания, которая способна мотивировать достаточное количество разработчиков пилить под свой ARM. Но суть этого перехода скорее не в противостоянии CISC и RISC. Поскольку оба подхода сближаются, акцент смещается на микроархитектуру, которую делает Apple для своих мобильных устройств. И судя по всему микроархитектура у них крута. И они хотели бы ее использовать в своих компьютерах.
И если бы Intel лицензировал x86 за деньги другим людям, то вероятно Apple просто адаптировали свою текущую микроархитектуру под x86. Но так как они не могут этого сделать, они решили просто перейти на ARM. Проблема для нас с микроархитектурой в том, что она коммерческая тайна. И мы про нее ничего не знаем.
Итоги
Спрос на ARM в итоге вырастет. Для индустрии это не просто важный шаг, а архиважный. Линус Торвальдс говорил, что пока рабочие станции не станут работать на ARM — на рынке серверов будут использовать x86.
И вот это случилось — в перспективе это миллионы долларов, вложенных в серверные решения. Что, конечно, хорошо и для потребителей. Нас ждет светлое будущее и Apple, действительно, совершила революцию!
Редактор материала: Антон Евстратенко. Этот материал помогли подготовить наши зрители Никита Куликов и Григорий Чирков. Спасибо ребята!
Центральный процессор, он же «центральное процессорное устройство» (то бишь, ЦПУ), он же «central processing unit» (в смысле, CPU), может работать независимо от того, знаете ли вы о нём хоть что-нибудь. Включаете электропитание вашего ноутбука, нетбука, планшета, настольного ПК — он и работает.
Регистры
Регистр — минимальная ячейка памяти данных. Регистры состоят из триггеров (англ. latches/flip-flops). Триггеры, в свою очередь, состоят из логических элементов и могут хранить в себе 1 бит информации.
Прим. перев. Триггеры могут быть синхронные и асинхронные. Асинхронные могут менять своё состояние в любой момент, а синхронные только во время положительного/отрицательного перепада на входе синхронизации.
По функциональному назначению триггеры делятся на несколько групп:
- RS-триггер: сохраняет своё состояние при нулевых уровнях на обоих входах и изменяет его при установке единице на одном из входов (Reset/Set — Сброс/Установка).
- JK-триггер: идентичен RS-триггеру за исключением того, что при подаче единиц сразу на два входа триггер меняет своё состояние на противоположное (счётный режим).
- T-триггер: меняет своё состояние на противоположное при каждом такте на его единственном входе.
- D-триггер: запоминает состояние на входе в момент синхронизации. Асинхронные D-триггеры смысла не имеют.
Для хранения промежуточных данных ОЗУ не подходит, т. к. это замедлит работу процессора. Промежуточные данные отсылаются в регистры по шине. В них могут храниться команды, выходные данные и даже адреса ячеек памяти.
Принцип действия RS-триггера
Команды (инструкции)
Команды — это фактические действия, которые компьютер должен выполнять. Они бывают нескольких типов:
- Арифметические: сложение, вычитание, умножение и т. д.
- Логические: И (логическое умножение/конъюнкция), ИЛИ (логическое суммирование/дизъюнкция), отрицание и т. д.
- Информационные: move , input , outptut , load и store .
- Команды перехода: goto , if . goto , call и return .
- Команда останова: halt .
Прим. перев. На самом деле все арифметические операции в АЛУ могут быть созданы на основе всего двух: сложение и сдвиг. Однако чем больше базовых операций поддерживает АЛУ, тем оно быстрее.
Инструкции предоставляются компьютеру на языке ассемблера или генерируются компилятором высокоуровневых языков.
В процессоре инструкции реализуются на аппаратном уровне. За один такт одноядерный процессор может выполнить одну элементарную (базовую) инструкцию.
Группу инструкций принято называть набором команд (англ. instruction set).
Поток инструкций
Современные процессоры могут параллельно обрабатывать несколько команд. Пока одна инструкция находится в стадии декодирования, процессор может успеть получить другую инструкцию.
Однако такое решение подходит только для тех инструкций, которые не зависят друг от друга.
Если процессор многоядерный, это означает, что фактически в нём находятся несколько отдельных процессоров с некоторыми общими ресурсами, например кэшем.
Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.
Рабочие листы и материалы для учителей и воспитателей
Более 2 500 дидактических материалов для школьного и домашнего обучения
Столичный центр образовательных технологий г. Москва
Получите квалификацию учитель математики за 2 месяца
от 3 170 руб. 1900 руб.
Количество часов 300 ч. / 600 ч.
Успеть записаться со скидкой
Форма обучения дистанционная
- Онлайн
формат - Диплом
гособразца - Помощь в трудоустройстве
311 лекций для учителей,
воспитателей и психологов
Получите свидетельство
о просмотре прямо сейчас!
«Как закрыть гештальт: практики и упражнения»
Свидетельство и скидка на обучение каждому участнику
Множество ядер
Процессор — это кристалл, на который напыляют микроскопические детальки. Потом всё это упаковывают в корпус микросхемы. Однако в оный корпус можно вставить не один такой кристалл, а два. Или четыре. А то и восемь. Они будут называться ядрами. Так появились термины «двухъядерный», «многоядерный» etc.
Естественно, чем больше ядер, тем выше производительность процессора. Для домашних нужд обычно выпускаются двухъядерные и четырёхъядерные, а для серверов — восьмиядерные. В марте 2010-го компания AMD выпустила двенадцатиядерные «Opteron 6100», тоже для серверов.
Покупая ноутбук, даже самый простенький, вы наверняка получите двухъядерный процессор. С одним ядром нынче бывают разве что нетбуки. Ну и ещё разные недорогие планшеты-навигаторы.
Память (ОЗУ)
ОЗУ (оперативное запоминающее устройство, англ. RAM) — это большая группа этих самых регистров, соединённых вместе. Память у такого хранилища непостоянная и данные оттуда пропадают при отключении питания. ОЗУ принимает адрес ячейки памяти, в которую нужно поместить данные, сами данные и флаг записи/чтения, который приводит в действие триггеры.
Прим. перев. Оперативная память бывает статической и динамической — SRAM и DRAM соответственно. В статической памяти ячейками являются триггеры, а в динамической — конденсаторы. SRAM быстрее, а DRAM дешевле.
Из чего состоит процессор
- Регистры
- Арифметико-логическое устройство
- Шины данных и адресов
- Кэш память
- Математический сопроцессор
Устройство управления
Устройство управления (УУ) помогает процессору контролировать и выполнять инструкции. УУ сообщает компонентам, что именно нужно делать. В соответствии с инструкциями он координирует работу с другими частями компьютера, включая второй основной компонент — арифметико-логическое устройство (АЛУ). Все инструкции вначале поступают именно на устройство управления.
Существует два типа реализации УУ:
- УУ на жёсткой логике (англ. hardwired control units). Характер работы определяется внутренним электрическим строением — устройством печатной платы или кристалла. Соответственно, модификация такого УУ без физического вмешательства невозможна.
- УУ с микропрограммным управлением (англ. microprogrammable control units). Может быть запрограммирован для тех или иных целей. Программная часть сохраняется в памяти УУ.
УУ на жёсткой логике быстрее, но УУ с микропрограммным управлением обладает более гибкой функциональностью.
Хранение информации — регистры и память
Как говорилось ранее, процессор выполняет поступающие на него команды. Команды в большинстве случаев работают с данными, которые могут быть промежуточными, входными или выходными. Все эти данные вместе с инструкциями сохраняются в регистрах и памяти.
Два основных компонента процессора
Тактовая частота
Процессор обрабатывает поступающий в него машинный код со скоростью, обусловленной так называемой тактовой частотой. От неё, частоты, зависит количество операций в секунду. По современным меркам, нормальным для обычного ноутбука считается показатель в районе двух гигагерц. Ну, хотя бы не ниже полутора.
Впрочем, реальное быстродействие зависит не столько от тактовой частоты процессора, сколько от качества операционной системы и софта. Кривые, глючные, унылые программные изделия, текущие памятью и обвешанные излишней функциональностью (Bloatware), способны затормозить любое оборудование.
И наоборот, хороший софт, созданный с умом и отшлифованный как следует, будет «летать» даже на слабеньких машинах.
Что такое регистр процессора
Регистром в процессоре является блок ячеек, который образует сверхбыструю оперативную память. Такая память используется только процессором.
Читайте также: