Как ориентироваться в данной презентации
Нажатие на кнопку « » приведет Вас из подраздела в основной раздел (к примеру, из «Центральный процессор» (слайд 10) в «Процессор и его составляющие Процессор» (слайд 9), или из «Сегментная адресация памяти» (слайд 42) в «Особенности архитектуры микропроцессоров i80x86» (слайд 39)).
Нажатие на кнопку « » приведет Вас к «Содержанию» (слайд 3).
Нажатие на кнопку « » приведет Вас к первому слайду презентации.
Нажатие на кнопку « » приведет Вас к последнему слайду презентации.
Нажатие на кнопку « » приведет Вас к последнему показанному слайду.
Нажатие на кнопку « » приведет Вас к предыдущему слайду презентации.
Нажатие на кнопку « » приведет Вас к следующему слайду презентации.
Под кнопкой « » скрывается изображение или таблица.
Содержание (ч.1)
1. Процессор и его составляющие
1.1. Процессор
1.1.1. Центральный процессор
1.1.2. Арифметическо-логическое устройство
1.1.3. Микропроцессор
1.1.4. Сопроцессор
1.1.4.1. Математический сопроцессор
1.2. Память
1.2.1. Сегмент памяти
1.2.2. Блок управления памятью
1.2.3. Регистр процессора
1.2.4. Страничная память
1.3. Шины
1.3.1. Компьютерная шина
1.3.2. Шина данных
1.3.3 Шина адреса
Содержание(ч. 2)
1.4. Разрядность
1.4.1. Разрядность
1.4.2. Машинное слово
1.4.3. 32-разрядные МП
1.5. Архитектура МП
1.5.1. Архитектура
1.5.2. CISC архитектура
1.5.3. RISC архитектура
1.5.4. x86
1.5.5. CISC-RISC
1.6. Средства управления функциями процессора
1.6.1. Машинный код
1.6.2. Прерывание
1.6.3. Обработчик прерываний
(1.7.) Примечание
Содержание (ч. 3)
2. Особенности архитектуры микропроцессоров i80x86
2.1. МП Intel 8086, 80286, 80386
2.2. 8086
2.3. Сегментная адресация памяти
2.4. Особенности процессора 80286
2.4.1. Реальный и защищенный режимы
2.4.2. 80286(i286)
2.4.3. Реальный режим 80286
2.4.4. Особенности процессора 80286
2.4.5. Защищенный режим 80286
2.4.6. Механизм адресации памяти в защищенном режиме 80286
Содержание (ч. 4)
2.5. 32-разрядные микропроцессоры
2.5.1. Особенности процессоров 80386-80486
2.5.1.1. Особенности процессоров 80386-80486
2.5.1.2. 80386 (i386)
2.5.1.3. Кольца защиты
2.5.1.4. 80486 (i486)
2.5.2. Анализ структуры, характеристик и архитектуры МП 80386
2.5.2.1. Анализ структуры, характеристик и архитектуры МП 80386
2.5.2.2. Основные изменения 80386
2.5.2.3. Недостатки плоской модели
2.5.2.4. Страничное преобразование 80386
2.5.2.5. Виртуальный режим 80386
2.5.2.6. Набор инструкций 80386
2.5.2.7. Архитектура 80386
Содержание (ч. 5)
2.5.3. Анализ структуры, характеристик и архитектуры 80486
2.5.3.1. Отличия между Intel 486DX и Intel 386
2.5.3.2. Математическая модель и набор инструкций 80486
2.5.3.3. Конвейерная обработка инструкций 80486
2.5.3.4. Кеш процессора 80486
2.5.3.5. Математический сопроцессор микропроцессора 80486
2.5.3.6. Модели i486
2.5.3.7. Блок-схема МП 80486
2.5.3.8. Архитектура 80486
3. Технические характеристики МП 8086, 80286, 80386, 80486
4. Список источников
Центральный процессор
Центральный процессор (ЦП; также центральное процессорное устройство — ЦПУ; central processing unit, CPU, дословно — центральное обрабатывающее устройство) — электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (код программ), главная часть аппаратного обеспечения компьютера или программируемого логического контроллера. Иногда называют микропроцессором или просто процессором.
ЦПУ состоит из УУ (управляющего устройства) и АЛУ (арифметическо-логического устройства).
Арифметико-логическое устройство (АЛУ)
Арифметико-логическое устройство (АЛУ) (arithmetic and logic unit, ALU) — блок процессора, который под управлением устройства управления (УУ) служит для выполнения арифметических и логических преобразований (начиная от элементарных) над данными, называемыми в этом случае операндами. Разрядность операндов обычно называют размером машинного слова.
Микропроцессор
Микропроцессор — процессор (устройство, отвечающее за выполнение арифметических, логических операций и операций управления, записанных в машинном коде), реализованный в виде одной микросхемы или комплекта из нескольких специализированных микросхем. Первые микропроцессоры появились в 1970-х годах и применялись в электронных калькуляторах, в них использовалась двоично-десятичная арифметика 4-битных слов. Доступные 8-битные микропроцессоры с 16-битной адресацией позволили в середине 1970-х годов создать первые бытовые микрокомпьютеры.
Сопроцессор
Специализированный процессор, расширяющий возможности центрального процессора компьютерной системы, но оформленный как отдельный функциональный модуль, может быть отдельной микросхемой или встроен в центральный процессор.
Математический сопроцессор
Математический сопроцессор — сопроцессор для расширения командного множества центрального процессора и обеспечивающий его функциональностью модуля операций с плавающей запятой, для процессоров, не имеющих интегрированного модуля.
Сегмент памяти
Линейный адрес конкретной ячейки памяти, который в некоторых режимах работы процессора будет совпадать с физическим адресом, делится на две части: сегмент и смещение. Сегментом называется условно выделенная область адресного пространства определённого размера, а смещением — адрес ячейки памяти относительно начала сегмента. Базой сегмента называется линейный адрес (адрес относительно всего объёма памяти), который указывает на начало сегмента в адресном пространстве. В результате получается сегментный (логический) адрес, который соответствует линейному адресу база сегмента+смещение и который выставляется процессором на шину адреса.
Блок управления памятью
Блок управления памятью или устройство управления памятью (memory management unit, MMU) — компонент аппаратного обеспечения компьютера, отвечающий за управление доступом к памяти, запрашиваемым центральным процессором. Его функции заключаются в трансляции адресов виртуальной памяти в адреса физической памяти (то есть управление виртуальной памятью), защите памяти, управлении кэш-памятью, арбитражем шины и, в более простых компьютерных архитектурах (особенно 8-битных), переключением блоков памяти. Иногда также упоминается как блок управления страничной памятью (Paged memory management unit, PMMU).
Регистр процессора
Регистр процессора — блок ячеек памяти, образующий сверхбыструю оперативную память (СОЗУ) внутри процессора; используется самим процессором и большой частью недоступен программисту.
Доступ к значениям, хранящимся в регистрах, как правило, в несколько раз быстрее, чем доступ к ячейкам оперативной памяти (даже если кэш-память содержит нужные данные), но объём оперативной памяти намного превосходит суммарный объём регистров (объём среднего модуля оперативной памяти сегодня составляет 1-4 Гб, суммарная «ёмкость» регистров общего назначения/данных для процессора Intel 80386 и более новых 32 битов * 8 = 256 бит).
Страничная память — способ организации виртуальной памяти, при котором единицей отображения виртуальных адресов на физические является регион постоянного размера (т. н. страница). Типичный размер 4096 байт, для некоторых архитектур до 128 КБ.
Поддержка такого режима присутствует в большинстве 32-битных и 64-битных процессоров. В семействе x86 поддержка появилась с поколения i386, оно же первое 32-битное поколение.
Страничная память
Компьютерная шина
Компьютерная шина (computer bus) в архитектуре компьютера — подсистема, служащая для передачи данных между функциональными блоками компьютера. В устройстве шины можно различить механический, электрический (физический) и логический (управляющий) уровни.
Присоединители к шине, разнообразные разъёмы, как правило унифицированы и позволяют подключить различные устройства к шине.
Управление передачей по шине реализуется как на уровне прохождения сигнала (мультиплексоры, демультиплексоры, буферы, регистры, шинные формирователи), так и со стороны ядра операционной системы — в таком случае в его состав входит соответствующий драйвер.
Шина данных
Шина данных — часть системной шины, предназначенная для передачи данных между компонентами компьютера.
В компьютерной технике принято различать выводы устройств по назначению: одни для передачи информации (например, в виде сигналов низкого или высокого уровня), другие для сообщения всем устройствам (шина адреса) — кому эти данные предназначены.
Основной характеристикой шины данных является её ширина в битах. Ширина шины данных определяет количество информации, которое можно передать за один такт.
Шина адреса
Шина адреса — компьютерная шина, используемая центральным процессором или устройствами, способными инициировать сеансы DMA, для указания физического адреса слова ОЗУ (или начала блока слов), к которому устройство может обратиться для проведения операции чтения или записи.
Основной характеристикой шины адреса является её ширина в битах. Ширина шины адреса определяет объём адресуемой памяти. Например, если ширина адресной шины составляет 20 бит, и размер слова памяти равен одному байту (минимальный адресуемый объём данных), то объём памяти, который можно адресовать, составляет 220 = 1 048 576 байтов (1 Мбайт) как в IBM PC/XT.
Если рассматривать структурную схему микро-ЭВМ, то адресная шина активизирует работу всех внешних устройств по команде, которая поступает с микропроцессора.
Разрядность
Разрядность (битность) в информатике — количество разрядов (битов) электронного (в частности, периферийного) устройства или шины, одновременно обрабатываемых этим устройством или передаваемых этой шиной.
Разрядность процессора – это разрядность его машинного слова.
Машинное слово
Машинное слово — машинно-зависимая и платформо-зависимая величина, измеряемая в битах или байтах, равная разрядности регистров процессора и/или разрядности шины данных (обычно некоторая степень двойки). На ранних компьютерах размер слова совпадал также с минимальным размером адресуемой информации (разрядностью данных, расположенных по одному адресу); на современных компьютерах минимальным адресуемым блоком информации обычно является байт, а слово состоит из нескольких байтов. Машинное слово определяет следующие характеристики аппаратной платформы:
разрядность данных, обрабатываемых процессором;
разрядность адресуемых данных (разрядность шины данных);
максимальное значение беззнакового целого типа, напрямую поддерживаемого процессором: если результат арифметической операции превосходит это значение, то происходит переполнение;
максимальный объём оперативной памяти, напрямую адресуемой процессором.
32-разрядные МП
В компьютерной архитектуре — 32-разрядные целые, адреса памяти или другие типы данных размером 32 бита (4 байта). 32-битные ЦПУ и АЛУ — архитектуры, основанные на регистрах и шинах данного размера. Диапазон целых значений, которые могут быть сохранены в 32 бит: от 0 до 4294967295. Таким образом, процессор с 32-битной адресацией памяти может напрямую обращаться 4 Гб памяти. Разрядность внешних шин адреса и данных обычно больше 32 бит, но внутри 32-битного процессора адреса и данные 32-разрядные. Например, 32-битный Pentium Pro имел 36-разрядую внешнюю шину адреса и 64-разрядную шину данных.
IA-32 (Intel Architecture, 32-bit) — микропроцессорная архитектура, третье поколение архитектуры x86, ознаменовавшееся переходом на 32-разрядные вычисления. Первый представитель архитектуры — микропроцессор Intel 80386, выпущенный 17 октября 1985 года. Также архитектуру часто называют i386 (по имени первого выпущенного на ней процессора) и x86 (по применяемому набору команд).
Архитектура
Архитектура процессора — количественная составляющая компонентов микроархитектуры вычислительной машины (процессора компьютера) (например, регистр флагов или регистры процессора), рассматриваемая IT-специалистами в аспекте прикладной деятельности.
С точки зрения программиста — совместимость с определённым набором команд (например, процессоры, совместимые с командами Intel х86), их структуры (например, систем адресации или организации регистровой памяти) и способа исполнения (например, счетчик команд).
С точки зрения аппаратной составляющей вычислительной системы — это некий набор свойств и качеств, присущий целому семейству процессоров (иначе говоря — «внутренняя конструкция», «организация» этих процессоров). Имеются различные классификации архитектур процессоров, как по организации (например, по количеству и скорости выполнения команд: RISC, CISC), так и по назначению (например, специализированные графические).
CISC архитектура
CISC (Complex instruction set computing, или complex instruction set computer — компьютер с полным набором команд) — концепция проектирования процессоров, которая характеризуется следующим набором свойств:
нефиксированное значение длины команды;
арифметические действия кодируются в одной команде;
небольшое число регистров, каждый из которых выполняет строго определённую функцию.
RISC архитектура
RISC (restricted (reduced) instruction set computer — компьютер с упрощенным набором команд) — архитектура процессора, в котором быстродействие увеличивается за счёт упрощения инструкций, чтобы их декодирование было более простым, а время выполнения — меньшим. Первые RISC-процессоры даже не имели инструкций умножения и деления. Это также облегчает повышение тактовой частоты и делает более эффективной суперскалярность (распараллеливание инструкций между несколькими исполнительными блоками).
Характерные особенности RISC-процессоров:
Фиксированная длина машинных инструкций (например, 32 бита) и простой формат команды.
Специализированные команды для операций с памятью — чтения или записи. Операции вида Read-Modify-Write («прочитать-изменить-записать») отсутствуют. Любые операции «изменить» выполняются только над содержимым регистров (т. н. архитектура load-and-store).
Большое количество регистров общего назначения (32 и более).
Отсутствие поддержки операций вида «изменить» над укороченными типами данных — байт, 16-битное слово.
Отсутствие микропрограмм внутри самого процессора. То, что в CISC-процессоре исполняется микропрограммами, в RISC-процессоре исполняется как обыкновенный (хотя и помещённый в специальное хранилище) машинный код, не отличающийся принципиально от кода ядра ОС и приложений.
x86
x86 (Intel 80x86) — архитектура процессора c одноимённым набором команд, впервые реализованная в процессорах компании Intel.
Название образовано от двух цифр, которыми заканчивались названия процессоров Intel ранних моделей — 8086, 80186, 80286 (i286), 80386 (i386), 80486 (i486). За время своего существования набор команд постоянно расширялся, сохраняя совместимость с предыдущими поколениями.
x86 — это CISC-архитектура. Доступ к памяти происходит по «словам». «Слова» размещаются по принципу little-endian, известному также как Intel-формат. Современные процессоры включают в себя декодеры команд x86 для преобразования их в упрощённый внутренний формат с последующим их выполнением.
CISC-RISC
В настоящее время многие архитектуры процессоров являются RISC-подобными. Наиболее широко используемые в настольных компьютерах процессоры архитектуры x86 ранее являлись CISC-процессорами, однако новые процессоры, начиная с Intel 486DX, являются CISC-процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISC-инструкции x86-процессоров в более простой набор внутренних инструкций RISC.
Машинный код
Машинный код (платформенно-ориентированный код), машинный язык — система команд (набор кодов операций) конкретной вычислительной машины, которая интерпретируется непосредственно процессором или микропрограммами этой вычислительной машины.
Компьютерная программа, записанная на машинном языке, состоит из машинных инструкций, каждая из которых представлена в машинном коде в виде т. н. опкода — двоичного кода отдельной операции из системы команд машины.
Прерывание
Прерывание (interrupt) — сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается, и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.
Обработчик прерываний
Обработчик прерываний (или процедура обслуживания прерываний) — специальная процедура, вызываемая по прерыванию для выполнения его обработки. Обработчики прерываний могут выполнять множество функций, которые зависят от причины, которая вызвала прерывание.
Обработчик прерываний — это низкоуровневый эквивалент обработчика событий. Эти обработчики вызываются либо по аппаратному прерыванию, либо соответствующей инструкцией в программе, и соответственно обычно предназначены для взаимодействия с устройствами или для осуществления вызова функций операционной системы.
Наиболее распространённая CISC архитектура современных настольных, серверных и мобильных процессоров построена по архитектуре Intel x86, поэтому в данной презентации будут рассматриваться микропроцессоры Intel i80x86.
Примечание
Микропроцессоры (МП) Intel 8086, 80286 и отчасти 80386, явившиеся в разные годы основой новых моделей персональных компьютеров фирмы IBM (IBM PC, PC/XT, PC/AT и PS/2) при всех своих различиях и особенностях сохраняют единство архитектурных принципов, системы команд и языка программирования.
Важнейшей характеристикой любого микропроцессора является разрядность его внутренних регистров, а также внешних шин адресов и данных.
МП Intel 8086, 80286, 80386
8086
МП 8086 имеет 16-разрядную внутреннюю архитектуру и такой же разрядности шину данных. Таким образом максимальное целое число (данное или адрес), с которым может работать микропроцессор, составляет 216-1=65535 (64К-1). Однако адресная шина МП 8086 содержит 20 линий, что соответствует адресному пространству 220=1 Мбайт. Для того, чтобы с помощью 16-разрядных адресов можно было обращаться в любую точку 20-разрядного адресного пространства, в микропроцессоре предусмотрена сегментная адресация памяти, реализуемая с помощью четырех сегментных регистров.
Сегментная адресация памяти
Суть сегментной адресации заключается в следующем. Исполнительный 20-разрядный адрес любой ячейки памяти вычисляется процессором путем сложения начального адреса сегмента памяти, в котором располагается эта ячейка, со смещением к ней (в байтах) от начала сегмента, которое обычно называют относительным адресом. Сегментный адрес без 4 младших бит, т.е. деленный на 16 хранится в одном из сегментных регистров. При вычислении исполнительного адреса процессор умножает содержимое сегментного регистра на 16 (путем сдвига влево на 4 двоичных разряда) и прибавляет к полученному 20-разрядному адресу относительный адрес. Умножение базового адреса на 16 увеличивает диапазон адресуемых ячеек до величины 64 Кбайт * 16 = 1 Мбайт.
Для адресации операндов используется аналогичный механизм (сегментная адресация памяти) , только участвуют в этом случае другие сегментные регистры.
Для определения физического адреса команды содержимое сегментного регистра CS (code segment) умножается на 16 за счет добавления справа (к младшим битам) четырех нулей, после чего к полученному значению прибавляется содержимое указателя команд (регистр IP, instruction pointer). Получается двадцатибитовое значение, которое и позволяет указать любой байт из 220.
Реальный и защищенный режимы
Описанный выше способ сегментной адресации памяти не позволяет выйти за пределы 1 Мбайт. Для преодоления этого ограничения в МП 80286 (так же, как и в МП 80386) используются два режима работы: реального адреса и виртуального защищенного адреса, или просто защищенный режим.
80286 (i286)
МП 80286 является усовершенствованным вариантом МП 8086, дополненный схемами управления памятью и ее защиты. МП 80286 работает с 16-разрядными операндами, но имеет 24-разрядную адресную шину, что соответствует адресному пространству 224=16 Мбайт.
Реальный режим 80286
В реальном режиме МП 80286 функционирует фактически так же, как МП 8086 с повышенным быстродействием и может обращаться лишь к 1 Мбайт адресного пространства, оставшиеся 15 Мбайт памяти, даже если они установлены в компьютере, использоваться не могут.
Особенности процессора 80286
В процессоре 80286, помимо реального режима, был реализован также защищённый режим. В защищённом режиме процессор может адресовать до 16 Мбайт физической памяти и 1 Гбайт виртуальной (16384 сегмента по 64 кбайт) за счёт изменения механизма адресации. Переключение из реального режима в защищённый происходит программно и относительно просто, однако для обратного перехода необходим аппаратный сброс процессора. Для отслеживания текущего режима работы процессора используется регистр слова состояния машины (MSW). Программы реального режима без модификаций в защищённом режиме исполняться не могут, так же как и программы BIOS машины.
Защищенный режим 80286
Суть защищённого режима в следующем: программист и разрабатываемые им программы используют логическое адресное пространство, размер которого может составлять 1 гигабайт. Логический адрес преобразуется в физический адрес автоматически с помощью схемы управления памятью (MMU). При этом содержимое сегментного регистра не связано напрямую с физическим адресом, а является номером сегмента в соответствующей таблице. Благодаря защищённому режиму, в памяти может храниться только та часть программы, которая необходима в данный момент, а остальная часть может храниться во внешней памяти (например, на жёстком диске). В случае обращения к той части программы, которой нет в памяти в данный момент, операционная система может приостановить программу, загрузить требуемую секцию кода из внешней памяти и возобновить выполнение программы. Следовательно, становятся допустимыми программы, размер которых больше объёма имеющейся памяти, и пользователю кажется, что он работает с большей памятью, чем на самом деле.
В защищенном режиме по-прежнему используются сегменты и смещения в них, однако начальные адреса сегментов не вычисляются путем умножения на 16 содержимого сегментных регистров, а извлекаются из таблиц сегментных дескрипторов, индексируемых теми же сегментными регистрами. Каждый сегментный дескриптор занимает 6 байт, из которых 3 байта (24 двоичных разряда) отводятся под сегментный адрес. Тем самым обеспечивается полное использование 24-разрядного адресного пространства.
В каждом сегментном регистре под индекс таблицы сегментных дескрипторов отводится 14 двоичных разрядов. Полный логический адрес адресуемой ячейки состоит из 14-разрядного индекса (номера) сегмента и 16-разрядного относительного адреса. Это позволяет каждой программе использовать до 230=1 Гбайт логического, или виртуального пространства, которое, таким образом, в 64 раза превышает максимально возможный объем физической памяти. Операционная система виртуальной памяти хранит все сегменты выполняемых программ в большом дисковом пространстве, автоматически загружая в оперативную память те или иные сегменты по мере необходимости.
Механизм адресации памяти в защищенном режиме 80286
Особенности процессоров 80386 — 80486
С появлением 32-разрядных процессоров 80386 фирмы Intel процессоры могут работать в трех режимах: реальном, защищённом и виртуального процессора 8086.
В защищённом режиме используются полные возможности 32-разрядного процессора — обеспечивается непосредственный доступ к 4 Гбайт физического адресного пространства и многозадачный режим с параллельным выполнением нескольких программ (процессов). Собственно говоря, многозадачный режим организует многозадачная операционная система, однако микропроцессор предоставляет необходимый для этого режима надежный механизм защиты задач друг от друга с помощью четырёхуровневой системы привилегий. Также в этом режиме доступна страничная организация памяти, повышающая уровень защиты задач друг от друга и эффективность их выполнения.
80386 (i386)
МП 80386 является высокопроизводительным процессором с 32-разрядными шинами данных и адресов и 32-разрядной внутренней архитектурой. Он, как и МП 80286, может работать в реальном и защищенном режимах. В последнем случае микропроцессор позволяет адресовать до 232=4 Гбайт физической памяти и 246=64 Тбайт виртуальной.
В процессоре i386 компания Intel учла необходимость лучшей поддержки реального режима, потому что программное обеспечение времени его появления не было готово полностью работать в защищённом режиме. Поэтому, например, в i386, возможно переключение из защищённого режима обратно в реальный (при разработке 80286 считалось, что это не потребуется, поэтому на компьютерах с процессором 80286 возврат в реальный режим осуществляется схемно — через сброс процессора).
При включении микропроцессора в нём автоматически устанавливается режим реального адреса. Переход в защищённый режим осуществляется программно путем выполнения соответствующей последовательности команд. Программы, предназначенные для защищённого режима, должны быть написаны особым образом. Это означает, что реальный и защищённый режим несовместимы.
© ООО «Знанио»
С вами с 2009 года.