Режимы работы процессоров, форматы команд, виды данных.

Процессоры могут работать в различных режимах. Под «режимом» подразумеваются способы, которыми процессор создает (и обеспечивает) для себя рабочую среду. Режим работы процессора задает способ адресации к ОП и способ управления отдельными задачами. Процессоры ПК могут работать в трех режимах: реальном (R), защищенном (P) и виртуальном (V).

Реальный

Первоначально ПК могли адресовать только 1Мб ОП (ША=20разрядов). В дальнейшем в каждом компьютере следующего поколения процессор должен уметь работать в режимах совместимости с процессором Intel 8086. Этот режим называют реальным режимом. В этом режиме процессор не может использовать 32 и 64 – разрядные операции. Процессор попадает в реальный режим сразу после запуска компьютера. В реальном режиме работает DOS и стандартные DOS – приложения.

Защищенный режим

Начиная с процессора Intel 80286 и компьютеров типа IBM PC/AT появляется защищенный режим. Он используется в современных многозадачных операционных системах.

Преимущество этого режима:

1.доступна вся системная память

2.многозадачность

3.поддерживается виртуальная память – ОС при необходимости может использовать жесткий диск в качестве расширения ОП.

4.осуществляется быстрый (32/64 разр) доступ к памяти и поддерживается работа 32–х разрядные операции ввода/вывода

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

Все современные ОС используют защищенный режим Windows 98, NT/2000/XP, OS/2, Linux.

С появления процессора 80386 защищенный режим был усовершенствован: увеличился max доступное адресное пространство, расширенная система команд. Его иногда называют усовершенствованным защищенном режимом.

Виртуальный режим

Защищенный режим используют графические многозадачные ОС, такие как Windows. Иногда возникает необходимость выполнять DOS-программы в защищенном режиме. Для этого был разработан виртуальный режим. Этот режим эмулирует реальный режим, необходимый для работы DOS-программ, внутри защищенного режима. При запуске на компьютере DOS-приложения OS Windows создает виртуальную DOS-машину, в которой выполняется это приложение.

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

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

    КОП А3
   
  КОП А1 А3
   
КОП А1 А2 А3
               

Форматом команды называется заранее обговоренная структура полей в её кодах, позволяющая ЭВМ распознавать составные части кода.

Главным элементом кода команды является код операции (КОП), что определяет, какие действия будут выполнены по данной команде. Под него выделяется N старших разрядов формата. В остальных разрядах размещаются А1 и А2 v адреса операндов. А3 - адрес результата.

Распределение полей в формате команды может изменяться при смене способа адресации. Длина команды зависит от числа адресных полей. По числу адресов команды делятся на:

  безадресные
  одно-, двух-, трехадресные

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

Множество реализуемых машинных действий образует её систему команд. Система команд часто определяет области и эффективность применения ЭВМ. Состав и число команд должны быть ориентированы на стандартный набор операций, используемых пользователем для решения своих задач.

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

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

Группа команд передачи управления обеспечивает принудительное изменение порядка выполнения команд в программе.

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

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

Существуют 2 различных принципа поисков операндов в памяти: ассоциативный и адресный.

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

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

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

Способы адресации классифицируют:

  по наличию адресной информации в команде (явная и неявная адресация).
  по кратности обращения в оперативную память.
  по способу формирования адресов ячеек памяти.

При явной адресации операнда в команде есть поле адреса этого операнда.

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

По кратности обращения в оперативную память различают:

  непосредственную адресацию (direct addressing)
  прямую адресацию (immediate addressing)
  косвенную адресацию (indirect addressing)

Персональный компьютер IBM PC с математическим сопроцессором 8087 позволяет работать со следующими действительными типами (диапазон значений указан по абсолютной величине):

Тип Диапазон Мантисса Байты
Single 1,5*10-45..3,4*1038 7-8
Double 5,0*10-324..1,7*10308 15-16
Extended 3,4*10-4932..1,1*104932 19-20

Покажем преобразование действительного числа для представления его в памяти ЭВМ на примере величины типа Double.

Как видно из таблицы, величина этого типа занимает в памяти 8 байт. На рисунке показано, как здесь представлены поля мантиссы и порядка:

S Смещенный порядок Мантисса

 


 

18. КЭШ память.

Многоуровневость

 

КЭШ → 1 уровень СТЕК → программный ОП→статическая

2 уровень аппаратный динамическая

→ Данных

Команд

КЭШ

 

КЭШ - память

Cash – кошелёк для хранения денег. КЭШ – память является буферной м/у основной памятью и процессорной. Имеет меньшую ёмкость и более высокое быстродействие. Кэш-память является прозрачной для программиста (невидимой).

Виртуальная память с КЭШем.

В ОС обычно используют Кэш 2-х уровней: внешний и внутренний. Внутренний: на одном кристалле с процессором, внешний: отдельная микросхема. Иногда называют первичный (внутренний) и вторичный (внешний)

Используют различные КЭШи данных и команд – это позволяет выполнять чтение данных и выполнение команд.

Как ОП, так и Кэш разделяются на строки. Каждая строка содержит 16 Б – 256 Б. Обмен между ОП и КЭШем осуществляется по строкам. Используется принцип подмены наиболее активных строк ОП строками КЭШа. Роль каких-то строк ОП берут на себя строки кэш(выигрыш производительности КЭШа по сравнению с ОП в 5-10 раз, но общий порядка 2-3.

Основной показатель системы ОП – БП:

Коэффициент попадания h - отношение количества обращений к КЭШ к числу обращений к ОП (h ≥ 0,9)

1. Проблема адресации КЭШа – отображения адресов ОП на Кэш.

2. Обновление информации в памяти;

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

 

 

19. Сегментная и страничная организация памяти.

 

Сегментная организация ОП

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

В 8086процессоре

адресное пространство 1 Мгбайт. Сегменты по 64 кбайта. Начало сегмента (параграф) –

16-байтная граница смещения ( offset ) – 16-разрядное слово.

Одновременно доступные четыре сегмента CS, DS, SS, ES. Эти регистры имеют по 16раздр.+ четыре Ф. (т. е. 20 раздрядов)

В ассемблере сегментные р-ры по умолчанию

MOV AX, [100] A → OП [ (DS)*16+100] → AX

MOV AX, ES: [100] A → OП [ (ES)*16+100] → AX

MOV AX, [SI] → OП [ (DS*16+ (SI)] → AX

 

1.Приобр. ЛА в ФА – однозначно, обратно – нет

2. Переполнение адреса (заворачивание)

 

В i 486 процессоре

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

Дескриптор каждого сегмента – 8 байт (64 разр.): базовый адрес сегмента, размер сегмента, тип его, уровень привилегий и дополнительная информация.

 

 

Путаница в полях так как в i 286 база – 24, пр – 16, а расширение до 32 и 20 в старшем слове.

 

Р – бит присутствия 1 – физ. ОП. есть. 0 – внешняя память.

DPL – уровень привилегий дескриптора 0 – max

3 - min

S – системный бит - 1 – дескриптор относится к памяти

0 – нет

TYPE – допустимые операции в сегменте

000 – DS только считывание

011 – SS – разрешается запись и считывание

А – бит доступа, говорит, что программа сейчас работает с этим сегментом

G – гранулярность определяет размер элемента сегмента

D – размер по умолчанию обеспечивает совместность с 286. 0 →16 разр;

1 →32 разр.

X – резервный бит

U – (user) бит пользователя ( используется сист. прогр. по своему усмотрению.(«сбор мусора»))

 

Страничная организация памяти.

В P – и V – режимах i 486 поддерживает страничную организацию памяти. Это ещё один уровень косвенности в формировании ФА. Используется при работе с виртуальной памятью, когда ЕА > ФА ОП. Страница это блоки П по 4 Кбайта. При разрешённом страничном преобразовании адреса линейное адресное пространство 4 Гбайта в i 486 делится на 1М страниц по 4 Кбайта. Физическое адресное пространство 1 – 16 Мбайт. Остальные страницы хранятся на НЖМД, т.е. в виртуальном адресном пространстве ОП. Любую физическую страницу виртуальной ОП можно посадить на место любой физической. При «страничном нарушении» (особый случай неприсутствия) операционная система сама загружает нужную стр. в ОП, а не нужную на ЖД.

При страничном преобразовании старшие 20 бит из 32 разр. Лин. адреса ( N виртуальной стр.) заменяются N раз. страницы с помощью таблицы страниц, и каталога стр., (т.е. страничное преобразование – 2-х этапное).

 

 

 

20. Организация ввода-вывода.