ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП |
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы. |
Часть 13 566 EГлоссарийF Abort (аварийное завершение программы, сброс) - иск- лючение (особая ситуация), при котором дальнейшее нормальное выполнение невозможно, например, исклю- чение стека при попытке вызова обработчика другого исключения. Address (адрес) - смотрите Logical Address, Linear Address и Physical Address. Address Space (адресное пространство) - множество ячеек памяти, к которым можно получить доступ по адресу. Address-Size Prefix (префикс размера адреса) - пре- фикс команды, который определяет размер используе- мых смещений адресов. Смещение может иметь размер 16 или 32 бита. Размер адреса по умолчанию (т.е. при отсутствии префикса) определяется битом D для каждого кодового сегмента. Использование префикса позволяет задать размер операндов, отличный от при- нятого по умолчанию. Address Translation (трансляция адреса) - процесс отображения адресов одного адресного пространства на другое. Трансляция адреса используется, напри- мер, при сегментации и разбиении на страницы. Base Address (базовый адрес, база) - адрес начала некоторой структуры данных, такой как сегмент, страница или таблица страниц. Base Register (базовый регистр, регистр базы) - ре- гистр, используемый для вычисления адреса операнда, смещенного относительно адреса, хранимого в регист- ре. 567 Base 1.( основание) - термин, используемый в лога- рифмических и степенные функциях. В обоих контекс- тах это число, возводимое в степень. Уравнения (y=log base b of x) и (by=x) означают одно и тоже. 2.(основание системы счисления) - число, определяю- щее представление чисел в виде строк цифр. Основа- ние 2 - двоичная система счисления; основание 10 - десятичная; основание 16 - шестнадцатиричная. 3.(базовый адрес) - смотрите Base Address. BCD (двоично-десятичный код) - формат представления чисел в десятичной системе счисления, при котором каждая цифра занимает 1 байт, и биты 0-3 использу- ются для двоичного представления цифры. Для вычис- лений в BCD используются вспомогательный флаг пере- носа. Модуль обработки операциий с плавающей точкой поддерживает упакованную форму BCD, для которой 18 цифр и бит знака содержаться в 80-битном операнде. Bias (смещение порядка) - константа, прибавляемая к порядку веществнного числа, чтобы получить более удобное для модоля обработки операций с плавающей точкой представление числа. Для вычисления истинно- го порядка из порядка в машинном представлении не- обходимо вычесть смещение порядка. Например, обыч- ный вещественный формат имеет смещение 127. Если 8 -ми битовый порядок есть 10000011 (двоичное) или 131 (десятичное), то истинный порядок равен 131-127=+4, а в случае переполнения -127. Biased Exponent (смещенный порядок, характеристика) - порядок в представлении вещественных чисел с пла- вающей точкой. Интерпретируется как положительное число без знака. В примере, рассмотренном выше, 131 - характеристика. Binary Coded Decimal (двоично-десятичная запись) - способ представления десятичных чисел в двоичном виде. Каждая десятичная цифра занимает полных 4 байта (одна шестнадцатиричная цифра). Значения 568 шестнадцатиричных от A до F (1010 до 1111) не ис- пользуются. Процессор i486 поддерживает упакованный десятичный формат, состоящий из 9 байтов двоичных кодов (18 десятичных цифр) и одного байта знака. Binary Point (двоичная точка) - точка, подобная де- сятичной, но используемая в двоичном представлении вещественного числа с плавающей точкой. Каждая дво- ичная цифра справа от точки умножается на отрица- тельную степень двойки. Bit Field (битовое поле) - последовательность битов длиною до 32, которая может начинаться с любого би- та в байте. Для эффективной работы с битовыми поля- ми в процессоре i486 предусмотрены специальные опе- рации. Bit String (битовая строка) - последовательность би- тов длиною до 2**32-1, которая может начинаться с любого бита в байте. Для эффективной работы с бито- выми строками в процессоре i486 предусмотрены спе- циальные операции. Break Point (контрольная точка, точка останова или прерывания) - используются для отладки программ; с помощью этих точек программист может определить формы доступа к памяти, которые будут генерировать специальное исключение. Это исключение вызывает программный отладчик. Процессор i486 поддерживает аппаратные и программные контрольные точки. При вы- полнении команды INT N происходит прерывание. Аппа- ратные контрольные точки устанавливаются програм- мистом с помощью регистров отладки. Содержимое этих регистров определяет адрес, размер и тип ссылок не более, чем для четырех контрольных точек. В отличии от программных контрольных точек, аппаратные точки прерывания могут быть определены и для данных. Byte (байт) - 8-ми битовая ячейка памяти; наименьшая адресуемая единица памяти. 569 С3-С0 - 4 бита кода условия в слове состояния модуля обработки операций с плавающей точкой. При сравне- нии, тестировании, анализе и других функциях модуля обработки операций с плавающей точкой в эти биты заносится соответствующее значение. Cache (сверхоперативная память, кэш) - быстрая па- мять малого объема, в которой хранятся значения ак- тивных элементов основной "медленной" памяти. Cache Flush (очистка кэша) - операция, при которой все строки кэша помечаются как недостоверные. Cache Line (строка кэша) - наименьшая единица инфор- мации, которая может быть размещена в кэше. Внут- ренний кэш процессора i486 имеет размер строки рав- ный 128 битам. Cache Line Fill (заполнение строки кэша) - операция загрузки полной строки кэша с использованием много- численных обращений к основной памяти для считыва- ния. Cache Miss (кэш-промах) - обращение к кэш-памяти, требующее считывания основной памяти. Call Gate (шлюз вызова) - дескриптор шлюза для вызо- ва процедур при помощи команды CALL или JUMP. Сharacteristic (характеристика) - термин, означающий порядок вещественного числа с плавающей точкой. Употребляется для компьютеров, не использующих про- цессоры фирмы Intel(R). Chop (усечение, округление с отсечением) - в модуле обработки операций с плавающей точкой присвоение нуля одному или нескольким младшим разрядам для по- лучения ближайшего представимого числа по направле- нию к нулю. 570 Code Segment (сегмент кодов, кодовый сегмент) - ад- ресное пространство, содержащее команды; исполняе- мый сегмент. Цикл предвыборки команд должен адресо- вываться к сегменту кодов. Тип информации, хранимой в сегменте, определяется в дескрипторе сегмента. Condition Code (код условия) - 4 бита кода условия в слове состояния модуля обработки операций с плаваю- щей точкой, в которые заносятся значения при срав- нении, тестировании, анализе и других функциях мо- дуля обработки операций с плавающей точкой. Conforming Segment (конформный сегмент) - сегмент кодов, который выполняется с RLP (запрашиваемый уровень привилегированности) сеселектора сегмента или CLP (текущий уровень привилегированности) вызы- ваемой программы. Context Switch (переключение контекста) - смотрите Task Switch. Control Word (управляющее слово) - 16-битовый ре- гистр модуля обработки операций с плавающей точкой, с помощью которого пользователь может определить режим вычислений и замаскировать прерывания при исключениях. Coprocessor (сопроцессор) - расширение основной ар- хитектуры и множества команд процессора. Арифмети- ческий сопроцессор 387(ТМ) используется для допол- нения возможностей процессора i486 новыми арифмети- ческими командами работы с вещественными числами и новыми регистрами. В дальнейшем, возможности, пре- доставляемые в современных системах сопроцессорами будут реализованы в микросхеме центрального процес- сора. CPL - смотрите Current Privilege Level. 571 CPU (центральное процессорное устройство) - смотрите Processor. Current Privilege Level (CPL) (текущий уровень при- вилегированности) - уровень привилегированности вы- полняющейся программы. Обычно уровень привилегиро- ванности загружается из дескриптора сегмента кодов. Его значение заносится в два младших бита регистра CS. Когда управление передается конформному сегмен- ту, уровень привилегированности не изменяется. В этом случае CPL может быть отличен от уровня приви- легированности, определенного в дескрипторе (DPL). Data Segment (сегмент данных) - адресное пространс- тво, в котором находятся данные. Четыре сегмента данных могут использоваться одновременно без изме- нения содержимого сегментных регистров. Тип инфор- мации, хранимой в сегменте, определяется в дескрип- торе сегмента. Data Structure (структура данных) - область памяти, предназначенная для определенного использования ап- паратными или программными средствами. Например, таблица страниц или сегмент состояния задачи (TSS). Debug Registers (регистры отладки) - множество ре- гистров, используемых для определения не более чем четырех контрольных точек прерывания. В отличии от команд задания контрольных точек, которые могут ис- пользоваться только для установки контрольных точек в тексте программы, в регистрах отладки можно опре- делить контрольные точки как для текста программы, так и для данных. Denormal (денормализованное) - специальная форма числа с плавающей точкой. Для модуля обработки опе- раций с плавающей точкой это число, у которого сме- щения порядка равно 0. При использовании мантиссы с начальными нулями, диапазон возможных отрицательных порядков может быть расширен за счет битов мантис- 572 сы. Каждый начальный нуль - бит потери точности, поэтому расширенный дипазон порядка получается уменьшением значимости. Descriptor Privilege Level (DPL) (уровень привилеги- рованности в дескрипторе) - уровень привилегирован- ность описываемого дискриптором сегмента. DPL - это поле в дескрипторе сегмента. Descriptor Table (таблица дескрипторов) - массив дескрипторов сегментов. Существует две разновиднос- ти таблиц: Global Descriptor Table (глобальная таб- лица дескрипторов) и Local Descriptor Tables (ло- кальные таблицы дескрипторов). Device Driver (драйвер устройства) - процедура или задача, используемая для управления перефирийным устройством. Например, драйвер диска. Diplacement (смещение) - константа для вычисления исполнительных адресов. Смещение изменяет значение адреса независимо от масштабированного индексирова- ния. Оно часто используется для доступа к операн- дам, имеющим фиксированное смещение относительно какого-либо адреса, например, к полю записи в мас- сиве. Double Extended (двойной расширенный) - термин стан- дарта IEEE 754 для расширенного формата данных мо- дуля обработки операций с плавающей точкой. Харак- теризуется большей разрядностью под порядок и ман- тиссу, чем обычный формат двойной точности, и нали- чием в мантиссе явного бита целой части. Double Format (двойной формат) - формат для чисел с плавающей точкой, поддерживаемый модулем обработки операций с плавающей точкой. Состоит из 11-разряд- ного смещения порядка, неявного бита целой части и 52-разрядной мантиссы, всего 64 явных бита. 573 Double Word (двойное слово) - область памяти, разме- ром 32 бита. Процессор i486 поддерживает размещение двойного слова с любого байта, однако при пересече- нии двойным словом границы между двумя двойными словами в физической памяти, производительность процессора при обращении к такому двойному слову понижается. DPL - смотрите Descriptor Privilege Level. Effective Address (исполнительный адрес) - адрес, получаемый при вычислениях в режиме адресации. В вычислениях могут использоваться базовый регистр, масштабируемый индекс и смещение. Environment(среда вычислений) - 14 или 28 (в зависи- мости от режима адресации) байтов регистров модуля обработки операций с плавающей точкой, содержимое которых изменяется при использовании команд FSTENV и FLDENV. Включает управляющее слово, слово состоя- ния, слово признака, а также команды, код и инфор- мацию об операндах, используемую при обработке пре- рываний. ESC Instruction (команда ESC) - код команд сопроцес- сора. Exceрtion (исключение, особая ситуация) - вызов про- цедуры или задачи, который происходит при неудачной попытке процессора выполнить команду или в случае выполнения команды INT n. Исключения возможны при делении на 0, переполнении стека, неопределенных командах, и при прерываниях, вызов которых опреде- лен программно. Исключения подразделяются на сбои (отказы), ловушки, остановы и программно инициали- зируемые прерывания. Exceptions Pointers (ссылки исключений) - в модуле управления данными с плавающей точкой указатель, используемый обработчиком исключений для установле- 574 ния причины нарушения. Состоит из ссылки на послед- нюю выполненную команду ESC и ссылки на операнд па- мяти, если такой операнд имелся в команде ESC. Для получения значения этих ссылок обработчик исключе- ний может использовать команды FSTENV и FSAVE. Expand-Down Segment (расширяемый вниз сегмент) - тип сегмента данных, у которого значение границы сег- мента реверсировано. Все сегменты других типов до- пускают смещения в пределах от базового адреса до значения, равного сумме базового адреса и границы сегмента. Расширяемый вниз сегмент допускает адреса двух видов: от 0 до одного байта ниже базового ад- реса или от одного байта ниже границы сегмента до вершины адресного пространства. Exponent (порядок) - 1. число, указывающее степень, в которую надо возвести другое число. 2. Поле числа с плавающей точкой, которое указывает степень чис- ла. Это соответствует более общему определению 1, за исключением того, что для получения истинного значения степени необходимо вычесть смещение поряд- ка. Extended Format (расширенный формат) - реализация для модуля обработки операций с плавающей точкой двойного расширенного формата стандарта IEEE 754. Расширенный формат - основной формат представления чисел с плавающей точкой в модуле обрабоки операций с плавающей точкой. Состоит из знака, 15-разрядного смещения и мантиссы, состоящей из явного бита целой части и 63 битов дробной части. External Cache (внешний кэш) - память вне процессо- ра. Внешний кэш может быть добавлен к любому про- цессору, имеющему внешнюю память. Процессор i486 имеет команды и биты входа в таблицу страниц для управления внешним кэшем из программы. 575 Far Pointer (дальняя ссылка) - ссылка на место в па- мяти, состоящая из селектора сегмента и смещения. Используется для доступа к памяти, если селектор не был загружен в процессор, например, при вызове про- цедуры из другого сегмента. Fault (ошибка, сбой, отказ) - исключение, сигнал о котором поступает на границе команд, которая непос- редственно предшествует команде, вызвавшей данное исключение. После того, как произошла ошибка, дос- таточно восстановить состояние процессора, чтобы попытаться еще раз выполнить команду, вызвавшую исключение. Обработчик исключения вызывается с ад- ресом возврата, который указывает на неудачную ко- манду, а не на следующую. После того как обработчик установил причину, например, отсутствие в памяти сегмента или страницы, программа продолжает выпол- нение. Flat Model (плоская, сплошная или линейная модель) - организация памяти, при которой все сегменты отоб- ражаются на единственную область линейных адресов. Такая организация памяти исключает, насколько это возможно, сегментацию памяти для прикладных прог- рамм. Floating Point Operand (операнд с плавающей точкой) - представление числа следующим образом: основание, знак, мантисса и знаковый порядок. Значение числа есть результат произведения мантиссы (со знаком) на основание, возведенное в степень порядка. Представ- ление чисел с плавающей точкой является более гиб- ким, чем представление целых по двум причинам. Во-первых, оно позволяет представлять дроби. Во-вторых, при таком представлении можно получить больший диапазон порядка, чем возможно при исполь- зовании целых фиксированной длины. 576 Floating Point Unit - FPU ( модуль обработки опера- ций с плавающей точкой - УПТ) - часть процессора i486, которая содержит регистры для работы с ве- щественными числами и выполняет операции над ними. FPU - смотри Float Point Unit. Flush - смотри Cache Flush. Gate Descriptor (дескриптор шлюза) - дескриптор сег- мента для описания назначений вызовов и переходов. Дескриптор шлюза может использоваться для вызова процедур или задач с отличным от вызывающей прог- раммы уровнем привилегированности. Существует четы- ре типа дескрипторов шлюза: шлюзы вызова, шлюзы ло- вушек, шлюзы прерываний и шлюзы задач. GDT - смотри Global Descriptor Table. Global Descriptor Table (глобальная таблица дескрип- торов) - массив дескрипторов сегментов, единый для всех программ системы. В системе существует только одна глобальная таблица дескрипторов. Gradual Underflow (последовательное отрицательное переполнение) - метод обработки ошибок, вызванных отрицательным переполнением, при выполнении опера- ций с плавающей точкой, который минимизирует потерю точности результата. Так, если есть денормальное число, являющееся приемлемым в качестве результата, то оно и возвращается в качестве результата. Таким образом, потеря значащих цифр происходит только в процессе денормализации. Большинство ЭВМ при отри- цательном переполнении возвращает нуль, то есть те- ряет все значащие цифры. Handler (обработчик) - процедура или задача, вызыва- емые в случае генерации исключения или прерывания. Hit (совпадение, попадание) - смотри Cache Hit. 577 IDT - Interrupt Descriptor Table. IEEE Standard 754 - множество форматов и операций для чисел с плавающей точкой. Форматы имеют размеры операндов 32, 64 и 80 разрядов. Этот стандарт при- нят Институтом инженеров по электротехнике и ради- оэлектронике (IEEE). Модуль обработки операций с плавающей точкой поддерживает все форматы, предус- матриваемые данным стандартом. Immediate Operand (непосредственный операнд, конс- танта) - данные, закодированные непосредственно в команде. Implicit Integer Bit (неявный бит целой части) - часть мантиссы в обычном вещественном или двойном вещественном форматах с плавающей точкой, которая задана неявно. В этих форматах полной мантиссой считается значение справа от двоичной точки. Неяв- ный бит целой части слева от двоичной точки всегда равен 1, за исключением единственного случая: когда порядок минимальный (смещенный порядок есть 0), то неявный бит целой части равен 0. Indefinite (бесконечность) - специальное значение, возвращаемое функциями с плавающей точкой, если входные данные таковы, что других разумных ответов нет. Для каждого формата чисел с плавающей точкой существует свое NaN (не-число), определенное как бесконечная величина. Для целых двоичных форматов бесконечной величиной часто считают отрицательное число, наиболее отдаленное от нуля. Для упакованно- го десятичного формата, поддерживаемого модулем об- работки операции с плавающей точкой, бесконечная величина содержит 1 во всех битах знакового байта и старшего цифрового байта. Index (индекс) - число, используемое для доступа к таблице. Чтобы вычислить размер операнда, индекс масштабируется (умножается при помощи сдвига вле- 578 во). Для получения точки входа в таблицу масшабиро- ванный индекс прибавляется к базовому адресу табли- цы. Inexact (неточность) - стандартный термин IEEE 754 для обозначения ошибочной точности устройства обра- ботки операции с плавающей точкой. Initialization (инициализация) - процесс присвоения начальных значений параметрам программной среды после перезагрузки. Процессор начинает работу после перезагрузки в режиме реальной адресации. Несколько регистров процессора определяют состояние готовнос- ти к работе. Начальные состояния сегментных регист- ров позволяют получать доступ к памяти, даже если селекторы сегментов еще не были загружены. Очистка регистра DR7 (регистр управления отладкой) блокиру- ет все прерывания во время инициализации. Программа в реальном режиме адресации может инициализировать (т.е. присвоить начальные значения) такие структуры данных как таблицы дескрипторов и таблицы страниц, а затем перевести процессор в защищенный режим. Instruction Prefetch (предвыборка команд, выборка команд с упреждением) - загрузка в процессор ко- манд, следующих в памяти непосредственно за теку- щей, одновременно с ее выполнением; технология для одновременного (параллельного) выполнения несколь- ких команд. Instruction Restart (перезапуск команды) - возмож- ность сделать повторную попытку выполнения команды, вызвавшей исключение. Если есть необходимость обра- щения к сегменту или странице, которые не представ- лены в памяти, то повторная попытка должна быть вы- полнена только после того, как операционная система произвела подкачку страницы или сегмента в опера- тивную память. Перезапуск команды позволяет восста- новить состояние процессора, допускающее вызов об- 579 работчика исключения с адресом возврата, указываю- щим на команду, сгенерировавшею исключение, а не на следующую. Integer (целое) - конечное число (положительное, от- рицательное, нуль), не имеющее дробной части. Также может означать представление числа на ЭВМ: последо- вательность байтов данных, интерпретируемых стан- дартно. Разумно представлять целые в формате с пла- вающей точкой; что и делает модуль обработки опера- ции с плавающей точкой, помещая целое в свой стек Integer Bit (бит целой части) - часть мантиссы в формате с плавающей точкой. В этих форматах целый разряд расположен слева от двоичной точки. Значение этого разряда всегда 1, за исключением единственно- го случая: когда порядок минимален (смещенный поря- док равен 0), то значение этого разряда есть 0. В расширенном формате разряд целой части явный; в обычном и двойном форматах - неявный, то есть в па- мяти реально не существует. Internal Cache (внутренний кэш) - кэш-память на мик- росхеме процессора. Процессор i486 имеет 8 КБ внут- ренней кэш-памяти. Interrupt (прерывание) - принудительная передача уп- равления, вызванная сигналом от аппаратуры или вы- полнением команды INT n. Обработчики прерываний, вызываемые программно, работают как исключения. Interrupt Descriptor Table -IDT (таблица дескрипто- ров прерываний) - массив дескрипторов шлюза для вы- зова обработчиков прерываний и исключений. Обработ- чики могут вызываться через шлюз задачи, шлюз пре- рывания или шлюз ловушки. Interrupt Gate (шлюз прерывания) - дескриптор шлюза, используемый для вызова обработчика прерывания или исключения. Шлюз прерывания отличается от шлюза ло- 580 вушки только влиянием на значении флага IF; Шлюз прерывания очищает данный флаг (блокирует прерыва- ния) на время выполнения обработчика. Invalid (недостоверная) - пустая. Недостоверные строки кэша не могут обеспечить кэш-попаданния. Только достоверные строки кэша содержат данные и могут обеспечить кэш-попадание. Invalid Operation (недопустимая операция) - условие исключения для модуля обработки операций с плаваю- щей точкой, которое соответствует всем исключениям, неотвечающим другим условиям. Включает в себя: пе- реполнение и отрицательное переполнение стека моду- ля обработки операций с плавающей точкой, NaN (не-число), неверная бесконечность, выход за допус- тимые границы, неподдерживаемый формат. Label (метка) - идентификатор места в тексте прог- раммы для ссылки на него. Места, именованные метка- ми, включают точки входа процедур, начала блоков данных и базовые адреса таблиц дескрипторов. LDT - смотрите Local Descriptor Table. Linear Address (линейный адрес) - 32-битовый адрес в большом сегментированном адресном пространстве. Ес- ли страничный обмен заблокирован, то линейный адрес транслируется в физический. Если же страничный об- мен разрешен, то линейный адрес используется в ка- честве физического. Local Descriptor Table -LDT (локальная таблица деск- рипторов) - массив дескрипторов сегмента для одной программы. Каждая программа может иметь свою собс- твенную таблицу, может разделять ее с другой прог- раммой или не иметь вообще. В последнем случае программа использует глобальную таблицу дескрипто- ров. 581 Locked Instructions (команды блокирования) - команды считывания и записи в память, запрещающие другим устройствам становиться хозяинами шины между цикла- ми считывания и записи. Такой механизм необходим для обеспечения надежной связи при мультипроцессор- ном режиме работы. Вызов механизма происходит при использовании командного префикса LOCK. Разрешается блокирование только команд, имеющих операнды назна- чения в памяти (для остальных команд использование префикса LOCK вызывает исключение недопустимой ко- манды). Logical Address (логический адрес) - число, исполь- зуемое программой для ссылки на виртуальную память. Состоит из двух частей: селектора сегмента (16 раз- рядов) и смещения (32 разряда). Селектор сегмента используется для определения независимого защищен- ного адресного пространства (сегмента). Смещение указывает адрес внутри сегмента. При сегментации логические адреса преобразуются в линейные. Long Integer (длинное целое) - формат целых в модуле обработки операций с плавающей точкой, состоящий из 64 битов памяти. Long Real (длинное вещественное) - устаревшее назва- ние для 64-разрядного двойного формата модуля обра- ботки операций с плавающей точкой. Main Memory (основная память) - большая память, внешняя по отношению к процессору, используемая для хранения больших объемов данных и команд. Строится на основе высокоэффективных элементов памяти DRAM. Может использоваться вместе с внутренней кэш-па- мятью процессора и с необязательным внешним кэшем. Mantissa (мантисса) - термин, используемый для обоз- начения мантиссы числа с плавающей точкой для неко- торых ЭВМ, не использующих процессоры фирмы Intel. 582 Masked (маскированный) - термин, который можно при- менить к каждому из шести исключений в модуле обра- ботки операций с плавающей точкой: I, D, A, O, U, P. Исключение маскировано, если в соответствующий бит слова управления установлен. Если исключение замаскировано, то в случае генерации исключения, модуль обработки операций с плавающей точкой не бу- дет генерировать прерывание, а произведет собствен- ную обработку. Memory Management (управление памятью) - процесс, состоящий из трансляции адреса и проверки защиты. Существует две формы управления памятью: сегмента- ция и страничная организация памяти. Сегментация обеспечивает разбиение памяти на защищенные незави- симые адресные пространства (сегменты). Страничная организация памяти обеспечивает доступ к структурам данных, имеющим размер больше, чем размер доступно- го объема памяти, сохраняя их частично в оператив- ной памяти и частично на диске. Microprocessor (микропроцессор) - смотрите Processor. Miss (промах) - смотрите Cache Miss. Mode (режим) - 1. одно из полей слова состояния мо- дуля обработки операций с плавающей точкой, которое отвечает за "управление округлением" и "управление точностью". Для выполнения арифметических операций можно программно устанавливать, сохранять и восста- навливать значение этого поля. 2. смотрите Real-Address Mode, Protected Mode, Virtual-8086 Mode, Supervisor Mode, User Mode. ModR/M Byte - байт, располагаемый за кодом команды и используемый для спецификации операнда. MPU - Micro Processor Unit (микропроцессорное уст- ройство). Смотрите Processor. 583 Multriprocessing (многопроцессорность) - использова- ние в системе более одного процессора. Процессор i486 поддерживает два вида многопроцессорности: сопроцессоры, являющиеся специальными расширениями архитектуры и множества команд, и множественные об- щецелевые процессоры, такие как дополнительные про- цессоры i486. Multisegmented Model (многосегментная модель) - ор- ганизация памяти, при которой различные сегменты преобразуются к различным диапазонам линейных адре- сов. Такая организация памяти использует сегмента- цию для защиты структур данных от нарушений, выз- ванных ошибками в программах. Например, от расшире- ния стека, приводящее к перекрытию стеком памяти, отведенной для кодов команд. Multitasking (многозадачность) - разделение времени процессора между несколькими программами, поочеред- ное выполнение некоторого числа команд из каждой программы. Процессор i486 имеет команды и структуры данных, поддерживающие многозадачный режим работы. NaN - сокращение от "Not a Number" (не число); неко- торое значение, получаемое при операциях с плаваю- щей точкой, которое не является ни числом, ни бес- конечностью. NaN возвращается в качестве результата при обнаружении серьезных ошибок. Near Pointer (ближняя ссылка) - ссылка на место в памяти без селектора сегмента; смещение. Использу- ется для доступа к памяти, если селектор сегмента уже был загружен в процессор. Например, вызов одной процедуры из тела другой, при условии что процедуры располагаются в одном сегменте. Normal (нормальное) - представление числа в формате с плавающей точкой, в котором мантисса имеет один бит целой части (явный или неявный). 584 Normalize (нормализация) - преобразование денормаль- ного представления числа с плавающей точкой к нор- мальному представлению. Offset (смещение) - 16- или 32-разрядное число, ко- торое определяет место в памяти относительно базо- вого адреса сегмента. Дескриптор сегмента кода программы определяет установлено ли по умолчанию 16- или 32-разрядное смещение. Префикс размера ад- реса позволяет отменить использование резмера, ус- тановленного по умолчанию. Operand (операнд) - данные в регистре или в памяти, которые считываются или записываются командой (или и то, и другое). Operand-Size Prefix (префикс размера операнда) - префикс команды, который определяет размер операн- да. Операнды могут быть 8-ми и 16-разрядными или 16-ти и 32-разрядными. Размер операнда по умолчанию устанавливается битом D дескриптора сегмента кодов. При использовании префикса размера команды можно установить нужный размер. Overflow (переполнение) - условие исключения опера- ции с плавающей точкой, в которой правильный ответ конечен, но его значение слишком велико, чтобы быть представленным в нужном формате. Эту разновидность переполнения (называемую числовым переполнением) нельзя смешивать с переполнением стека. Packed BCD - Packed Binary Coded Decimal - (упако- ванный двоично-десятичный код) - формат представле- ния десятичных чисел. Каждые две цифры числа зани- мают один байт, и биты 0-3 используются для двоич- ного представления младшей значимой цифры, а биты 4-7 - для старшей цифры. Упакованный десятичный формат - один из типов данных, поддерживаемых моду- лем обработки операций с плавающей точкой. 585 Packed Decimal (упакованный десятичный) - целочис- ленный формат, поддерживаемый модулем обработки операций с плавающей точкой. Упакованное десятичное есть 10-байтовая величина, у которой 1 байт занима- ет знак, а остальные девять - 18 цифр в двоично-де- сятичном коде. Page Directory (каталог страниц) - таблица страниц первого уровня. Процессор i486 при страничной орга- низации памяти использует двухуровневые таблицы страниц, где физический адрес, получаемый из табли- цы первого уровня есть базовый адрес таблицы стра- ниц второго уровня. Использование двухуровневой ор- ганизации позволяет размещать таблицы второго уров- ня на диске. Page Directory Base Register - PDBR (базовый регистр каталога страниц) - регистр процессора для хранения базового адреса каталога страниц; тоже самое что и регистр CR3. Так как содержимое регистра загружает- ся из сегмента состояния задачи (TSS) во время пе- реключения задач, а каждая задача может иметь свой собственный каталог страниц, то различные задачи могут иметь различные отображения виртуальных стра- ниц в физические. Page (страница) - блок последовательно расположенной памяти объемом 4 Кбайта; единица обмена, используе- мая при страничной организации памяти. Page Table (таблица страниц) - таблица для преобра- зования линейных адресов в физические. Процессор i486 при страничной организации памяти использует двухуровневые таблицы страниц, где физический ад- рес, получаемый из таблицы первого уровня есть ба- зовый адрес таблицы страниц второго уровня. Исполь- зование двухуровневой организации позволяет разме- щать таблицы второго уровня на диске. 586 Page Table Entry (запись(элемент) таблицы страниц) - 32-битовая структура, используемая при страничной организации памяти. Включает физический адрес стра- ницы и информацию о защите страницы. Значение эле- мента устанавливается программным обеспечением опе- рационной системы и поддерживается аппаратурой страничной организации. Paging (страничная организация памяти) - форма уп- равления памятью для моделирования большого несег- ментированного адресного пространства с использова- нием части дисковой памяти и фрагментированного ад- ресного пространства. Обеспечивает доступ к струк- турам данных, имеющим размер больше, чем размер доступного объема памяти, сохраняя их частично в оперативной памяти и частично на диске. PDBR - смотрите Page Directory Base Register. Physical Address (физический адрес) - адрес, переда- ваемый на локальную шину. Процессор i486 имеет 32-разрядный адрес, используемый для адресации 4 Гбайт памяти. Physical Memory (физическая память) - диапазон адре- сов, передаваемый на локальную шину; аппаратная ре- ализация памяти. Память адресуется как набор 8-би- товых байтов, но реализуется как набор 32-битовые двойных слов, которые начинаются с адреса, кратного четырем (в этих адресах два последних значимых бита очищены). Процессор i486 может иметь до 4 Гбайт фи- зической памяти. Precision (точность) - количество значимых битов мантиссы в представлении числа с плавающей точкой. Precision Control (управление точностью) - опция, запрограммированная через слово управления модуля обработки операций с плавающей точкой, которая раз- решает выполнять арифметические операции устройства 587 обработки операций с плавающей точкой с уменьшенной точностью. Так как никаких преимуществ по скорости получения результата эта опция не дает, то она ис- пользуется только для совместимости со стандартом IEEE 754 и другими вычислительными системами. Precision Exception (исключение нарушения точности) - исключение модуля обработки операций с плавающей точкой, которое происходит, если при вычислениях получен неточный результат. Эта исключение обычно маскируется и игнорируется; используется только в случае крайней необходимости, когда пользователю необходимо знать точность результата. По стандарту IEEE 754 называется неточностью. Previlige Level (уровень привилегированности) - па- раметр защиты, применяемый к сегментам и селекторам сегментов. Существует четыре уровня привилегирован- ности от 0 (наиболее привилегированный) до 3 (наи- менее привилегированный). Привилегированность 0 уровня используется для системного программного обеспечения, такого как операционная система. При- вилегированность 3 уровня используется для приклад- ных программ. Некоторые системные программы, напри- мер, драйверы устройств, могут иметь промежуточный уровень привилегированности 1 или 2. Processor (процессор) - часть вычислительной систе- мы, исполняющая команды; также называется микропро- цессор, ЦПУ или МПУ. Protected Mode (защищенный режим) - режим работы, при котором доступна вся 32-битовая архитектура процессора. Protection (защита) - механизм, используемый для за- щиты операционной системы и прикладных программ от ошибок в прикладных программах. Может использовать- ся для определения адресного пространства, доступ- ного программе, типа доступа к определенному месту памяти и уровня привилегированности. Любое наруше- 588 ние генерирует исключение общей защиты. Применяется к страницам или сегментам. Pseudo-Descriptor (псевдо-дескриптор) - 48-разряд- ный операнд памяти, используемый для загрузки или сохранения базового регистра таблицы дескрипторов. Pseudozero (псевдонуль) - одна из множества специ- альных величин расширенного вещественного формата. Множество состоит из чисел с нулевой мантиссой и с порядком, который не может состоять только из нулей или только из единиц. Псевдонули не создаются моду- лем обработки операций с плавающей точкой, но обра- батываются правильно как операнды. Quardword (учетверенное слово) - 64-битовый операнд. Команда CDQ используется для преобразования двойно- го слова в учетверенное слово. Учетверенное слово, хранящееся в регистрах EDX и EAX, может быть дели- мым, при использовании делителя в формате двойного слова. Quiet NaN (безответное NaN) - значение NaN в формате с плавающей точкой, у которого большая часть битов мантиссы дробной части равны 1. Для удобства, эти NaN могут использоваться в некоторых случаях без генерации исключений. Re-entrant (повторный вызов, реентерабельность) - разрешение программе повторно вызвать саму себя; рекурсия. Для некоторых задач, таких как операции над иерархическими структурами данных, рекурсивные процедуры являются простым и эффективным решением. Процессор i486 поддерживает рекурсивные процедуры, но не рекурсивные задачи. Задача не может быть ре- курсивной, так как для хранения состояния процессо- ра она имеет только один сегмент состояния задачи (TSS). Процедуры сохраняют состояние процессора в стеке, поэтому могут иметь бесконечную рекурсию. 589 Real-Address Mode (режим реальной адресации) - режим работы, который обеспечивает эмуляцию архитектуры процессора 8086; также называется "реальным режи- мом". В этом режиме процессор i486 работает как быстрый процессор 8086. Архитектурные дополнения по защите и многозадачности не доступны в этом режиме. После инициализации, следующей после команды RESET, процессор начинает работать в режиме реальной адре- сации. Real (вещественное) - любая конечная величина (отри- цательная, положительная, нуль), которая может быть представлена (возможно бесконечным) десятичным рас- ширением. Термин также может применяться к числу с плавающей точкой, которое представляет вещественную величину. Requested Privilege Level - RPL (запрашиваемый уро- вень привилегированности) - уровень привилегирован- ности для селектора сегмента. Если RPL меньше теку- щего уровня привилегированности (CPL), то доступ к сегменту, имеющему уровень привилегированности RPL. Это предохраняет привилегированное программное обеспечения от вмешательства прикладных программ. Например, прикладной программе, загружающейся с диска, не разрешается переписывать операционную систему. Reset (перезагрузка) - смотрите Initialization. RPL - смотрите Requested Previlege Level. Segment (сегмент) - независимое защищенное адресное пространство. Программа может иметь не более 16.383 сегментов, каждый из которых имеет объем до 4 Гбай- тов. Segment Descriptor (дескриптор сегмента) - 64-бито- вая структура данных, используемая при сегментации памяти. Включает базовый адрес сегмента, его размер 590 (границы), тип и информацию по защите. Начальное значение устанавливается операционной системой, доступ поддерживается аппаратными средствами по уп- равлению сегментацией. Segment-Override Prefix (префикс замены (подавления) сегмента) - префикс команды, который заменяет ис- пользуемый по умолчанию сегмент. Существует шесть префиксов переопределения сегмента, по одному для каждого из сегментов CS, SS, DS, ES, FS и GS. Segment Selector (селектор сегмента) - 16-разрядное число, используемое для спецификации области памяти (сегмента). Биты 3- 15 являются индексом в таблице дескрипторов. Бит 2 определяет, какая из таблиц дескрипторов используется - локальная или глобаль- ная. Биты 0 и 1 указывают запрашиваемый уровень привилегированности, который может понижать приви- легированность доступа для дополнительной проверки защиты. Segmentation (сегментация) - форма управления па- мятью, разбивающая память на независимые, защищен- ные адресные пространства. Сегментация помогает от- ладке программ, сигнализируя об ошибках немедленно, до того как проявится ее действие. Сегментация де- лает программы более надежными, ограничивая наруше- ния, которые могут быть вызваны необнаруженными ошибками. Она увеличивает адресное пространство, доступное программе, предоставляя 16.383 сегментов, каждый из которых может иметь объем до 4 Гбайт. Set-Associative (множественно-ассоциативный) - форма организации кэша, при которой блок данных "привя- зан" к месту в основной памяти, но не имеет пол- ностью определенного места в кэше. Множественно-ас- социативная организация есть компромисс между пря- мо-преобразуемой организацией, при которой данные по данному месту в памяти, имеют только одно воз- можное место в кэше, и полностью ассоциативной ор- ганизаций, когда данные из любого места в памяти 591 могут быть размещены в любом месте кэша. "Множест- венно-ассоциативный n-связный" кэш разрешает данным по любому месту в основной памяти быть размещенными в одном из n мест в кэше. Оба и Буфер Ассоциативной Трансляции (TLB), и внутренний кэш процессора i486 имеют четырех-связную множественно-ассоциативную организацию. Short Integer (короткое целое) - формат для целых (чисел), поддерживаемый модулем обработки операций с плавающей точкой. Имеет размер 32 бита. Короткое целое - не самый короткий формат целых чисел, до- пустимый для модуля обработки операций с плавающей точкой (самый короткий формат занимает 16 разря- дов). Short Real (короткое вещественное) - устаревший тер- мин обычного 32-разрядного формата модуля обработки операций с плавающей точкой. SIB Byte - байт, следующий за кодом операции и бай- том modR/M. Он используется для определения коэффи- циента масштабирования, индекса и базового регист- ра. Sign Extension (распространение знака) - преобразо- вание данных к большему формату, в котором пустые разряды заполняются значением знака. Такая форма преобразования сохраняет значения знаковых целых. Смотри Zero Extension. Signaling NaN (сигнальный NaN) - значение NaN с пла- вающей точкой, которое вызывает исключение недопус- тимой операции всякий раз, когда оно встречается в вычислениях или сравнениях, даже при сравнениях несравнимых величин. Significand (мантисса) - часть числа с плавающей точкой, которая состоит из старших значащих ненуле- вых разрядов числа, если число было записано в не- 592 ограниченном двоичном формате. В мантиссу входят бит целой части и дробь. В обычном и двойном форма- те бит целой части является неявным. Считается, что мантисса имеет двоичную точку после целого бита; двоичная точка передвигается в соответствии со зна- чением порядка. Single Extended (обычный расширенный) - формат для чисел с плавающей точкой, принятый стандартом IEEE 754, который дает большую точность, чем обычный формат; имеет в мантиссе явный бит целой части. Расширенный формат модуля обработки операций с пла- вающей точкой допускает команды как для обычного расширенного формата, так и для двойного расширен- ного формата. Single Format (обычный формат) - формат для чисел с плавающей точкой, поддерживаемый модулем обработки операций с плавающей точкой; состоит из знака, 8-битового смещенного порядка, неявного бита целой части и 23-битовой мантиссы - всего 32 значащих би- та. Stack Fault (сбой стека) - особый случай исключения недопустимой операции, который указывается битом SF слова состояния. Обычно имеет место при переполне- нии и отрицательном переполнении стека модулем об- работки операций с плавающей точкой. Stack Frame (кадр стека) - стековое пространство, используемое в процедуре. Включает параметры, адре- са возврата, значения регистров, временную память и данные, используемые процедурой. Stack Segment (стековый сегмент) - сегмент данных, используемый для хранения стека. Может быть расши- ряемым вниз, то есть расти по направлению к младшим адресам. Тип информации, хранимой в сегменте, опре- делятся дескриптором сегмента. 593 Status Word (слово состояния) - 16-разрядный ре- гистр, значение которого может быть установлено вручную, но на который влияют сторонние эффекты ко- манд модуля обработки операций с плавающей точкой. Содержит коды условий, ссылку на стек модуля обра- ботки операций с плавающей точкой, биты занятости и прерываний, а также флаги исключений. String (строка) - последовательность байтов, слов или двойных слов, которая может начинаться с любого байта памяти. Процессор i486 имеет команды для эф- фективной работы над строками. Supervisor Mode (режим супервизора) - уровень уро- вень применительно к страницам оперативной памяти. Страничная организация памяти распознает только два уровня привилегированности: режим супервизора и пользовательский режим. Программа из сегмента с уровнем привилегированности 0, 1, 2 выполняется в режиме супервизора. Table (таблица) - массив записей памяти, имеющих одинаковый размер. Tag Word (слово тега) - 16-разрядный регистр модуля обработки операций с плавающей точкой, который ав- томатически устанавливается модулем обработки опе- раций с плавающей точкой. Для каждой области стека модуля обработки операций с плавающей точкой он со- общает: занята ли область числом; если да, то выда- ет информацию об этом числе. Tag (тег) - часть строки кэша, которая содержит ад- ресную информацию, используемую для определения на- личия или отсутствия операнда памяти в данной стро- ке кэша. Task Register (регистр задачи) - регистр для хране- ния селектора сегмента текущей задачи. Селектор со- держит указатель на сегмент состояния задачи (TSS). 594 Подобно сегментным регистрам регистр задачи имеет видимую и невидимую части. Видимая часть хранит се- лектор сегмента, невидимая часть содержит информа- цию из дескриптора сегмента для TSS. Task Segment State - TSS (сегмент состояния задачи) - сегмент, используемый для хранения состояния про- цессора во время переключения задач. Если использу- ется разделяемое адресное пространство I/O , то TSS сохраняет значение битов разрешения, которые управ- ляют доступом к пространству I/O. Операционная сис- тема может определить дополнительные стуктуры, су- ществующие в TSS. Task Switch (переключение задач) - передача управле- ния между задачами; контекстный переключатель. В отличии от вызовов процедур, которые сохраняют только содержимое основных регистров, переключатель задач сохраняет большую часть состояния процессора. Наприме, регистры, используемые для трансляции ад- ресов, перезагружаются, поэтому каждая задача может иметь различные преобразования адресов от логичес- ких к физическим. Task (задача) - выполняемая или отложенная программа в многозадачной системе. Temporary Real (временное вещественное) - устаревший термин для 80-разрядного расширенного формата. Tiny (очень маленький, "крошечный") - число с плава- ющей точкой настолько близкое к нулю, что его поря- док меньше наименьшего порядка, который может быть получен в сответствующем формате. TLB - смотрите Translation LookSide Buffer. Top (вершина) - 3-разрядное поле слова состояния, который указывает, какой из регистров модуля обра- ботки операций с плавающей точкой является текущей вершиной стека. 595 Transcendental (трансцендентный) - один из классов функций, которым соответствуют полиномиальные фор- мулы. Модуль обработки операций с плавающей точкой поддерживает тригонометрические, степенные и лога- рифмические функции. Translation Lookside Buffer - TLB (буфер ассоциатив- ной трансляции) - кэш-память для элементов таблиц страниц. В обычных системах около 90% ссылок на элементы таблицы могут быть получены по информации из буфера. Trap (ловушка) - исключение, сообщение о котором возникает на границе команд сразу же после команды, вызвавшей это исключение. Trap Gate (шлюз ловушки) - дескриптор шлюза, исполь- зуемый для вызова обработчика исключений. Шлюз ло- вушки отличается от шлюза прерывания только тем, что последний воздействует на флаг IF. В отличие от шлюза прерывания, который очищает этот флаг (блоки- рует прерывания) на время выполнения обработчика, шлюз ловушки оставляет данный флаг без изменения. TSS - Task State Segment. Two's Complement (двоичное дополнение) - метод представления целых. Если самый старший бит есть 0, то число считается положительным, а оставшиеся биты представляют значение числа. Если же самый старший бит есть 1, то число - отрицательное, а значение его получается вычитанием от битового представления 2(bit count). Например, число 11111100 есть -4, по- лученное вычитанием 2**8 от 252. Unbiased Exponent (несмещенный порядок) - истинная величина, которая сообщает насколько далеко и в ка- ком направлении передвигать двоичную точку мантис- сы. Например, если в обычном формате порядок равен 131, то для получения несмещенного порядка нужно 596 вычесть смещение, равное 127. Искомое значение есть +4. То есть вещественное число есть мантисса, сдви- нутая вправо на 4 бита. Unmasked (немаскированное) - термин, который можно применять к каждой из шести исключений модуля обра- ботки операций с плавающей точкой: I, D, Z, O, U, P. Исключение немаскировано, если в соответствующий бит управляющеего слова установлен нуль. Если иск- лючение немаскировано, то в случае исключения мо- дуль обработки операций с плавающей точкой будет генерировать прерывание. Вы можете разработать собственную программу обработки исключений. Unnormal (не-нормальный) - расширенное вещественное представление, в котором в неявный бит целой части мантиссы установлен 0 и порядок отличен от нуля. Не поддерживается модулем обработки операций с плаваю- щей точкой. Включают несколько форматов для сопро- цессоров 8087 и 287.При использовании в качестве операндов вызывают исключение недопустимой опера- ции. Unsupported Format (неподдерживыаемый формат) - лю- бой формат, не распознаваемый модулем обработки операций с плавающей точкой. Некоторые форматы под- держиваются сопроцессорами 8087 и 287, а именно: псевдо-NaN, псевдо бесконечный и не-нормальный. USE16 - директива ассемблера для определения 16-раз- рядного сегментов кода и данных. USE32 - директива ассемблера для определения 32-раз- рядного сегментов кода и данных. User Mode (пользовательский режим) - уровень приви- легированности, применительно к страницам приклад- ных программ. При страничной организации памяти су- ществует только два уровня привилегированности: ре- жим супервизора и режим пользователя. Программа из 597 сегмента с привилегированностью 3 выполняется в пользовательском режиме. V86 Mode - смотрите Virtual-8086 Mode. Valid (достоверный) - размещенный. В достоверные строки кэша загружаются данные, обеспечивающие кэш-попадания. Недостоверные строки кэша не могут обеспечить кэш-попадания. Virtual Memory (виртуальная память) - модель памяти для прикладных программ; организация памяти, под- держиваемая аппаратными средствами по управлению памяти и операционной ситемой. Для процессора i486 виртуальная память реализуется через сегментацию и страничную организацию памяти. Сегментация - меха- низм, предоставляющий независимое защищенное адрес- ное пространство. Страничная организация памяти обеспечивает доступ к структурам данных, имеющим размер больше, чем размер доступного объема памяти, сохраняя их частично в оперативной памяти и частич- но на диске. Virtual-8086 Mode - режим выполнения, эмулирующий архитекуру процессора 8086. В отличии от режима аб- солютной адресации совместим с многозадачностью. Word (слово) - 16-битовый объем памяти. Процессор i486 позволяяет словам начинаться с любого байта, однако, следует быть осторожным, так как слово мо- жет пересечь границу между двумя двойными словами в физической памяти. Word Integer (целое слово) - формат для целых, под- держиваемый процессором i486; двоичное представле- ние занимает 16 разрядов. Write-Back (записать назад) - форма кэширования, при которой запись идет только в кэш-память. При вызове команды wrire-back данные копируются в основную па- мять. 598 Write-Through (записать через) - форма кэширования, при которой запись идет как в кэш-память, так и в основную память. Zero Divide (деление на нуль) - условие вызова иск- лючения, при котором входное число с плавающей точ- кой конечно, но правильный ответ, даже с неограни- ченным порядком, имеет бесконечное значение. Zero Extension (нулевое расширение, распространение нуля) - преобразование данных к большему формату, при котором пустые битовые позиции заполняются ну- лями. Это форма преобразования беззнаковых целых. Смотрите Sign Extension. |