Контрольная работа: Архитектура компьютера

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Целые без знака используют так же для представления адресов.

Числа с ПТ имеют один знаковый бит, 8 битов порядка и 23 бита мантиссы. При работе с ними необходимо предусмотреть несколько исключительных ситуаций

+0: s=0; p=0..0; M=0..0;

-0: s=1; p=0..0; M=0..0;

-: s=0; p=1..1; M=0..0;

+: s=1; p=1..1; M=0..0;

NAN: s=X; p=1..1; M=X..X( кроме 0,,0).

6. Виртуальная память

Виртуальная память и организация защиты памяти.

Концепция виртуальной памяти.

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

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

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

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

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

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

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

Системы виртуальной памяти можно разделить на два класса: системы с фиксированным размером блоков, называемых страницами, и системы с переменным размером блоков, называемых сегментами.

Ниже рассмотрен первый тип организации виртуальной памяти.

7. Регистровая модель процессора

Регистровая модель процессора состоит из

1 PC- 32-x разрядный счетчик команд; C его помощью устройство выборки команд считывает слова, начиная с адреса на 1 большего значения записанного в PC.

2 BVA- 32-разрядный регистр в него записывается адрес плохой страницы. Т.е. когда идет обращение к какой то странице памяти не находящейся в оперативной памяти происходит запись адреса этой страницы в BFA, а затем с помощью этого адреса происходит загрузка страници в ОП.

3 Flags - 8-разрядный регистр регистр флажков. Если происходит одно из событий, которые могут отражаться в этом регистре, то происходит установка того или иного флажка.

Z- признак нулевого результата

C- признак переноса из старшего разряда

S- знак результата

O- признак переполнения

I- флаг прерывания

T- флаг ловушки

U- флаг пользователь/супервизор

PL- флаг уровня привелегий

4 TLBP- 32-разрядный регистр указатель на таблицу переадресации

5 TINT - 32-разрядный регистр указатель на таблицу векторов прерываний

6 8 - 32-разрядных регистров общего назначения

8. Система команд процессора и сопроцессора

Name

Содержание

Функция

Флаги

Код

Z

C

S

O

I

T

U

Обращение к памяти по чтению и записи

RDB

Чтение байта

R0<= <R1>+R2

-

-

-

-

-

-

-

000000

RDHW

Чтение полуслова

R0<= <R1>+R2

-

-

-

-

-

-

-

000001

RDW

Чтение слова

R0<= <R1>+R2

-

-

-

-

-

-

-

000010

WRB

Запись байта

<R0>=> <R1>+R2

-

-

-

-

-

-

-

000011

WRHW

Запись полуслова

<R0>= ><R1>+R2

-

-

-

-

-

-

-

000100

WRW

Запись слова

<R0>=> <R1>+R2

-

-

-

-

-

-

-

000101

IN

Чтение из порта

R0<=порт<R1>

-

-

-

-

-

-

-

000110

OUT

Запись в порт

R0=>порт<R1>

-

-

-

-

-

-

-

000111

MOV

Обмен RG<>RG

<R0><=<R1>

-

-

-

-

-

-

-

001000

MOVI

Занос в регистр значения

<R0><= R2

-

-

-

-

-

-

-

001001

Арифметические операции с ФТ

ADD

Сложение

<R0><= <R1>+<R2>

+

+

+

+

-

-

-

001100

SUB

Вычитание

<R0><= <R1>-<R2>

+

+

+

+

-

-

-

001101

MUL

Умножение

<R0><= <R1>*<R2>

+

+

+

+

-

-

-

001110

DIV

Деление

<R0><= <R1>/<R2>

+

+

+

+

-

-

-

001111

ADDI

Сложение с неп оп.

<R0><= <R1>+R2

+

+

+

+

-

-

-

010000

SUBI

Выч. с неп оп.

<R0><= <R1>-R2

+

+

+

+

-

-

-

010001

MULI

Умн/ с неп оп.

<R0><= <R1>*R2

+

+

+

+

-

-

-

010010

DIVI

Деление с неп оп.

<R0><= <R1>/R2

+

+

+

+

-

-

-

010011

Логические оперции с ФТ

AND

«И»

<R0><= <R1>&<R2>

+

-

+

-

-

-

-

010100

OR

«ИЛИ»

<R0><= <R1>v<R2>

+

-

+

-

-

-

-

010101

XOR

Искл «ИЛИ»

<R0><= <R1>+<R2>

+

-

+

-

-

-

-

010110

NOT

«НЕ»

<R0><= ~<R1>

+

-

+

-

-

-

-

010111

RCL

Циклический сдвиг влево

-

+

-

+

-

-

-

011000

RCR

Циклический сдвиг вправо

-

+

-

+

-

-

-

011001

Команды переходов и прерываний

CLI

Очистить флаг разрешения прерываний

0

011010

INT

Вызов прерывания

<R7><=PC <R6><=flags

+

+

+

+

+

+

+

011100

IRET

Возврат из прерывания

<PC><=R7 flags<=R6

-

-

-

-

-

-

-

011101

CALL

Вызов подпрограммы

<R7><=PC PC<=<R1>+R2

-

-

-

-

-

-

-

011110

RET

Возврат из подпрограммы

<PC><=R7

-

-

-

-

-

-

-

011111

JMP

Безусловный переход

PC<=<R1>+R2

-

-

-

-

-

-

-

100000

JZ

Переход по нулю

PC<=<R1>+R2

+

-

-

-

-

-

