Меню

Набор инструкций описывающих порядок действий

Технологии и инструкции,
используемые в процессорах

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

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

Так, полюбившийся многим браузер Google Chrome не работает без поддержки процессором SSE2. Инструкции AVX могут в разы ускорить обработку фото- и видеоконтента. А недавно один мой знакомый на достаточно быстром Phenom II (6 ядер) не смог запустить игру Mafia 3, поскольку его процессор не поддерживает инструкции SSE4.2.

Если аббревиатуры SSE, MMX, AVX, SIMD вам ни о чем не говорят и вы хотели бы разобраться в этом вопросе, изложенная здесь информация станет неплохим подспорьем.

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

Аббревиатура образована от MultiMedia eXtensions (мультимедийные расширения). Это набор инструкций процессора, предназначенных для ускорения обработки фото-, аудио- и видеоданных. Разработан компанией Intel, используется в процессорах с 1997 года и на момент внедрения обеспечивал до 70% прироста производительности. Сегодня вам вряд ли удастся встретить процессор без поддержки этой технологии. Подробнее.

3DNow!

Технология впервые была использована в 1998 году в процессорах AMD и стала развитием технологии MMX, значительно расширив возможности процессора в области обработи мультимедийных данных. Ее презентацию совместили с выходом игры Quake 2, в которой 3DNow! обеспечивала до 30% прироста быстродействия. Но широкого распространения 3DNow! не получила. Сейчас она заменена другими технологиями и в новых процессорах не используется. Подробнее.

Аббревиатура от от Streaming SIMD Extensions. SIMD расшифровывается как Single Instruction Multiple Data, что значит «одна инструкция — множество данных».

SSE впервые использована в 1999 году в процессорах Pentium ІІІ и стала своеобразным ответом компании Intel на разработанную компанией AMD технологию 3DNow!, устранив некоторые ее недостатки. SSE применяется процессором, когда нужно совершить одни и те же действия над разными данными и обеспечивает осуществление до 4 таких вычислений за 1 такт, чем обеспечивает существенный прирост быстродействия.

SSE используется огромным числом приложений. Процессоров без ее поддержки сегодня уже не встретишь. Подробнее.

Этот набор инструкций был разработан компанией Intel и впервые интегрирован в процессоры Pentium 4 (2000 — 2001 гг.).

Поддержка инструкций SSE2 является обязательным условием использования современного программного обеспечения. В частности, без этого набора команд не будут работать популярные браузеры Google Chrome и Яндекс-браузер. На компьютере без SSE2 также невозможно использовать Windows 8, Windows 10, Microsoft Office 2013 и др. Подробнее.

Набор из 13 инструкций, разработанный компанией Intel и впервые использованный ею в 2004 г. в процессорах с ядром Prescott. Позволяет процессору более эффективно использовать 128-битные регистры SSE.

Инструкции SSE3 заметно упростили ряд DSP- и 3D-операций. Практическая польза от них больше всего ощущается в приложениях, связанных с обработкой потоков графической информации, аудио- и видеосигналов. Подробнее.

SSSE 3

Сокращение от «Supplemental SSE3», что значит «Дополнительный SSE3». Это набор дополнительных инструкций процессора, внедренных компанией Intel в 2006 году в продолжение развития предыдущих наборов команд SSE. По сути, это был четвертый по счету набор инструкций SSE. Но в Intel решили иначе, возможно, посчитав его лишь незначительным дополнением к предыдущему пакету.

Инструкции SSSE3 необходимы для нормальной работы многих современных приложений, в частности программ распознавания речи, используемых алгоритм DNN (Deep Neural Network). Подробнее.

SSE 4.1

Набор инструкций, разработанный компанией Intel. Используется в процессорах с 2006 года.

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

SSE 4.2

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

На практике инструкции SSE 4.2 повышают производительность при сканировании вирусов, поиска текста, строковой обработки библиотек (ZLIB, базы данных и др.), обработки 3D информации. Подробнее.

SSE4A (SSE128)

