Способность процессора выполнять набор машинных кодов это

Обновлено: 07.07.2024

Delphi site: daily Delphi-news, documentation, articles, review, interview, computer humor.

Главную роль на современном компьютере играет центральный процессор (CPU, Central Processing Unit); на некоторых компьютерах процессоров устанавливается два и более процессора. В качестве примеров процессоров можно назвать Intel Pentium и Itanium, AMD Athlon, Motorola PowerPC и Sun UltraSPARC. Сам no себе процессор не приносит особой пользы, потому что он умеет только выполнять полученные команды. В этом отношении он напоминает калькулятор. Как известно, калькулятор отлично справляется с вычислениями, но при этом за ним должен сидеть человек и вводить числа.

Процессор получает команды из памяти. Команды процессора представляют собой машинный код, неудобный и плохо воспринимаемый человеком. Как правило, машинный код находится на два уровня ниже языков программирования С и Perl, хорошо знакомых многим программистам. Промежуточное место занимает язык ассемблера, понятный для человека, но не слишком удобный.

Я кратко опишу структуру машинного кода, чтобы вы знали, с чем имеете дело, обнаружив его на диске. Каждая команда машинного кода состоит из нескольких байтов. Первая пара байтов определяет тип команды, называемый кодом операции (opcode). Например, значение 3 может обозначать операцию сложения. За кодом операции следуют аргументы команды - скажем, аргументы команды сложения определяют два суммируемых числа.

Для данной книги более подробного описания не потребуется, но я приведу простейший пример. Одна из машинных команд заносит числа в регистры процессора. Регистрами называются ячейки, в которых процессор хранит обрабатываемые данные. Ассемблерная команда MOV АН,00 заносит значение 0 в регистр АН. Эквивалентная команда машинного кода в шестнадцатеричном виде имеет 0хВ400, где В4 - код операции MOV АН, а 00 - шестнадцатеричное число, помещаемое в регистр. Некоторые утилиты автоматически транслируют машинный код на ассемблер, но во многих случаях неочевидно, имеете ли вы дело с машинным кодом или какими-то произвольными данными.






