Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на вопросы_ABC.doc
Скачиваний:
11
Добавлен:
17.09.2019
Размер:
6.14 Mб
Скачать

11) Понятие об isa

12) Функционирование фон-неймановской эвм на уровне микроопераций (на примере пересылки данных между регистрами мп) Функционирование эвм классической архитектуры

ШД

ША

ШУ

Рассмотрим, каким образом функционируют узлы ЭВМ в процессе выполнения команд и как происходит их взаимодействие.

На рисунке 6.1 приведена схема взаимодействия узлов ЭВМ:

П

Рис. 6.1. Взаимодействие узлов ЭВМ в процессе выполнения команды

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

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

Чтение

Запись

Рис. 6.2. Чтение и запись ячейки памяти

Предположим далее, что высокий уровень сигнала R/ на шине управления соответствует чтению, а низкий – записи.

При этом, разрядность ШД обычно определяется разрядностью процессора, а разрядность ША – мощностью прямо- или непосредственно адресуемого пространства памяти.

Говоря о шинах, нужно знать направленность шины:

ШУ – однонаправленная (при этом одно устройство активное);

ША – однонаправленная;

ШД – двунаправленная.

Пример 1:

Рассмотрим операцию сложения двух чисел

Z = X + Y

При этом считаем, что числа уже находятся в памяти.

Адрес

КОП

Адрес операнда

Примечание

0000

чтение

20

Данная команда осуществляет чтение содержимого ЯП и записывает его в регистр процессора (аккумулятор)

0001

сложение

21

сложение содержимого аккумулятора с содержимым ячейки 21

0002

запись

25

запись содержимого аккумулятора в ячейку 25

0003

стоп

Функционирование:

Выполнение начинается с того, что процессор помещает на ША адрес первой выполняемой инструкции, а УУ возбуждает сигнал на ШУ (чтение). Совокупность этих сигналов приводит к срабатыванию устройства памяти, которое спустя некоторое время (цикл памяти), выдает на ШД двоичный код, который затем попадает в один из регистров процессора. Там эта последовательность преобразуется, и процессор выдает команду "читать 20". Возбуждается сигнал "читать", и на ША подается 20. Содержимое ячейки 20 попадает в аккумулятор процессора.

Аналогично совершается реализация следующих команд программы. В частности, процессор устанавливает в ША – 1, возбуждает на ШУ – "чтение 6" и это приводит к циклу памяти, в результате которого на ШД память выставляет двоичный код команды "сложение". Эта последовательность попадает в регистр процессора, декодируется, преобразуется в последовательность команд и т.д.

Внесем уточнения в рассматриваемую схему взаимодействия. Выполнение той или иной команды состоит из нескольких частей – фаз. Например, выполнение команды начинается I-фазой (instruction phase) – фаза выборки команды.

Е-фаза (execution phase) – фаза выполнения.

Регистры процессора:

PC (Program Counter) - программный счетчик, он хранит адрес следующей

выполняемой команды.

IR (Instruction Register) - в нем хранится код выполняемой команды.

DAR (Data Address Register) - хранит адрес операнда, с которым процессор обращается в память в процессе выполнения E-фазы команды.

Accumulator и другие регистры данных.

Каким образом процессор знает какой адрес выставлять? Одним из регистров процессора, который следит за адресами выполняемых команд, является регистр PC – счетчик команд. Именно содержимое этого регистра выставляется на ША. И его содержимое может быть интерпретировано как адрес выполняемой команды. То, что мы только что рассмотрели, называется реализацией принципа микропрограммного управления.

Рассмотрим, каким образом декодируется команда.

Рис. 6.3. Схема декодирования команды

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

Другая версия рассматриваемого фрагмента программы.

Адрес команды

КОП

Адрес операнда

0000

ввод

30

0001

запись

20

0002

ввод

30

0003

запись

21

0004

чтение

20

0005

сложение

21

0006

запись

25

0007

вывод

30

0008

стоп

Здесь порт ввода 30 - некоторое устройство, с которого производится ввод данных (например, клавиатура), а порт вывода 30 - устройство, на который производится вывод результата (например, принтер или дисплей).

13) Функционирование МП MIPS