Набор инструкций, используемый в процессорах AMD с 2007 года. Включает всего 4 команды (инструкции, ускоряющие подсчет числа нулевых/единичных битов, комбинированные инструкции маскирования и сдвига, а также скалярные инструкции потоковой записи).

Аналогичные инструкций есть также в наборе SSE 4 (4.1, 4.2.) от Intel, который является значительно более эффективным (в общей сложности 54 инструкции), см. выше. Подробнее.

Расширение системы команд процессора, разработанное в 2008 году компанией Intel с целью ускорения работы и повышения уровня защищенности программ, использующих алгоритм шифрования AES (Advanced Encryption Standard).

В США и некоторых других странах AES является официальным стандартом шифрования. Используется операционной системой Windows и многими популярными программами для защиты конфиденциальной информации (The Bat!, TrueCrypt и др.). Если процессор поддерживает инструкции AES, прирост производительности приложений, использующих этот алгоритм, может достигать 1200 %. Подробнее.

Аббревиатура образована от Advanced Vector Extensions. Это расширение системы команд процессора, разработанное компанией Intel в 2008 году. Оказывает большое влияние на мультимедийные и вычислительные возможности процессора.

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

Значительный прирост производительности наблюдается при работе с фото-, видеоконтентом, решении научных задач и др.). Но для этого требуется также использование соответствующей операционной системы и адаптированного программного обеспечения. В Windows поддержка AVX появилась, только начиная с Windows 7 SP1. Подробнее.

AVX 2

Набор инструкций, ставший развитием технологии AVX. Впервые использован в 2013 г. в процессорах Intel на ядре Haswell.

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

Набор инструкций процессора, ускоряющий операции умножения-сложения чисел с плавающей запятой. Аббревиатура FMA образована от англ. Fused Multiply-Add, что переводится как умножение-сложение с однократным округлением.

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

NX (XD), EVP

Технологии NX (XD) и EVP, не смотря на разные названия, являются одним и тем же — важным компонентом любого современного процессора, обеспечивающим повышенную защиту компьютера от вирусов и хакерских атак, основанных на механизме переполнения буфера.

Названия NX (No Xecute) и XD (eXecute Disable) характерны для процессоров Intel. EVP (Enhanced Virus Protection) — для процессоров AMD. Подробнее.

AMD64, Intel64

AMD64, Intel64, EM64T, x86-64, x64, Hammer Architecture — все эти термины обозначают одно и то же — 64-битную архитектуру центрального процессора, разработанную и внедренную в 2003 году компанией AMD. До этого процессоры были 32-битными.

Для обычного пользователя главным преимуществом 64-битного процессора является возможность использования в компьютере 64-битного программного обеспечения и большого объема оперативной памяти (теоретически, до 16777216 терабайт). Максимальное количество оперативной памяти, которое может адресовать 32-битный процессор — 4 ГБ. Подробнее.

XOP (от англ. eXtended operation — «расширенная операция») — это набор инструкций микропроцессора, повышающих его быстродействие при работе с мультимедиа, а также при решении научных задач.

Инструкции XOP впервые использованы в 2011 году в процессорах AMD архитектуры Bulldozer. В этот набор входит несколько различных типов векторных инструкций, большинство из которых являются целочисленными. Однако, есть среди них также инструкции для перестановки чисел с плавающей запятой и инструкции экстракции дробной части. Подробнее.

HT, SMT

В процессорах Intel технология многопоточности называется Hyper-Threading (HT), в процессорах AMD — Simultaneous MultiThreading (SMT).

Кроме названий, эти технологии отличаются еще и многими аспектами реализации. Однако, суть их одинакова. HT и SMT повышают эффективность использования вычислительных возможностей процессора (в среднем, на 20 — 30 %) за счет параллельного выполнения каждым его ядром двух потоков вычислений. Подробнее.

Аппаратная виртуализация (VT-x, VT-d, AMD-V)

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

Читайте также:  Приказ о вводе новой должностной инструкции

Кроме того, появляется возможность «проброса» в гостевую систему устройств ввода-вывода, подключаемых к компьютеру через шину PCI и некоторые другие шины (видеокарты, звуковые карты, сетевые адаптеры и др.). Подробнее.

Turbo Boost, Turbo Core

Turbo Boost и Turbo Core — похожие по своей сути технологии, автоматически повышающие тактовую частоту процессора выше номинальной, когда в этом есть необходимость. Turbo Boost используется в процессорах Intel, Turbo Core — в процессорах AMD. В целом, они обеспечивают значительный прирост быстродействия в большинстве приложений.

Несмотря на одинаковое предназначение, Turbo Boost и Turbo Core существенно отличаются. Подробнее.

TXT (англ. Trusted eXecution Technology — технология доверенного выполнения) — разработанная компанией Intel и используемая в ее процессорах технология, обеспечивающая аппаратную защиту компьютера от вредоносных программ.

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

TSX (Transactional Synchronization eXtensions) — набор инструкций многоядерного процессора, разработанный компанией Intel, который повышает эффективность взаимодействия ядер между собой при осуществлении общего доступа к одним и тем же данным и, в конечном счете, увеличивает общую производительность компьютера. Подробнее.

SpeedStep, PowerNow!, Cool’n’Quiet

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

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

Memory Protection Extensions — технология, обеспечивающая повышенную защиту компьютера от вирусных и других угроз, использующих механизм переполнения буфера.

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

Software Guard Extensions (SGX) — набор инструкций, разработанный компанией Intel и используемый в ее процессорах, начиная с архитектуры Skylake.

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

Intel SHA

Intel Secure Hash Algorithm extensions (SHA) — набор инструкций процессора, разработанных компанией Intel для ускорения работы приложений, используемых алгоритмы шифрования SHA. Включает 7 инструкций, 4 из которых ускоряют работу SHA-1, остальные 3 — SHA-256. Ускорение может составлять 150-200 % и более (в зависимости конкретного приложения).

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

Advanced Configuration and Power Interface (ACPI) — стандарт, разработанный компаниями HP, Intel, Microsoft, Phoenix и Toshiba. Используется в компьютерной технике с 1996 года, постепенно дополняясь и совершенствуясь. Определяет общий подход к управлению питанием и обеспечивает взаимодействие между устройствами компьютера, его операционной системой и BIOS/UEFI в целях снижения уровня энергопотребления.

Стандарт ACPI предусматривает несколько режимов работы процессора. В зависимости от модели, они могут поддерживаться процессором в полном объеме или только какая-то их часть. Подробнее.

System Management Mode (SMM) — режим, при котором процессор приостанавливает исполнение любого кода (в том числе и операционной системы) и запускает специальную программу, хранящуюся в зарезервированной области оперативной памяти.

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

Dynamic Front Side Bus Frequency Switching (DFFS) — одна из технологий снижения энергопотребления компьютерных систем. Она позволяет операционной системе компьютера, в зависимости от нагрузки, которую он испытывает, понижать частоту системной шины FSB, что влечет за собой также и снижение частоты процессора. Подробнее.

SenseMI

SenseMI — технология, разработанная компанией AMD и впервые использованная в процессорах серии Ryzen. Она представляет собой комплекс из нескольких взаимосвязанных компонентов, обеспечивающих оптимальную производительность и энергоэффективность путем прогнозирования программного кода, а также динамического изменения частоты процессора в соответствии с решаемыми задачами в каждый конкретный момент времени (Smart Prefetch, Neural Net Prediction, Pure Power, Precision Boost, Extended Frequency Range).

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

AMD CoolCore

AMD CoolCore — технология, осуществляющая временное отключение неиспользуемых блоков процессора в целях снижения энергопотребления и выделяемого им тепла. Впервые использована в процессорах Phenom. Подробнее.

AMD CoolSpeed

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

AMD Enduro

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

Ценной Enduro является для мобильных компьютеров, поскольку позволяет существенно экономить заряд аккумулятора. Подробнее.

BMI, TBM, ABM

Bit Manipulation Instructions (BMI) — наборы инструкций, используемые в процессорах Intel и AMD для ускорения операций, связанных с манипулированием битами.