Процессор компьютера – это основной компонент компьютера, его «мозг», скажем так. Он выполняет все логические и арифметические операции, которые задает программа. Кроме этого он выполняет управление всеми устройствами компьютера.

  1. 1 Что собою представляет современный процессор
    1. 1.1 Из чего состоит процессор ПК?
    2. 1.2 Что такое архитектура процессора?
    3. 1.3 Что такое ядро процессора?
    4. 1.4 Что такое системная шина?
    5. 1.5 Что такое кэш процессора?
    6. 1.6 Что такое разъем процессора?
    7. 1.7 Популярные производители процессоров ПК.
    8. 1.8 Как выбрать процессор для компьютера?

    Что собою представляет современный процессор

    Сегодня процессоры изготавливаются в виде микропроцессоров. Визуально микропроцессор – это тонкая пластинка кристаллического кремния в форме прямоугольника. Площадь пластины несколько квадратных миллиметров, на ней расположены схемы, которые обеспечивают функциональность процессора ПК. Как правило, пластинка защищена керамическим или пластмассовым плоским корпусом, к которому подсоединена посредством золотых проводков с металлическими наконечниками. Такая конструкция позволяет подсоединить процессор к системной плате компьютера.

    Из чего состоит процессор ПК?

    Что такое архитектура процессора?

    Архитектура процессора – это способность процессора выполнять набор машинных кодов. Это с точки зрения программистов. Но разработчики компьютерных составляющих придерживаются другой трактовки понятия «архитектура процессора». По их мнению, архитектура процессора – это отражение основных принципов внутренней организации определенных типов процессоров. Допустим, архитектура Intel Pentium обозначается Р5, Pentium II и Pentium III — Р6, а не так давно популярных Pentium 4 – NetBurst. Когда компания Intel закрыла Р5 для конкурирующих производителей, компания AMD разработала свою архитектуру К7 для Athlon и Athlon XP, а для Athlon 64 – К8.

    Что такое ядро процессора?

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

    Что такое системная шина?

    Системная шина или процессорная шина (FSB – Front Side Bus) – это совокупность сигнальных линий, которые объединены по назначению (адреса, данные и т.д.). Каждая линия имеет определенный протокол передачи информации и электрическую характеристику. То есть системная шина – это связующее звено, которое соединяет сам процессор и все остальные устройства ПК (жесткий диск, видеокарта, память и многое другое). К самой системной шине подключается только CPU, все остальные устройства подключаются через контроллеры, которые находятся в северном мосте набора системной логики (чипсет) материнской платы. Хотя в некоторых процессорах контролер памяти подключен непосредственно в процессор, что обеспечивает более эффективный интерфейс памяти CPU.

    Что такое кэш процессора?

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

    В процессорах, используемых сегодня, кэш поделен на несколько уровней. Самый быстрый – первый уровень L1, который производит работу с ядром процессора. Он обычно разделен на две части – это кэш данных и кэш инструкций. С L1 взаимодействует L2 – кэш второго уровня. Он намного больше по объему и не разделен на кэш инструкций и кэш данных. У некоторых процессоров существует L3 – третий уровень, он еще больше второго уровня, но на порядок медленнее, так как шина между вторым и третьим уровнем уже, чем между первым и вторым. Тем не менее, скорость третьего уровня все равно гораздо выше, нежели скорость системной памяти.

    Различают кэш по двум видам – эксклюзивный и не эксклюзивный.

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

    Не эксклюзивный кэш – это кэш, в котором информация повторяется на всех уровнях кэша. Трудно сказать, какой тип кэша лучше, и у первого и у второго есть свои достоинства и недостатки. Эксклюзивный тип кэша используется в процессорах AMD, а не эксклюзивный — Intel.

    Что такое разъем процессора?

    Разъем процессора может быть щелевой и гнездовой. В любом случае его предназначение – это установка центрального процессора. Применение разъема облегчает замену процессора при модернизации и снятие на время ремонта ПК. Разъемы могут предназначаться для установки CPU-карты и самого процессора. Разъемы различают по предназначению для определенных типов процессоров или CPU-карт.

    Популярные производители процессоров ПК.

    Первое место занимает процессор Intel Core i5. Отличный вариант для мощной игровой машины.

    Второе место — Intel Celeron E3200, не смотря на достаточно приличную стоимость. Оптимальный вариант для офисной машины.

    Третье место занимает снова intel — на этот раз 4-х ядерный Core 2 Quad.

    Четвертое место — процессор AMD Athlon II X2 215 2.7 GHz 1Mb Socket-AM3 OEM. Хороший выбор для дома и офиса, для тех кто хочет сэкономить и не нуждается в супер мощной машине. К тому у этой модели процессора есть много места для разгона.

    Пятое место — AMD Phenom II X4 945. Хорошая цена, отличная производительность, большой кэш и 4 ядра на борту.

    Как выбрать процессор для компьютера?

    Если вы готовы заплатить за процессор порядка 1000$, то можете приобрести Intel Сore 2 Extreme. Но такой процессор вряд ли подойдет для широких масс потребителей. Поэтому рассмотрим более доступные варианты.

    Если вы простой пользователь ПК, который работает с текстами, смотрит фильмы, прослушивает музыку и работает в Интернете, вам вполне подойдет или Celeron E1200 или младшие Athlon 64 X2. Последний имеет определенные преимущества перед первым и вам его хватит на долгие годы.

    Если вы используете свой компьютер для развлечения, периодически играете в игры, то вам нужно посмотреть на процессоры Core 2 Duo. Это самый оптимальный вариант процессора для ваших потребностей.

    Если вы относитесь к пользователям, которые используют все возможности компьютера, работаете с аудио, Интернет, видео, большими программами и тяжеловесными играми, вам больше всего подойдет Core 2 Duo E8200. Этот процессор обладает высокой производительностью, невысоким тепловыделением, достаточной возможностью разгона, при этом доступен по цене.

    И, наконец, вы бескомпромиссный игрок и ваш ПК должен быть мощным игровым плацдармом? Вам просто необходим или двухядерный или четырехядерный процессор, не меньше.

    Процессор

    Центральный процессор, он же «центральное процессорное устройство» (то бишь, ЦПУ), он же «central processing unit» (в смысле, CPU), может работать независимо от того, знаете ли вы о нём хоть что-нибудь. Включаете электропитание вашего ноутбука, нетбука, планшета, настольного ПК — он и работает.

    Немного истории

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

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

    Первой ласточкой прогресса оказалось изделие «4004» от фирмы Intel, четырёхразрядный микропроцессор, выпущенный в 1971-м. Его сразу же бросились вставлять в разные калькуляторы.

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

    Суть вкратце

    Процессоры обрабатывают машинный код — набор определённых команд (он же «набор кодов операций», он же «native code», он же «набор инструкций»), который поступает из программного обеспечения.

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

    Процессор

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

    Бывают и промежуточные стадии, такие как «байт-код», он же «псевдокод», работающий в виртуальных машинах (программных имитациях «железа») и не зависящий от реального аппаратного обеспечения или софта. Так, например, в операционной системе Android работает виртуальная машина Davlik (в смысле, Dalvik Virtual Machine) с байт-кодом собственного формата.

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

    Разрядность и архитектура

    В смартфонах, продвинутых карманных медиаплеерах, планшетах и прочих мобильных устройствах очень часто применяются процессоры архитектуры ARM (расшифровывается как «Advanced RISC Machine» или «Acorn RISC Machine») от британской компании ARM Ltd. Такие изделия производятся по технологии RISC (Restricted (Reduced) Instruction Set Computer), с упрощённым набором команд (инструкций).

    Итак, допустим, вы вознамерились скачать, к примеру, операционную систему Ubuntu. Вам следует:

    1. Узнать, какова архитектура и разрядность процессора в вашем компьютерном устройстве.
    2. Сделать выбор между 32-bit или 64-bit, для обычного процессора (на обычном ноутбуке) или ARM (в планшете).

    Упомянутая ранее виртуальная машина Davlik оптимизирована для RISC-архитектуры, поэтому ОС Android прекрасно себя чувствует на устройствах с ARM. Есть версии и для обычных процессоров (помечаемых как x86), но применение Android на ноутбуках и настольных ПК лишено смысла в плане практичности.

    Процессор

    Множество ядер

    Процессор — это кристалл, на который напыляют микроскопические детальки. Потом всё это упаковывают в корпус микросхемы. Однако в оный корпус можно вставить не один такой кристалл, а два. Или четыре. А то и восемь. Они будут называться ядрами. Так появились термины «двухъядерный», «многоядерный» etc.

    Естественно, чем больше ядер, тем выше производительность процессора. Для домашних нужд обычно выпускаются двухъядерные и четырёхъядерные, а для серверов — восьмиядерные. В марте 2010-го компания AMD выпустила двенадцатиядерные «Opteron 6100», тоже для серверов.

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

    Тактовая частота

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

    Впрочем, реальное быстродействие зависит не столько от тактовой частоты процессора, сколько от качества операционной системы и софта. Кривые, глючные, унылые программные изделия, текущие памятью и обвешанные излишней функциональностью (Bloatware), способны затормозить любое оборудование.

    И наоборот, хороший софт, созданный с умом и отшлифованный как следует, будет «летать» даже на слабеньких машинах.

    Резюмируем

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

    Сие не так актуально для владельцев смартфонов-коммуникаторов и прочих мобильных устройств. В большинстве случаев достаточно зайти на сайт производителя софта со своего аппарата — и модель будет идентифицирована автоматически.

    Знать, что такое тактовая частота и каковыми являются актуальные параметры, нужно для того, чтобы в магазине вам не всучили нечто залежавшееся, слабое и способное сильно разочаровать.

    Программа, записанная в форме машинного кода, выглядит одинаково для всех типов процессоров?

    Программы, написанные на низкоуровневых языках, более производительные по отношению к программам на языках высокого уровня?


    6,355 5 5 золотых знаков 28 28 серебряных знаков 47 47 бронзовых знаков

    Не всегда программа выглядит одинаково для разных процессоров. Это зависит от архитектуры набора команд (ISA). На этом уровне определяются все инструкции, которые может выполнять CPU, набор регистров, прерывания, модель памяти, модель адресации и так далее.

    Таким образом, если два CPU имеют одинаковую ISA, то и программа в машинном коде выглядит для них одинаково. Например, и у Intel и у AMD есть процессоры, реализующие x86 ISA, таким образом, программа будет переносима между такими процессорами.

    Совсем не обязательно. Поймите, что в конце концов любая программа будет выполнена на CPU как набор инструкций. Поэтому производительность зависит от того, насколько оптимально программа в этот набор инструкций переведена.

    Для примера рассмотрим какой-нибудь язык ассемблера и какой-нибудь компилируемый язык высокого уровня, например, C++. Если вы на языке ассемблера сможете написать код более оптимальный, чем тот, что будет сгенерирован компилятором C++, то ваш код будет работать быстрее. Если же компилятор сгенерирует более оптимальный код (что более вероятно), то быстрее будет работать скомпилированная программа.

    Существуют так же интерпретируемые языки. Программы на таком языке не компилируются в машинный код, выполняемый непосредственно на CPU, а интерпретируются специальной программой интерпретатором. Опять же ваша программа предстанет перед CPU как набор инструкций, только сделает это через посредника — интерпретатора. Распространено мнение, что интерпретируемые языки медленнее, чем компилируемые, однако это не совсем так.

    Таким образом, нельзя сказать, что программы на языке низкого уровня быстрее, чем программы на языке высокого уровня. Производительность будет зависеть от того, насколько оптимально компилятор или интерпретатор «переводят» программу для того, чтобы CPU мог ее понять и исполнить.

    Читайте также: