Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ОС.doc
Скачиваний:
329
Добавлен:
10.06.2015
Размер:
978.94 Кб
Скачать

Раздел 2. Машинно-зависимые свойства операционных систем

Тема 2.1. Архитектурные особенности модели микропроцессорной системы

Упрощенная архитектура типовой ЭВМ. Структура оперативной памяти. Адресация. Основные регистры. Форматы данных и команд. Операционная система как средство управления ресурсами типовой ЭВМ

Основные регистры процессора Регистры – это ячейки внутренней быстродействующей памяти микропроцессора. Они используются для временного хранения единицы информации (машинного слова) при прохождении данных через блок микропроцессора. В реальных микропроцессорах количество регистров может быть разным. Количество допустимой в системе оперативной памяти определяется регистром адреса. Количество регистров в реальных микропроцессорах может отличаться, но 8 типов регистров присутствуют всегда: 1. Аккумулятор – является промежуточной памятью при выполнении арифметических и логических операций в АЛУ. Любая из операций над двумя байтами предполагает размещение одного из них в аккумуляторе. Результат обычно помещается туда же. Может использоваться для изменения (инвертирования, сдвига). Доступен программисту. 2. Буферные регистры - используются для накопления исходных данных с шины. Недоступны. 3. Регистр состояния – каждый разряд этого регистра устанавливается в 0 или 1, если происходит определенное событие. Например, в результате получился 0 или отрицательное число. Доступен для просмотра и из команд. 4. Счетчик команд – содержит адрес ячейки памяти, в которой содержится следующая команда программы. Недоступен.5. Регистр команд – содержит команду, которую нужно выполнять на определенном шаге. Недоступен. 6. Регистр адреса – содержит адрес той команды программы, которая выполняется сейчас. Недоступен. 7. Указатель стека – содержит адрес вершины стека. 8. Регистры общего назначения – доступны программисту и предназначены для временного хранения данных. Процессоры «Мозгом» компьютера является центральный процессор (CPU — Central Processing Unit). Он выбирает из памяти команды и выполняет их. Обычный цикл работы центрального процессора выглядит так: он читает первую команду из памяти, деко­дирует ее для определения ее типа и операндов, выполняет команду, затем считы­вает, декодирует и выполняет последующие команды. Для каждого центрального процессора существует набор команд, который он в состоянии выполнить. Например, процессор Pentium не может обработать программы, написанные для SPARC, а процессор SPARC не может выполнить программы, написанные для Pentium. Поскольку доступ к памяти для получения команд или наборов данных занимает намного больше времени, чем выполнение этих команд, все центральные процессоры содержат внутренние регистры для хра­нения ключевых переменных и временных результатов. Кроме основных регистров, используемых для хранения переменных и времен­ных результатов, большинство компьютеров имеет несколько специальных регис­тров, видимых для программиста. Один из них называется счетчиком команд (PC, program counter), в нем содержится адрес следующей, стоящей в очереди на выполнение команды. После того как команда выбрана из памяти, регистр команд корректируется и указатель переходит к следующей команде. Еще один регистр процессора называется указателем стека (SP, stack pointer). Он содержит адрес вершины стека в памяти. Стек содержит по одному фрейму (области данных) для каждой процедуры, которая уже начала выполняться, но еще не закончена. В стековом фрейме процедуры хранятся ее входные параметры, а так­же локальные и временные переменные, не хранящиеся в регистрах.Следующий регистр называется PSW (Processor Status Word — слово состоя­ния процессора). Этот регистр содержит биты кода состояний, которые задаются командами сравнения, приоритетом центрального процессора, режимом (пользова­тельский или режим ядра), и другую служебную информацию. Операционная система должна знать все обо всех регистрах. При временном мультиплексировании центрального процессора операционная система часто ос­танавливает работающую программу для запуска (или перезапуска) другой. Каж­дый раз при таком прерывании операционная система должна сохранять все реги­стры процессора, чтобы позже, когда программа продолжит свою работу, их можно было восстановить. В целях улучшения характеристик центральных процессоров их разработчики давно отказались от простой модели, в которой за один такт может быть считана, декодирована и выполнена только одна команда. Многие современные CPU обла­дают возможностями выполнения нескольких команд одновременно. Например, у процессора могут быть раздельные модули, занимающиеся выборкой, декодиро­ванием и выполнением команд, и во время выполнения команды с номером п он может декодировать команду с номером n + 1 и считывать команду с номером п + 2. Подобная организация процесса называется конвейером, три его стадии продемон­стрированы на рис. а. Часто встречаются и более длинные конвейеры. В боль­шинстве конвейерных конструкций считанная команда должна быть выполнена, даже если в предыдущей команде был принят условный переход.

Структура оперативной памяти. Форматы данных и команд.

Структура оперативной памяти

ОП состоит из ячеек, в каждой из которых может находиться единица информации – машинное слово. Каждая ячейка имеет две характеристики: адрес и содержимое. Через регистр адреса микропроцессора можно обратиться к любой ячейке памяти. Количество ячеек памяти зависит от разрядности регистра адреса:

К=2n,

Где К – количество ячеек памяти, n – разрядность регистра адреса.

Например, имея 8-ми разрядный регистр адреса можно адресовать 256 ячеек памяти. Если принять, что машинное слово – 1 байт, то следовательно максимальная оперативная память не может превышать 256 байт.

Посчитайте, с ОП какого максимального размера может работать МП, если регистр адреса 16-разрядный и машинное слово – 1 байт.

Ответ - 64 Кбайта

А если регистр адреса – 32 разрядный и машинное слово – байт?

Ответ – 4 Гб.

Иначе говоря, 32 разрядный МП может адресовать 1 Гб ОП.

Формат команд и методы адресации

Команды 32-разрядных процессоров содержат одно- или двухбайтный код инструкции, за ко­торым могут следовать несколько байт, определяющих режим исполнения коман­ды, и операнды. Команды могут использовать до трех операндов (или ни одного). Операнды – данные для выполнения команды. Например, команда сложения должна содержать 2 операнда – 2 числа, которые нужно просуммировать.

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

Если операнд находится в команде (задан константой), то такая адресация данных называется непосредственной.

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

Примеры:

1. Add R1,28

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