Операции манипулирования битами чаще всего используется приложениями, предназначенными для низкоуровневого управления устройствами, обнаружения и исправления ошибок, оптимизации, сжатия и шифрования данных. Использование BMI программами значительно ускоряет эти операции (иногда в несколько раз), однако, код программ становится более сложным для написания программистами. Подробнее.

DPM, DDPM

Dynamic Power Management и Dual Dynamic Power Management- технологии автоматического динамического изменения питания процессора. В совокупности с другими энергосберегающими технологиями, они значительно повышают его энергоэффективность, снижая уровень питания в периоды простоя или незначительных загрузок и повышая его, когда это необходимо. Подробнее.

SMEP, SMAP

Supervisor Mode Execution Prevention и Supervisor Mode Access Prevention — технологии, разработанные компанией Intel для защиты компьютера от хакерских атак и других угроз, использующих так называемый «режим супервизора». Подробнее.

F16C — набор инструкций, используемый в процессорах архитектуры x86 для ускорения преобразований между двоичными числами половинной точности (16 bit) и стандартными двоичными числами с плавающей запятой одинарной точности (32 bit).

F16C используется как в процессорах AMD, так и в процессорах Intel, значительно расширяя их возможности в плане работы с мультимедийными данными, а также данными других типов. Подробнее.


НАПИСАТЬ АВТОРУ

Источник

Набор инструкций

Набор инструкций ( английский набор инструкций ) процессора — это в архитектуре компьютера количество машинных инструкций, которые может выполнять конкретный процессор. В зависимости от процессора объем набора инструкций варьируется, например, от 33 до более 500 инструкций. Процессоры CISC , как правило, имеют больший набор инструкций, чем процессоры RISC , то же самое относится к новым процессорам по сравнению со старыми процессорами.

В более широком смысле термин «набор инструкций» означает набор инструкций (также синоним «набор инструкций»)

Оглавление

  • 1 недвижимость
  • 2 формата команд
  • 3 типа команд
  • 4 архитектуры набора команд
  • 5 веб-ссылок
  • 6 индивидуальных доказательств

характеристики

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

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

Форматы команд

Отдельные команды набора команд обычно содержат код операции и один или несколько операндов; структура и формат этой информации единообразно определены для каждого типа команды.

Какая команда имеется в виду, в каждом случае указывается в коде операции. Ширина слов (т. Е. Комбинаций кода операции / операнда), используемых в наборе команд, значительно варьируется в зависимости от типа процессора. В частности, он может быть больше, чем у обычных слов памяти, т.е. ЧАС. чем ширина шины данных процессора. В этом случае команды должны загружаться из памяти в процессор за несколько обращений к памяти.

Читайте также:  Оборудование проверенное временем

Эта «форма с двумя операндами» является типичной, но не единственной, которая встречается. Существуют также процессоры, которые позволяют выполнять команды максимум с одним операндом, а также те, которые позволяют использовать до трех операндов. В случае одного операнда все инструкции, которые влияют на две переменные, должны использовать внутренний регистр процессора (например, аккумулятор ) в качестве второго операнда (неявно) . Команды с тремя операндами различают источник, связанное значение и цель результата, так что источник не нужно перезаписывать.

Типы команд

Набор команд микропроцессора примерно состоит из нескольких типов команд.

С помощью команд передачи данные перемещаются внутри системы. Ячейки памяти или регистры процессора могут использоваться в качестве источника и назначения . Данные обычно не изменяются, а только копируются; ЧАС. остаются неизменными в их исходном местоположении. В зависимости от команды и типа процессора, отдельные или несколько байтов могут транспортироваться одновременно. В случае более сложных типов адресации дополнительные регистры и, возможно, вычисления могут быть задействованы как для источника, так и для получателя, например Б. обрабатывать данные, хранящиеся в табличной форме, с помощью индексированной адресации или копировать целые области памяти. Имена команд обычно начинаются с английских слов move (переместить), load (загрузить), store (сохранить) или transfer .

Команды управления данными используются для изменения содержимого ячеек памяти (примеры: сдвиг, преобразование)