-

100001

JNZ

Переход не по нулю

PC<=<R1>+R2

+

-

-

-

-

-

-

100010

JO

Переход по переполнению

PC<=<R1>+R2

-

-

-

+

-

-

-

100011

JNO

Переход по не переполнению

PC<=<R1>+R2

-

-

-

+

-

-

-

100100

JC

Переход по переносу

PC<=<R1>+R2

-

+

-

-

-

-

-

100101

JNC

Переход не по переносу

PC<=<R1>+R2

-

+

-

-

-

-

-

100110

JS

Переход переход по меньше нуля

PC<=<R1>+R2

-

-

+

-

-

-

-

100111

JNS

Переход переход по не меньше нуля

PC<=<R1>+R2

-

-

+

-

-

-

-

101000

Специальные операции

RFL

Чтение флагов

R1<=Flags

-

-

-

-

-

-

-

101001

WFL

Запись флагов

<R1>=>Flags

+

+

+

+

+

+

+

101010

RTLBR

Чтение TLBP

R1<=TLB

-

-

-

-

-

-

-

101011

WTLBR

Запись TLBP

<R1>=>TLB

-

-

-

-

-

-

-

101100

RISR

Чтение TINT

R1<=TINT

-

-

-

-

-

-

-

101101

WISR

Запись TINT

<R1>=>TINT

-

-

-

-

-

-

-

101110

RBVA

Чтение BVA

<R0><=BVA

-

-

-

-

-

-

-

110011

RFE

Возврат в пользователя

-

-

-

-

-

-

0

101111

SCALL

Переход в супервизора

-

-

-

-

-

-

1

110000

HALT

Ожидание прерывания

-

-

-

-

1

-

-

110001

NOP

Нет операции

PC<=<PC>+1

-

-

-

-

-

-

-

110010

Арифметические операции с ПТ

FADD

Сложение

<F0><= <F1>+<F2>

+

+

+

+

-

-

-

111000

FSUB

Вычитание

<F0><= <F1>-<F2>

+

+

+

+

-

-

-

111001

FMUL

Умножение

<F0><= <F1>*<F2>

+

+

+

+

-

-

-

111010

FDIV

Деление

<F0><= <F1>/<F2>

+

+

+

+

-

-

-

111011

FMOV

Обмен RG<>RG

F0<=<F1>

-

-

-

-

-

-

-

111100

FRDW

Чтение

<F0><= <R1>+R2

-

-

-

-

-

-

-

111101

FWRW

Запись

<F0><= <R1>+R2

-

-

-

-

-

-

-

111110

MFC

Преобр ПТ-ФТ

<R0><= <F1>

+

+

+

+

-

-

-

111111

MCF

Преобр ФТ-ПТ

<R0>=> <F1>

+

-

+

+

-

-

-

111111

1. Обращение к памяти по чтению и записи.

С помощью этих команд можно заносить данные и регистров в память и читать их оттуда.

2. Арифметические и логические операции с ФТ

Позволяют производить известные операции с числами с ФТ, которые хранятся в регистрах или с непосредственными операндами

3. Специальные операции.

Позволяют работать с системными регистрами, заносить туда информацию и считывать ее оттуда. Команды с 40 по 46 возможны только в режиме супервизора. В пользовательском режиме они недоступны.

4. Арифметические операции с ПТ

Известные операции аналогичные с ФТ, плюс операции сдвигов влево и вправо.

9. Структура внешних выводов процессора

Процессор имеет совмещенную шину адреса и данных (AD). Сигнал ALE используется для фиксации адреса на внешнем регистре-защелке. Пара сигналов HLD и HLDA используется для реализации механизма захвата шины. Сигнал INT является сигналом запроса прерывания. Сигнал NMI - запрос немаскируемого прерывания.

Линии RD(чтение), WR(запись), IN(ввод), OUT(вывод), задают выполняемую на шине операцию.

Сигналы CC0, CC1, Wait используются для взаимодействия с сопроцессором. Линии CC0, CC1 служат для синхронизации работы с мат сопроцессором.

СС0

СС1

0

0

Нет операции

0

1

Очистка очереди

1

0

Запись команды в буфер

1

1

Выборка команды

На контакт WAIT поступает сигнал об окончании вычислений.

По шине FFLAGS в ЦП передаются флаги от сопроцессора.

Контакт READY служит для приема сигналов готовности от медленных внешних устройств.

Общее число выводов процессора составляет 65, поэтому процессор размещается в стандартном 68 выводном корпусе. Оставшиеся ножки подаются на «Земля» или «Питание»

10. Структура внешних выводов сопроцессора

В сопроцессоре на вывод FPBUSY подается единичный сигнал указывающий на то, что сопроцессор занят. По линии FPINT выдается сигнал прерывания в случае ошибки. Назначение остальных выводов такое же как и у ЦП.

11. Структурная схема сопроцессора

12. Алгоритм функционирования сопроцессора

Выводы

Был разработан однокристальный RISC процессор общего назначения.

Для него были разработаны:

1. Регистровая модель процессора

2. Регистровая модель сопроцессора

3. Система команд

В процессе разработки мы ознакомились с такими понятиями как:

- виртуальная память,

- форматы данных,

- форматы команд,

Сопроцессор (назначение и организация функционирования)

Так же была разработана программа моделирующая работу процессора и показывающая особенности доступа и обработки данных в обоих возможных режимах (пользователь / супервизор).

Источник: https://otherreferats.allbest.ru/download/1393891/