Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая Вариант 18.docx
Скачиваний:
25
Добавлен:
17.06.2016
Размер:
188.59 Кб
Скачать

1.4.2. Диапазон и погрешность представления чисел

Диапазон для чисел с фиксированной точкой:

от -231 до 231-1

Диапазон для чисел с плавающей точкой:

от -(1-2-23)2q до (1-2-23)2q

Максимальная абсолютная погрешность для чисел с фиксированной точкой постоянна и равна половине младшего разряда:

2-32

Максимальная абсолютная погрешность для чисел с плавающей точкой:

2-23 *2q, где q=27-1.

1.4.3. Форматы команд, данных и слова состояния процессора

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

Все команды, используемые в данном процессоре, имеют следующий формат:

31 27

26 25

24 16

15 8

7 0

КОП

СА

Imm

КОП - код операции

СА - способ адресации

Imm – непосредственное значение. Кодируется в команде, которая используется как число при непосредственной адресации или как адрес памяти при прямой адресации. Под Imm отводится 25 бит. 225 = 33554432 байт = 32 МБ. Это является достаточным для организации прямой адресации 16 МБ основной памяти.

Формат обрабатываемых данных:

Структура чисел с фиксированной точкой:

31 30 0

Знак

Число

Числа с плавающей точкой:

31 30 24 23 22 0

Знак

Порядок

Знак

Мантисса

В разрабатываемой ЭВМ возможны следующие способы адресации:

1. Прямая.

СА = 00, 01 24 0

Адрес

В Imm адресный код, который прямо указывает на номер ячейки памяти, к которой происходит обращение.

2. Непосредственная.

СА = 10 24 0

Операнд

В Imm в адресном поле непосредственно содержится операнд. Используется при выполнении арифметических операций, операций сравнения.

3. Косвенная.

СА = 11 24 0

REG

В Imm адресный код команды в этом случае содержит нули.

Формат состояния процессора, регистр флагов, FR:

8 5

4

3

2

1

0

PID

PF

IF

OF

ZF

SF

Флаги анализируются и устанавливаются в ходе выполнения программы.

PID – номер текущего процесса;

PF – флаг режима работы процессора:

0 – системный режим;

1 - пользовательский режим.

IF – флаг обработки запросов на прерывание от внешних устройств:

1 – прерывания по входу INTR разрешены, выполняется проверка входа INTR;

0 – вход INTR не контролируется процессором.

OF – флаг переполнения. Отражает переполнение при сложении и вычитании знаковых чисел:

1 – результат не помещается в регистре (переполнение);

0 – результат заносится в регистре данных.

ZF – флаг нуля:

1 – результат нулевой;

0 – результат ненулевой.

SF – знак числа (итога вычисления). Копия знакового бита числа:

1 – соответствует отрицательному результату;

0 – соответствует положительному.

1.4.4. Организация виртуальной памяти

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

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

Размер виртуального адресного пространства составляет 4Гбайт (4294967296 байт), поскольку разрядность 32 бит, а размер страницы составляет 8 Кбайт (8192 байт).

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

Так как предусмотрено два режима работы машины, виртуальное адресное пространство делится на два равных региона: SYS – системный и USER – пользовательский, на каждый выделяется 2Гбайт (2147483648 байт).

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

Формат указателя виртуального адреса представлен в виде трех полей:

- в первом поле задается тип адресного пространства (SYS или USER)

- во втором поле указывается номер виртуальной страницы

- в третьем поле задается смещение описываемого объекта, относительно начала страницы.

31

30 13

12 0

R

PgNum

Offset

R – номер региона

0 – системный регион;

1 - пользовательский регион.

PgNum – номер страницы

Offset – смещение

Так как размер виртуальной страницы 8192 байта, для записи смещения требуется 13 бит.

Формат указателя физического адреса представляется двумя полями, поля смещения (0-12) и поля номера страничного кадра (13-30).

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

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

Местоположение и размер, начальный адрес таблиц задаются в регистрах, которые обозначены как:

  • BRGT – регистр базового начального адреса глобальной таблицы страниц;

  • BRLT – регистр базового начального адреса локальной таблицы страниц.

В строке таблицы описания страниц, в соответствующих полях, указываются признаки, характеризующие страницу.

20 3

2

1

0

PgNum

P

W

M

Pgnum – номер страницы кадра;

P – признак размещения описания таблицы в ОЗУ:

1- находится в ОП,

0- находится на внешнем носителе (жесткий диск).

W – признак прав доступа к странице:

1 – страница доступна для записи,

0 – только для чтения.

M – признак модификации страницы

1 – в ходе выполнения программы страница была изменена,

0 – осталась неизменной.

Состав контекста при переключении между процессами:

  • IP – указатель адреса следующей команды;

  • FLAGS –регистр флагов;

  • Rr – источник данных;

  • Rd – приемник данных;

  • Акк – аккумулятор

  • GT – регистр начального адреса глобальной таблицы страниц;

  • LT – регистр начального адреса локальной таблицы страниц;

  • TOS – таблица описания страниц.

  • REG – регистр косвенной адресации;

  • SP – указатель на вершину стека;

Для сохранения контекста используется 10 регистров при выделении 4 байт на каждый. Общий объем памяти, выделяемый для сохранения всех регистров одного процесса, получается 40 байт (размер контекста одного процесса).

Разрядность адреса составляет 32 бит. Так как размер виртуальной страницы по условиям проекта 8192 байта, а для записи смещения требуется 13 бит, то номер страницы занимает 18 бит. Следовательно, число записей в одной таблице описания страниц равно 218 = 262144. Размер одной строки 3 байта (с 0 по 20 бит). Общий объем занимаемой памяти одной таблицей описания страниц равен:

262144*3 байта = 786432 байт = 768 КБ.

Определим, что на процесс будет выделяться 1МБ, в таком случае число страниц памяти, выделяемых процессу, будет равно 1МБ/8КБ = 128 страниц. И размер одной таблицы GT или LT будет равен 128 * 3 байт = 384 байт

Общий объем памяти необходимый обеспечить для страничной организации виртуальной памяти при наличии в операционной системе восьми пользовательских и одного системного процесса:

РазмерTOS * ЧислоPROC + РазмерKONT * ЧислоPROC + GT + LT*8

768 КБ * 9 + 40 байт * 9 + 384 байт +384 байт * 8 = 6912 КБ + 3816 байт ≈

≈ 6915,7266 КБ ≈ 6.75 Мб