Арифметические и логические команды выполняют аналогичные операции с существующими значениями. Так что здесь з. Б. рассчитывается, подсчитывали или И ссылка выполняется. Основным операндом очень часто является регистр процессора (в большинстве случаев аккумулятор ), но не обязательно. В остальном то же самое относится к операндам, как и к командам передачи выше. Имена команд в основном представляют собой английские сокращения для соответствующих операций, например B. ADD или AND .

Команды ввода / вывода используются для чтения и записи данных через периферийные устройства , средства связи с «внешним миром компьютера».

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

Команды стека хранят данные в стеке (имя команды обычно английское push , для « push (в стеке)») или извлекают данные оттуда (имя команды pop или pull , для «pull»). Указатель стека регистр автоматически обновляется. Здесь также перемещается один или несколько байтов одновременно, в зависимости от команды и типа процессора. Многие процессоры не имеют команд стека .

Комбинированные команды состоят из элементарных действий вышеуказанных типов команд. Например, когда вызывается подпрограмма, обычно выполняется переход, и адрес предыдущей программы сохраняется в стеке как место назначения возврата. Некоторые процессоры поддерживают циклы подсчета, например B. с помощью команд, которые подсчитывают состояние счетчика в большую или меньшую сторону, и при достижении предела счета (например, недостаточное заполнение при обратном счете до нуля) выполняют условный (обратный) переход. Инструкции, подобные последнему, в частности, типичны для процессоров CISC .

Архитектуры набора инструкций

Если кто-то хочет суммировать семейство процессоров с аналогичным набором инструкций, он также говорит об архитектуре набора инструкций (англ. Instruction Set Architecture , сокращенно: ISA). Типичными архитектурами набора команд являются, например:

  • IA-32 (32-битный ISA исходной 16-битной архитектуры x86 ; 64-битное расширение x64 также может быть назначено IA-32)
  • IA-64 ( архитектура Itanium ; не путать с x64)
  • БЕДНЫЕ
  • Power и PowerPC (или спецификация PAPR )
  • SPARC
  • RISC-V

веб ссылки

Викисловарь: набор инструкций — объяснение значений, происхождение слов, синонимы, переводы

Источник

Инструкция процессора, что это такое, для чего он нужен и его типы

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

Процессоры миллионов компьютеров по всему миру знают только одно — непрерывно выполнять инструкции. А что такое инструкция? Читай дальше что бы узнать.

Что такое инструкция?

Инструкция — это минимальная единица программы, которая сообщает CPU / ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР что делать с помощью серии инструкций, которые выполняются последовательно. Каждая инструкция представляет собой количество битов в двоичном коде, который разделен на три разные части:

  • Биты инструкций: эти биты указывают, какую инструкцию будет выполнять ЦП, и поэтому путь, по которому инструкция будет следовать для выполнения, также называется кодом операции.
  • Биты адресации: указывают, по какому адресу памяти хранятся данные.
  • Биты режима: биты режима указывают, как выполняется инструкция, они используются, когда есть несколько способов выполнить инструкцию или есть разные условия.

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

Инструкции по адресации

ОЗУ ЦП

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

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

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

Типы инструкций в ЦП

Вот краткое изложение наиболее распространенных инструкций, используемых различными процессорами. Эти инструкции являются общими для всех регистров и наборов инструкций, независимо от того, являются ли они x86, ARM, MIPS, PowerPC и так далее. Также не имеет значения, является ли набор инструкций RISC или CISC.

  • Арифметические манипуляции инструкции — это те, которые выполняют операции математической обработки, такие как сложение, вычитание, умножение и деление. А также более сложные операции, такие как тригонометрические формулы, квадратные корни, степени.
  • Самый большой логические инструкции — это второй тип инструкций, выполняемых ALU, на самом деле они представляют собой двоичные операции, имитирующие работу логических вентилей. То есть AND, OR, XOR, NAND, NOR, XNOR и NOT.
  • Инструкции по манипулированию битами основаны на манипулировании битами идемной строки с помощью таких инструкций, как сдвиг бита влево или вправо, изменение порядка или их переключение.
  • Инструкции по перемещению данных отвечает за перемещение данных из одной части памяти в другую, из одной памяти в другую, из процессора в память и из памяти в процессор.
  • Инструкции по управлению программой те, которые активируются при выполнении определенных условий, таких как
  • Самый большой инструкции по переходу — это те, которые указывают, что программа переходит не к следующему адресу памяти, а к конкретному адресу памяти, который отмечен инструкцией перехода.

