Язы́к ассе́мблера — представление команд процессора в виде, доступном для чтения человеком. Язык ассемблера считается языком программирования низкого уровня в противовес высокоуровневым языкам, не привязанным к конкретной реализации вычислительной системы. Программы, написанные на языке ассемблера, однозначным образом переводятся в инструкции конкретного процессора и в большинстве случаев не могут быть перенесены без значительных изменений для запуска на машине с другой системой команд. Ассемблером также называется программа-компилятор, преобразующая код на языке ассемблера в машинный код. Программа, выполняющая обратную задачу, называется дизассемблером.
Intel 80386 — 32-битный микропроцессор с архитектурой x86 третьего поколения фирмы Intel, выпущенный 17 октября 1985 года. Данный процессор был первым 32-разрядным процессором для PC. Применялся, преимущественно, в настольных и портативных ПК. В настоящее время в основном используется в контроллерах.
Маши́нный код, маши́нный язы́к — система команд конкретной вычислительной машины, которая интерпретируется непосредственно процессором или микропрограммами этой вычислительной машины.
Присва́ивание — механизм в программировании, позволяющий динамически изменять связи объектов данных с их значениями. Строго говоря, изменение значений является побочным эффектом операции присвоения, и во многих современных языках программирования сама операция также возвращает некоторый результат. На физическом уровне результат операции присвоения состоит в проведении записи и перезаписи ячеек памяти или регистров процессора.
Мью́текс — примитив синхронизации, обеспечивающий взаимное исключение исполнения критических участков кода. Классический мьютекс отличается от двоичного семафора наличием эксклюзивного владельца, который и должен его освобождать. От спинлока мьютекс отличается передачей управления планировщику для переключения потоков при невозможности захвата мьютекса. Встречаются также блокировки чтения-записи, именуемые разделяемыми мьютексами и предоставляющие помимо эксклюзивной блокировки общую, позволяющую совместно владеть мьютексом, если нет эксклюзивного владельца.
CPUID — ассемблерная мнемоника инструкции процессоров x86, используется для получения информации о процессоре. Используя её, программа может определить тип процессора и его возможности.
В системе команд x86 совместимых процессоров инструкция CLI — сокращение от «Clear Interrupt-Enable Flag». Она сбрасывает interrupt flag (IF) в регистре EFLAGS. Когда этот флаг сброшен процессор игнорирует все прерывания от внешних устройств.
В информатике NOP или NOOP инструкция процессора на языке ассемблера, или команда протокола, которая предписывает ничего не делать.
Атомарная операция — операция, которая либо выполняется целиком, либо не выполняется вовсе; операция, которая не может быть частично выполнена и частично не выполнена.
.COM — расширение файла, использовалось в некоторых операционных системах в различных целях.
Регистр флагов или слово состояния процессора (ССП) — специализированный регистр, отражающий текущее состояние процессора.
Соглашение о вызове — часть двоичного интерфейса приложений, которая регламентирует технические особенности вызова подпрограммы, передачи параметров, возврата из подпрограммы и передачи результата вычислений в точку вызова.
Сравнение с обменом — атомарная инструкция, сравнивающая значение в памяти с одним из аргументов, и в случае успеха записывающая второй аргумент в память. Поддерживается в семействах процессоров x86, Itanium, Sparc и других.
MSP430 — семейство 16-разрядных микроконтроллеров фирмы «Texas Instruments».
Сегментная защита памяти — один из вариантов реализации защиты памяти в процессорах архитектуры x86. Может применяться в защищенном режиме процессоров начиная с Intel 80286 и совместимых.
Конве́йер — способ организации вычислений, используемый в современных процессорах и контроллерах с целью повышения их производительности.
Ввод-вывод в информатике — взаимодействие между обработчиком информации и внешним миром, который может представлять как человек (субъект), так и любая другая система обработки информации. Ввод — сигнал или данные, полученные системой, а вывод — сигнал или данные, посланные ею. Термин также может использоваться как обозначение определенного действия: «выполнять ввод-вывод» означает выполнение операций ввода или вывода. Устройства ввода-вывода используются человеком для взаимодействия с компьютером. Например, клавиатуры и мыши — специально разработанные компьютерные устройства ввода, а мониторы и принтеры — компьютерные устройства вывода. Устройства для взаимодействия между компьютерами, как модемы и сетевые карты, обычно служат устройствами ввода и вывода одновременно.
Спин-блокировка или спинлок — низкоуровневый примитив синхронизации, применяемый в многопроцессорных системах для реализации взаимного исключения исполнения критических участков кода с использованием цикла активного ожидания. Применяется в случаях, когда ожидание захвата блокировки предполагается недолгим либо если контекст выполнения не позволяет переходить в заблокированное состояние.
Spectre — группа аппаратных уязвимостей, ошибка в большинстве современных процессоров, имеющих спекулятивное выполнение команд и развитое предсказание ветвлений, позволяющих проводить чтение данных через сторонний канал в виде общей иерархии кэш-памяти. Затрагивает большинство современных микропроцессоров, в частности, архитектур х86/x86_64 и некоторые процессорные ядра ARM.
В компьютерном программировании автоматическая переменная — локальная переменная, которая выделяется и освобождается автоматически, когда поток выполнения программы входит и выходит из области действия переменной. Область действия — это лексический контекст, в частности, функция или блок, в котором определена переменная. Локальные данные обычно невидимы вне функции или лексического контекста, в котором они определены. Локальные данные также невидимы и недоступны для вызываемой функции, но не освобождаются, возвращаясь в область видимости, когда поток выполнения возвращается к вызывающей стороне.