В. Столлингс - Операционные системы, страница 2
Описание файла
DJVU-файл из архива "В. Столлингс - Операционные системы", который расположен в категории "". Всё это находится в предмете "операционные системы" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр DJVU-файла онлайн
Распознанный текст из DJVU-файла, 2 - страница
Содержит адрес команды, которая должна быть выбрана из памяти. е Регистр команд ($пз(гпсйоп гени$ег — Ж). Содержит последнюю выбранную из памяти команду. В состав всех процессоров входит также регистр (или набор регистров), известный под названием регистра слова состояния программы (ргонгат в$аФиз жогй — РЯЖ). В нем, как правило, содержатся коды условий и другая информация о состоянии, например бит разрешения/запрещения прерываний или бит режима системный/пользовательский. Коды условий (известные также как Флаги) — это последовательность битов, устанавливаемых или сбрасываемых процессором в зависимости от результата выполненных операций. Например, в результате выполнения арифметического действия может получиться положительное число, отрицательное, ноль, или может произойти переполнение.
В дополнение к сохранению полученного значения в памяти или регистре в результате ариФметических операций устанавлнвиотся также соответствующие коды условий. Впоследствии они могут быть проверены условной операцией ветвления. Биты кодов условий группируются в один или несколько регистров (обычно они составляют часть регистра управления). Вообще говоря, есть машинные команды, позволяющие прочитать содержимое этих битов с помощью явных обращений к регистрам; однако изме"ять их содержимое явным образом нельзя, поскольку эти биты предназначены для отображения результатов выполнения команд. В машинах, в которых используются различные виды прерываний, может ыть предусмотрено несколько регистров прерываний с указателями на каждую ро"рамму обработки прерываний. Если при реализации некоторых Функций апр"мер, вызова процедуры) используется стек, процессор должен иметь регйст стр — указатель стека.
Для аппаратного обеспечения управления памятью (см. авУ 7. "Управление памятью") нужны свои регистры. И, наконец, регистры част„ сто используются при управлении операциями ввода-вывода. Рлнв Обзор компьютерных систем На устройетво и организацию управлявзцфл:,::Регистров и регистров состоя- ' ния влияют несколько факторов. Одним из иих является поддержка операцион-, ной системы. Различные виды управляющей информации используются операционной системой по-разному.
Если Разработчик процессора имеет ясное представление об операционной системе, которая будет работать с этим процессором, он сможет так спланировать организацию регистров, чтобы обеспечить аппаратную поддержку ряда возможностей, таких, как защита памяти или переключение пользовательских программ. Еще одним ключевым конструкторским решением является распределение. управляющей информации между регистрами и памятью. Общепринятым подходом является выделение для нее нескольких первых сотен или тысяч слов памяти.
Конструктор должен решить, какая часть информации будет находиться в'. более дорогих, но более быстрых регистрах, а какая часть — в более дешевой, но. медленной основной памяти. Программа, которую выполняет процессор, состоит из набора хранящихся в. памяти команд. В простейшем виде обработка команд проходит в две стадии:- процессор считывает (выбираегп) из памяти, а затем запускает очередную команду. Исполнение программы сводится к повторению процесса выборки команды и ее исполнения.
Для выполнения одной команды может потребоваться несколько операций; их число определяется природой самой команды. Набор действий, требующихся для Реализации одной команды, называется, ее циклом. На рис. 1.2 показан процесс обработки команд процессором в такой. упрощенной схеме, включающей два этапа. Эти этапы называются циклом выборки и циклом исполнения. Прекращение работы программы происходит при' выключении машины, в случае возникновения какой-либо фатальной:; (неисправимой) ошибки, или если в программе имеется команда останова.
Цикв выборки Циклисполнении Рис. 1.2. Базовый цикл исполнения программы Выборка и исполнение команды В начале каждого цикла процессор выбирает из памяти команду. Обычно адрес ячейки, из которой нужно извлечь очередную команду, хранится в программном счетчике (РС). Если не указано иное, после извлечения каждой команды процессор увеличивает значение программного счетчика на единицу.
Таким образом, команды выполняются в порядке возрастания номеров ячеек памяти, в которых они хранятся. Рассмотрим, например, упрощенный компьютер, в котором каждая команда занимает одно 16-битовое слово памяти. Предположим, что значение программного счетчика установлено равным 300. Это значит, что следующая команда„которую должен извлечь процессор, находится в 300-й яче ке. йке. При успешном завершении цикла команды процессор перейдет к извлечению к ию команд из ячеек 301„302, 303 и т.д. Однако, как мы вскоре узнаем, эта посл ледовательность может быть изменена. Извлеченные команды загружаются в регистр команд (1В).
Команда состоит из после п~~ледовательности битов, указывающих процессору, какие именно действия ~н долже должен выполнить. Процессор интерпретирует команду и выполняет требуемые де с е действия. Все действия можно разбить на четыре категории. Процессор — память. Данные передаются из процессора в память или обратно.
и Процессор — устройства ввода-вывода. Данные из процессора поступают на периферийное устройство через устройство ввода-вывода. Возможен и обратный процесс. и Обработка данных. Процессор выполняет с данными различные арифметические или логические операции. Управление. Команда может задавать изменение последовательности выполнения команд.
Например, если процессор извлекает из ячейки 149 команду, которая указывает, что следующей по очереди должна быть исполнена команда из ячейки 182„то процессор устанавливает значение программного счетчика равным 182. Таким образом, в следующем цикле выборки команда извлекается не из ячейки 150, а из ячейки 182. Для выполнения команды может потребоваться последовательность, состоящая из комбинации вышеперечисленных действий.
Рассмотрим, например, гипотетическую машину, характеристики которой приведены на рис. 1.3. В процессоре имеется один регистр данных„который называется аккумулятором (ассппш1аФог — АС). Команды и данные имеют длину 16 бит. В такой ситуации память удобно организовать в виде 16-битовых ячеек, в каждой из когорых помещается одно слово. Формат команды предусматривает выделение 4 бит для кода операции. Таким образом, всего может быть 2' = 16 различных кодов операций (их можно представить одной шестнадцатеричной 2 цифрой), а адресовать можно до 2 ' =- 4096 (4 К) слов памяти (которые можно представить трехзначным шестнадцатеричным числом).
Рис. 1.4, на котором показаны определенные ячейки памяти и регистры пРоцессора, иллюстрирует исполнение фрагмента программы. В этом фрагменте слово, хранящееся в памяти по адресу 940, складывается со словом, хранящимся в памяти по адресу 941, а результат сложения заносится в ячейку 941. Для выполнения этого действия потребуются три команды, каждая из котоРых включает свой цикл выборки и цикл исполнения. Основкыв сведения по системам счисления <десятичной. двоичной, швстнадцапггуии и) моксно найти на узлв Сотригег опспсг Зпкйои 5иррогк по адресу: п1211всз5бв111ЛРз сов" Яси """епс~ыджсб.Нсл1.
Часть 1. Основные понятия лана 1. Обзор компьютерных систем Кодоперации Значение б) трормат целого числа Программный счетчик 1РС) = Адрес команды Регистр команды 11Н) = Исполняемая инструкция Аккумулятор 1АС) = Временная память а) Внутренние регистры процессора 0001 = Загрузить значение из памяти а аккумулятор 001 0 = Сохранить содержимое аккумулятора а памяти 0101 = Добавить к аккумулятору значение ячейки памяти г) Коды операций 1фрагмент; бинарный формат) Память 300 301 302 Регистры процессора Регистры процессора АС 1Н Функции ввода-вывода Память 300 301 302 Регистры процессора Р~~истры процессора АС 1Н Шаг 4 Регистры процессора Регистры процессора АС 1Н АС 1Н 41 Часть 1.
Основные понятия ' Рис. 1,3. Характеристики гипотетической машины Рис. 1.4. Пример исполнения программы (содерзкимое памяти и регистров представлено шестнадцатеричными числами) 1. Адрес первой команды, хранящая в программном счетчике, — 300. Эта команда (она представлена шестйэдцатеричным числом 1940) загружается в регистр команд (1кч), а показание программного счетчика увеличивается на 1. Следует отметить, что в этом процессе участвуют регистры адреса и бу Фера памяти„однако для упрощения они игнорируются. 2. Первые 4 бит (первая шестнадцатеричная циФра) регистра команд указывают на то, что нужно загрузить значение в аккумулятор.
Остальные 12 бит (три шестнадцатеричные циФры) указывают адрес 940. 3. Из ячейки 201 извлекается следующая команда (5941), после чего значение программного счетчика увеличивается на 1. 4. К содержимому аккумулятора прибавляется содержимое ячейки 941, и ре зультат снова заносится в аккумулятор. 5. Из ячейки 302 извлекается следующая команда (5941), затем значение про граммного счетчика увеличивается на 1. 6. Содержимое аккумулятора заносится в ячейку 941.
Этот пример показывает, что для сложения содержимого ячеек 940 и 941 необходимы три цикла команды. При более сложном наборе команд циклов понадобилось бы меньше. Современные процессоры выполняют команды, в состав которых может входить несколько адресов. При этом во время цикла исполнения некоторых команд иногда выполняется несколько обращений к памяти. Вместо обращений к памяти в команды может быть задана операция ввода-вывода. До сих пор мы рассматривали операции компьютера, управляемые процессором, основное внимание обращая на взаимодействие процессора и памяти.
О роли компонентов ввода-вывода было упомянуто лишь вскользь. Процессор может не только читать данные из памяти и записывать их туда, обращаясь по адресу к определенной ячейке, но также читать и записывать двиньте в устройство ввода-вывода. Таким образом устройство ввода-вывода (например, контроллер диска) обменивается данными с процессором. При этом процессор должен идентифицировать устройство, которое будет управляться опРеделенным устройством ввода-вывода. Из команд ввода-вывода можно сформировать такие же последовательности, как показанные на рис. 1.4 последовательности команд обращения к памяти.