Типы данных и множественность инструкций

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

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

Источник



Как работает процессор?

Как работает процессор?

Инструмент проще, чем машина. Зачастую инструментом работают руками, а машину приводит в действие паровая сила или животное.

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

Процессор — это сердце/мозг любого компьютера. Его основное назначение — арифметические и логические операции, и прежде чем погрузиться в дебри процессора, нужно разобраться в его основных компонентах и принципах их работы.

Читайте также:  Степлер ручной усил KW trio 5000 Heavy Duty Long Reach 240листов

Два основных компонента процессора

Устройство управления

Устройство управления (УУ) помогает процессору контролировать и выполнять инструкции. УУ сообщает компонентам, что именно нужно делать. В соответствии с инструкциями он координирует работу с другими частями компьютера, включая второй основной компонент — арифметико-логическое устройство (АЛУ). Все инструкции вначале поступают именно на устройство управления.

Существует два типа реализации УУ:

  • УУ на жёсткой логике (англ. hardwired control units). Характер работы определяется внутренним электрическим строением — устройством печатной платы или кристалла. Соответственно, модификация такого УУ без физического вмешательства невозможна.
  • УУ с микропрограммным управлением (англ. microprogrammable control units). Может быть запрограммирован для тех или иных целей. Программная часть сохраняется в памяти УУ.

УУ на жёсткой логике быстрее, но УУ с микропрограммным управлением обладает более гибкой функциональностью.

Арифметико-логическое устройство

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

21 июня в 20:00, Онлайн, Беcплатно

Большинство логических элементов имеют два входа и один выход.

Ниже приведена схема полусумматора, у которой два входа и два выхода. A и B здесь являются входами, S — выходом, C — переносом (в старший разряд).

Схема арифметического полусумматора в статье «Как работает процессор?»

Схема арифметического полусумматора

Хранение информации — регистры и память

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

Регистры

Регистр — минимальная ячейка памяти данных. Регистры состоят из триггеров (англ. latches/flip-flops). Триггеры, в свою очередь, состоят из логических элементов и могут хранить в себе 1 бит информации.

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

По функциональному назначению триггеры делятся на несколько групп:

  • RS-триггер: сохраняет своё состояние при нулевых уровнях на обоих входах и изменяет его при установке единице на одном из входов (Reset/Set — Сброс/Установка).
  • JK-триггер: идентичен RS-триггеру за исключением того, что при подаче единиц сразу на два входа триггер меняет своё состояние на противоположное (счётный режим).
  • T-триггер: меняет своё состояние на противоположное при каждом такте на его единственном входе.
  • D-триггер: запоминает состояние на входе в момент синхронизации. Асинхронные D-триггеры смысла не имеют.

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

Принцип действия RS-триггера

Память (ОЗУ)

ОЗУ (оперативное запоминающее устройство, англ. RAM) — это большая группа этих самых регистров, соединённых вместе. Память у такого хранилища непостоянная и данные оттуда пропадают при отключении питания. ОЗУ принимает адрес ячейки памяти, в которую нужно поместить данные, сами данные и флаг записи/чтения, который приводит в действие триггеры.

Прим. перев. Оперативная память бывает статической и динамической — SRAM и DRAM соответственно. В статической памяти ячейками являются триггеры, а в динамической — конденсаторы. SRAM быстрее, а DRAM дешевле.

Команды (инструкции)

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

  • Арифметические: сложение, вычитание, умножение и т. д.
  • Логические: И (логическое умножение/конъюнкция), ИЛИ (логическое суммирование/дизъюнкция), отрицание и т. д.
  • Информационные: move , input , outptut , load и store .
  • Команды перехода: goto , if . goto , call и return .
  • Команда останова: halt .