14) Архитектура и функционирование некоторых ЭВМ

15) МП MIPS и его основные функциональные блоки

16) Режимы адресации в ЭВМ различных классов

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

Примером является система команд семейства ЭВМ «IBM-360». В поле КОП задавались определенные форматы команд, в IBM-360 они имеют следующий вид: RR, RX, RS, SX, SS, S.

RR – соответствующие операнды хранятся в регистрах (оба);

RX – один операнд хранится в регистре, а другой в памяти.

Рассмотрим один из перечисленных выше форматов, например RX (32 бита), который содержит следующие поля с указанием количества занимаемых бит (рис. 7).

КОП

R1

X2

B2

D2

0 7

8 12

13 16

17 20

21 31

Рис. 7. Формат команды RX

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

Adrяп = (D2 +С(B2)+С(X2)),

где D2смещение относительно базы (индекса) соответствующей ячейки памяти, С(B2) – содержимое B2 базового регистра, С(X2) – содержимое индексного регистра. Таким образом, B2 и X2 определяют номера соответствующих индексных регистров. Данный формат обязывает, что первый операнд обязательно должен находится в регистре.

Независимое задание способов адресации в поле каждого оператора

Для каждого операнда отводится фиксированное поле указания способа адресации.

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

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

Общие режимы адресации

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

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

Относительная адресация или базирование (<relety.addr>). Исполнительный адрес определяется суммой адресного кода команды (информации об адресе операнда, содержащаяся в команде) и некоторого числа – базового адреса (хранится в предусмотренных регистрах или специально выделенных ячейках памяти). Т.е. адрес смещения суммируется с содержимым счетчика команд для получения адреса операнда. Иногда смещение представлено в дополнительном коде, и это позволяет к содержимому РС прибавлять или отнимать смещение.

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

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

Регистровая адресация (<register.addr>). Это частный случай укороченной, только в качестве фиксированных ячеек с кроткими адресами используются регистры (ячейки сверхоперативной или местной памяти) процессора. Например, если таких регистров 16, то для адреса достаточно 4 двоичных разрядов. Такая адресация увеличивает скорость выполнения операций за счет уменьшения числа обращений к памяти.

Косвенная адресация (<inderect.addr>). Адресный код команды указывает адрес ячейки памяти (или адрес регистра), в которой находится адрес операнда команды. Широко используется в малых и микро-ЭВМ, имеющих короткое машинное слово, для преодоления ограничений короткого формата команд. На косвенную адресацию указывает код операции команды, а в некоторых ЭВМ в команде отводится специальный разряд (указатель адресации - УА), или 0 или 1 в нем указывает, является адресная часть команды прямым адресом или косвенным. А некоторые ЭВМ используют многоступенчатую косвенную адресацию.

В микропроцессорах, малых и микро-ЭВМ широко применяется совместное использование регистровой и косвенной адресации. Например, необходимо передать число 4527 из регистра 5 в ячейку ОП 1765. Длина адресных полей команды достаточна лишь для указания коротких номеров регистров, она не позволяет задать в команде полный адрес ячейки памяти. Поэтому операнд 4527 указывается регистровой прямой адресацией (УА=0), а для задания адреса 1765 используется регистровая косвенная адресация (УА=1), при которой в команде указывается номер регистра, предварительно загруженного полным адресом ячейки, в которую производится передача. Но при этом теряется время.

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

Адресация слов переменной длины. В команде указывается местоположение в памяти начала слова и его длины.

Стековая адресация (<stack>). Реализует безадресное задание операндов. Команда не содержит адреса ячейки стека, а содержит адрес (или он подразумевается) ячейки памяти или регистра, откуда слово передается в стек или куда загружается из стека.

Система адресации машины выполняет следующие функции:

формирование исполнительного адреса (прямая, косвенная адресация);

перемещаемость программ и данных, уплотнение информации в памяти в интересах пользователя;

перемещаемость программ и данных в интересах системы, уплотнение информации в интересах системы;

защита информации в памяти;

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

организация «чистых» процедур.

Основные команды и типы адресации PDP-11

Прямая адресация

Таблица 1.1

Мнемоника

Тип адресации

Код адресации (в OCT)

Rn

регистровая прямая

0N

(Rn)+

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

2N

-(Rn)

автодекрементная прямая

4N

X(Rn)

индексная прямая

6N

Косвенная адресация

Таблица 1.2

Мнемоника

Тип адресации

Код адресации (в OCT)

@Rn

регистровая косвенная

1N

@(Rn)+

автоинкрементная

косвенная

3N

@-(Rn)

автодекрементная косвенная

5N

@X(Rn)

индексная косвенная

7N

N – номер регистра (в системе счисления OCT)

Типы адресации с регистром R7 (счетчик команд)

Таблица 1.3

Мнемоника

Тип адресации

Код адресации (в OCT)

#A

непосредственная

27

@#A

абсолютная

37

A

относительная

67

@A

относительная косвенная

77

типы адресации МП Motorolla 6502

Тип адресации

Мнемоника

Описание

Аккумуляторная

Однобайтная команда, предполагающая выполнение операции с аккумулятором

Прямая

$A

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

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

#A

Значение А, которое хранится во втором байте команды относительно ячейки памяти адресуемой РС, является непосредственно операндом.

Адресация с нулевой страницей

$AL

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

Абсолютная индексная без перехода на новую страницу

$A, X(Y)

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

Абсолютная индексная с переходом на новую страницу

$A, X(Y)

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

Индексная (с нулевой страницей)

$AL, X

Эффективный адрес операнда формируется путем прибавления содержимого индексного регистра X к абсолютному адресу, который содержится во втором байте команды. Константа AL 8-битная. Абсолютный адрес – от 00 до FF (нулевая страница)

Индексная косвенная

($AL , X)

Младший байт эффективного адреса операнда это содержимое ЯП нулевого банка памяти, адрес которой формируется путем прибавления содержимого индексного регистра X к абсолютному адресу, который содержится во втором байте команды, а старший байт эффективного адреса – содержимое ЯП нулевого банка памяти, адресуемой абсолютным адресом плюс содержимое регистра Х и плюс 1. Константа AL 8-битная. Абсолютный адрес – от 00 до FF (нулевая страница)

Косвенная индексная

($AL), Y

Младший байт адреса операнда формируется путем прибавления содержимого индексного регистра Y к содержимому ЯП нулевого банка памяти, адресуемой абсолютным адресом, который содержится во втором байте команды, а старший байт адреса – содержимое ЯП нулевого банка памяти, адресуемой абсолютным адресом плюс 1. При этом возможны два случая – присутствует переход на новую страницу памяти и нет. Константа AL 8-битная. Абсолютный адрес – от 00 до FF (нулевая страница)

Абсолютная индексная

($A)

Второй байт инструкции содержит младший байт адреса, а третий байт – старший байт адреса. Содержимое ЯП по этому адресу – младший байт адреса операнда, а содержимое следующей ячейки – это старший байт адреса операнда (адресация типа «адрес адреса»).

17) Физические модели и модели-аналоги

Под аналоговой вычислительной техникой (АВТ) понимается такая

область развития науки и техники, которая включает в себя аналоговое

вычисление, принципы построения и конструирования аналоговых

вычислительных средств. Данная область использует понятие аналоговой

величины, суть которой - физические величины (токи, напряжения и др.),

которые можно измерить теми или иными приборами, и которые моделируют

переменные решаемой задачи при определенном масштабе соотношения между

ними.

Аналоговые моделирующие устройства применяются для исследования

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

либо для получения решения математических уравнений над аналоговыми

величинами, изменяющимися во времени и возможно распределенными в

пространстве.

Аналоговые вычисления являются определенной ветвью моделирования -

общего метода исследования окружающей действительности. Под

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

получения на ее основе сведений об исследуемом объекте или процессе. Это

такой метод, который предполагает исследование физических явлений и

процессов на некоторых специально созданных для этой цели объектах, которые

мы будем называть моделями. Модели являются материальными носителями

аналоговых величин. Например, если существуют два сходных по каким-либо

признакам явления, то одно можно считать объектом исследования, а другое –

моделью первого.

Задача построения модели не является однозначной, т. е. среди

большого количества явлений существует множество таких, которые

определенным образом подобны между собой. Методы моделирования

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

развития различных форм моделирования.