Прим. перев. На самом деле все арифметические операции в АЛУ могут быть созданы на основе всего двух: сложение и сдвиг. Однако чем больше базовых операций поддерживает АЛУ, тем оно быстрее.

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

В процессоре инструкции реализуются на аппаратном уровне. За один такт одноядерный процессор может выполнить одну элементарную (базовую) инструкцию.

Группу инструкций принято называть набором команд (англ. instruction set).

Тактирование процессора

Быстродействие компьютера определяется тактовой частотой его процессора. Тактовая частота — количество тактов (соответственно и исполняемых команд) за секунду.

Частота нынешних процессоров измеряется в ГГц (Гигагерцы). 1 ГГц = 10⁹ Гц — миллиард операций в секунду.

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

Выполнение инструкций

Инструкции хранятся в ОЗУ в последовательном порядке. Для гипотетического процессора инструкция состоит из кода операции и адреса памяти/регистра. Внутри управляющего устройства есть два регистра инструкций, в которые загружается код команды и адрес текущей исполняемой команды. Ещё в процессоре есть дополнительные регистры, которые хранят в себе последние 4 бита выполненных инструкций.

Ниже рассмотрен пример набора команд, который суммирует два числа:

  1. LOAD_A 8 . Это команда сохраняет в ОЗУ данные, скажем, . Первые 4 бита — код операции. Именно он определяет инструкцию. Эти данные помещаются в регистры инструкций УУ. Команда декодируется в инструкцию load_A — поместить данные 1000 (последние 4 бита команды) в регистр A .
  2. LOAD_B 2 . Ситуация, аналогичная прошлой. Здесь помещается число 2 ( 0010 ) в регистр B .
  3. ADD B A . Команда суммирует два числа (точнее прибавляет значение регистра B в регистр A ). УУ сообщает АЛУ, что нужно выполнить операцию суммирования и поместить результат обратно в регистр A .
  4. STORE_A 23 . Сохраняем значение регистра A в ячейку памяти с адресом 23 .

Вот такие операции нужны, чтобы сложить два числа.

Все данные между процессором, регистрами, памятью и I/O-устройствами (устройствами ввода-вывода) передаются по шинам. Чтобы загрузить в память только что обработанные данные, процессор помещает адрес в шину адреса и данные в шину данных. Потом нужно дать разрешение на запись на шине управления.

Иллюстрация работы шины в статье «Как работает процессор?»

У процессора есть механизм сохранения инструкций в кэш. Как мы выяснили ранее, за секунду процессор может выполнить миллиарды инструкций. Поэтому если бы каждая инструкция хранилась в ОЗУ, то её изъятие оттуда занимало бы больше времени, чем её обработка. Поэтому для ускорения работы процессор хранит часть инструкций и данных в кэше.

Если данные в кэше и памяти не совпадают, то они помечаются грязными битами (англ. dirty bit).

Поток инструкций

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

Иллюстрация потока инструкций в статье «Как работает процессор?»

Однако такое решение подходит только для тех инструкций, которые не зависят друг от друга.

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

Источник

Набор инструкций, описывающих порядок действий

Последняя бука буква «м»

Ответ на вопрос «Набор инструкций, описывающих порядок действий «, 8 (восемь) букв:
алгоритм

Альтернативные вопросы в кроссвордах для слова алгоритм

Определение слова алгоритм в словарях

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

Энциклопедический словарь, 1998 г. Значение слова в словаре Энциклопедический словарь, 1998 г.
АЛГОРИТМ (алгорифм) (от algorithmi, algorismus, первоначально — лат. транслитерация имени математика аль-Хорезми) способ (программа) решения вычислительных и др. задач, точно предписывающий, как и в какой последовательности получить результат, однозначно.

Примеры употребления слова алгоритм в литературе.

Стержнем работы с этой молодежью была современная алгебра, математическая логика и -теория алгоритмов.

Ведь уже алгоритмы построения атома водорода или молекулы аминокислоты являются довольно непростыми.

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

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

Я проверял несколько раз, — рассердился Гарнаев, — каждый шаг алгоритма.

Источник: библиотека Максима Мошкова

Источник