Принципы программного управления Фон Неймана

Принципы программного управления Фон Неймана

1. Информация кодируется в двоичном коде и разделяется на единицы, которые называются словами. Наилучшее соотношение длины разрядной сетки и основания системы счисления – это число «е». Ближайшие к ней числа – это число 2 и число 3. Троичная система счисления не технологична. Двоичная же система счисления более удобна, так как на ней легко реализуема булева алгебра.

2. Слова различаются не по кодированию, а по использованию. Благодаря этому принципу возможно существование вирусов, так как никто не может отличить данные от собственно программы. Все архитектуры вычислительных машин делятся на два типа – гарвардская, где существуют два памяти – для команд и данных, и принстонская, где только одна память и для команд и для данных (Фон-неймановские машины).

3. Слова информации хранятся в памяти в запоминающих ячейках и идентифицируются номерами (адресами). Номер ячейки есть ее адрес.

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

5. Решение задачи сводится к последовательному выполнению команд по программе.

Существуют машины, управляемые не командами, а данными, то есть данные определяют последовательность выполнения команд.

Представление данных в ЭВМ

Данные в ЭВМ бывают трех типов:

1. Числовые

2. Символьные

3. Логические

Числовые данные – это собственно числа.

Символьные данные – это различные символы или наборы символов, то есть буквы, цифры, знаки препинания, специальные символы, символы псевдографики и т.д.

Логические данные – это либо «Истина», либо «Ложь». Для хранения логического значения нужен только один бит, поскольку логическое значение – это всегда либо «1», либо «0». Теперь попробуем узнать какого размера должна быть ячейка памяти, чтобы в ней можно было хранить любой символ. В русском языке 33 строчных буквы, столько же заглавных, 10 цифр, 10 знаков пунктуации и 10 знаков препинания. Итого порядка 100 символов. Ближайшее большее число, являющееся степенью двойки – это число 128 (27). То есть в машине, основанной на двоичной системе счисления, для хранения любого символа нам нужно 7 бит. Если мы добавим специальные символы (символы псевдографики, знаки валют и т.д.), то нам понадобится уже 8 бит (1 байт).

Числа

Числа бывают двух типов:

 
  Принципы программного управления Фон Неймана - student2.ru

1. Целые

 
  Принципы программного управления Фон Неймана - student2.ru

2. Вещественные

Позиционные системы счисления

Перевод чисел из одной системы счисления в другую

В позиционной системе счисления любое число представляется следующей формулой:

A = a0*q0 + a1*q1 + a2*q2 + … + an*qn = a0 + q(a1 + q(a2 + … + q*an))

Где q – основание системы счисления.

Если число является правильной дробью, то его формула будет следующей:

B = b1*q-1 + b2q-2 + … + bkq-k = q-1(b1 + q-1(b2 + q-1(b3 + … + q-1*bk)))

В машинах числа представляются либо целыми числами, либо правильными дробями.

Число со знаком.

 
  Принципы программного управления Фон Неймана - student2.ru

Число со знаком представляется таким образом, как показано на рисунке. То есть первый бит числа показывает его знак. Если

число положительное, то первый бит равен нулю, если же число отрицательное, то первый бит равен единице. Для машины знак не существует, существует число целиком. То есть представление числа в виде «ЗНАК; МОДУЛЬ ЧИСЛА» - это не машинная форма представления числа. Также машина не может вычитать. Для того, чтобы вычитание все-таки было возможно, вводится такое понятие, как дополнение. Допустим, нам надо вычесть из числа А число В. Сначала вычисляем дополнение числа В. Для этого вычитаем число В из qn, где q – основание системы счисления, а n – порядок. На последнем шаге сложим А с дополнением В.

Пример 1

n=2

q=10

A=37

Принципы программного управления Фон Неймана - student2.ru B=25

A-B = A + (qn-B) = A + Доп(B) = 37 + (102-25) = 112

Пример 2

A=37

B=48

Доп(В)=52

37+52 = 89 = Доп(11)

Итак, дополнение вычисляется по следующим формулам:

(qn – B) – для целых чисел;

(q – B) – для дробных чисел.

Структура и форматы команд

Структура команды – это определение состава и назначения частей, из которых состоит команда. Команда содержит в себе наименование операций и адреса операндов.

 
  Принципы программного управления Фон Неймана - student2.ru

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

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

Существует такой параметр, как эффективность машины, который вычисляется по формуле: Э = c*T , где Э – эффективность, с – затраты на оборудование, T – время решения задачи. N – набор операций. M – машина. e – функциональная электроника. p – затраты на память. Эта характеристика не линейна. Примерный ее вид представлен на графике.

M1 M2 M3 …….. Mk

N1 Í N2 Í N3Í ….. ÍNk

e1 <= e2 <= e3 <= ….. <=ek

p1 >= p2 >= p3 >= …. >= pk

T1 >= T2 >= T3 >= …. >= Tk

 
  Принципы программного управления Фон Неймана - student2.ru

Типи машинных операций

Существует несколько типов машинных операций:

1. Арифметико-логические

2. Операции пересылки

3. Переходы управления

4. Операции ввода-вывода

5. Специальные операции (системные операции)

Рассмотрим команду на примере действия A:=B+C:

Принципы программного управления Фон Неймана - student2.ru

Ас – адрес результата

АB – адрес второго операнда

АА – адрес первого операнда

Асл.к. – адрес следующей команды

Операнды указаны всегда в порядке использования.

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

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

 
  Принципы программного управления Фон Неймана - student2.ru

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

 
  Принципы программного управления Фон Неймана - student2.ru

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

 
  Принципы программного управления Фон Неймана - student2.ru

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

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

Системы адресации

Существует четыре основных вида адресации:

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

2. Непосредственная. При этой адресации в теле команды находится сам операнд, а не его адрес.

3. Косвенная. В этом случае в команде указывается адрес ячейки, в которой хранится адрес операнда.

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

Сдвиг вправо двойного

слова

 
  Принципы программного управления Фон Неймана - student2.ru

сдвиг короткого слова осуществляется через перенос

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

Принципы программного управления Фон Неймана - student2.ru

Умножение чисел со знаком

Умножение чаще всего производится в допонительном коде

Принципы программного управления Фон Неймана - student2.ru

1. Перемножаем числа без знака

старший разряд числовой

переполнение перенос

2. Вещественные числа

Признак переноса не является признаком переполнения

V – признак арифметического переполнения (OVR)

V=1

Принципы программного управления Фон Неймана - student2.ru - управляемая инверсия

Принципы программного управления Фон Неймана - student2.ru модифицированный сдвиг

Модифицированный код – под знак отводотся 2 бита; при этом изменяется только младший знаковый разряд, старший остается правильным

B – отрицательное

P = A·Доп(B) = A·(2n – |B| ) = A·2n – A·B = A·2n + Доп(A·|B|)

Pбез bn-1 = A·2n – A·|B| – A·2n-1 = A·2n-1 + Доп(A·|B|) = A (зн. B)· 2n-1 + Доп(A·|B|)

Доп(A·|B|) = Pист = Рбез bn-1 – A·bn-1·2n-1

Умножаем на (n-1) младший разряд множителя с учетом знака множимого.

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

P = 0 + A·b0 + A·b1 + … + A·bn-1 + (– A·bn-1)

Деление

Деление – одна из многих обратных операций

Принципы программного управления Фон Неймана - student2.ru Принципы программного управления Фон Неймана - student2.ru

Делимое должно быть 2n разрядным; делитель и частное – n-разрядными

Р – делимое

А – делитель

В – частное

Любая обратная операция определяется методом подбора цифр

bn-1·A £ P

(bn-1 + 1)·A > P

bn-1 = 1

P – A ³ 0

P = P n-1 = P n-2 + pn-1

Произведение º Делимое

Частичные суммы º остатки (P i )

P n-2 = P n-1 – pn-1

Если остаток ³ 0, то bn-1 = 1,

иначе bn-1 = 0

bi – очередной разряд частного

1) алгоритм деления с восстановлением остатка

Восстанавливаем остаток, если лн меньше нуля

Если очередной остаток (P i – A)< 0, то восстанавливаем его, т.е. заменяем на P i

Пусть (P i – A) – текущий остаток от деления;

Если он отрицательный, то нужно вернуться к прежнему остатку, т.е.

P i – A + A = P i-1 – следующий остаток,

и осуществляется сдвиг делителя вправо – А/2

Принципы программного управления Фон Неймана - student2.ru P i-1 –A/2 = P i – A + A – A/2 = (P i – A) + A/2

отрицательный остаток

2) алгоритм деления без восстановления остатка

Если текущий остаток отрицательный, то при подборе следующей цифры прибавляется делитель, сдвинутый на один разряд вправо,

Принципы программного управления Фон Неймана - student2.ru P i-1 –A/2 = (P i – A) + A/2

отрицательный остаток

в очередной разряд частного записываем 0;

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

P i-1 –A/2 = (P i – A) – A/2

в очередной разряд частного записываем 1;

Если предыдущая цифра 1 – вычитаем делитель

0 – прибавляем делитель

Если хотим осуществить умножение быстрее, чем за n тактов, то существует 2 варианта:

1. Новые алгоритмы

2. Построение специализированных схем

Новые алгоритмы

Умножение 16-ти разрядных чисел

Умножаются за 16 тактов – в двоичной системе

за 8 тактов – в восьмеричной системе

Умножение с анализом двух разрядов

Вычисления в четверичной СС

0 00

1 01

2 10

3 100-001 (3=4-1)

Принципы программного управления Фон Неймана - student2.ru

Принципы программного управления Фон Неймана - student2.ru основной алгоритм Бута, не теряется знак

Принципы программного управления Фон Неймана - student2.ru упрощенный алгоритм Бута

qст – признак коррекции предидущего разряда

Рассмотрим один из способов умножения на два разряда множителя, начиная с его младших разрядов (упрощенный алгоритм Бута). В зависимости от результата анализа пары разрядов множителя предусматриваются следующие действия. При 00 производится простой сдвиг на два разряда вправо суммы частичных произведений. При 01 к сумме частичных произведений прибавляется одинарное множимое и сумма частичных произведений сдвигается на два разряда вправо. При 10 прибавляется удвоенное множимое и сумма частичных произведений сдвигается на 2 разряда вправо. При 11 из суммы частичных произведений вычитается одинарное множимое и сумма частичных произведений сдвигается на два разряда вправо. Тогда в первых трех случаях результат получается правильный, а в последнем – неправильный, он должен быть скорректирован на следующем шаге.

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

Это учитывается при обработке следующей пары разрядов. Если следующая пара 00, по она обрабатывается как 01, если 01, то как 10, если 10 то как 11, если 11, то как 00 и фиксируется необходимость коррекции при обработке следующей пары. Удвоенное множимое может быть получено его сдвигом. Признак необходимости коррекции может запоминаться в отдельном триггере коррекции.

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

Принципы программного управления Фон Неймана - student2.ru

Разобьем число на две части

Принципы программного управления Фон Неймана - student2.ru Принципы программного управления Фон Неймана - student2.ru A = A1 + A2 · 2n/2

Принципы программного управления Фон Неймана - student2.ru сдвиг вправо на n/2 разрядов

Принципы программного управления Фон Неймана - student2.ru

AB = (A1+A2·2n/2)·( B1+B2·2n/2) = A1·B1 + A1·B2·2n/2 + A2·B1·2n/2 + A2·B2·2n

Умножение двух чисел будем производить как в предыдущем случае

Например, умножаются два 8-ми разрядных числа

24 – возможное количество результатов операции умножения

24*4р = 256 ´ 8р будет занимать таблица результатов

Малорегистровая и многорегистровая структура автоматов. Варианты реализации аккумулятора.

Если n ³ 4 (n – число слов), то выгодно использовать РЗУ

Слова – известные программе или некоторые внутренние (собственные) слова алгоритма

Например, вспомним команду JSB (переход на подпрограмму) – под считанный адрес отводится внутренняя переменная

Принципы программного управления Фон Неймана - student2.ru

Микропрограммный аккумулятор – аккумулятор это одна из ячеек РЗУ, доступ к нему осуществляется как к одному из регистров; может быть обращение к аккумулятору по умолчанию

Рграсш вводится для ускорения операций умножения, деления

Регистры собираются в РЗУ

Микрокоманда – совокупность УС (управляющих сигналов), вырабатываемых за 1 такт.

Кодирование микроопераций

Микрооперация -?. Необходимо кодирование микроопераций.

Существует несколько вариантов кодирования микроопераций:

1. Принципы программного управления Фон Неймана - student2.ru Вертикальное

2. Горизонтальное

3. Смешанное

4. Косвенное (с нанопамятью)

Первый и второй вариант кодирования в чистом виде не встречается.

Вертикальное кодирование:

 
  Принципы программного управления Фон Неймана - student2.ru

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

Достоинство: небольшой размер закодированной микроопераций (№ mопер), а следовательно, и небольшие аппаратные затраты. Если количество микроопераций равно N, то размерность номера микрооперации равна n=log2N, т.к. N=2n .

Недостаток: выполняется всего одна микрооперация за такт – неэффективно, большие временные затраты.

Принципы программного управления Фон Неймана - student2.ru Горизонтальное кодирование:

В этом случае одна микрооперация может определить до k операций за такт, т.к. если микрооперация представляет собой двоичное слово длиной k, то единица в каком-нибудь i-м разряде означает выполнение некоторой i-й операции, а соответственно ноль - невыполнение.

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

Смешанное кодирование:

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

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

 
  Принципы программного управления Фон Неймана - student2.ru

Каждое поле управляет своим функциональным элементом.

Микрооперация - действие в одном функциональном элементе (поэтому несовместимы действия одной группы микроопераций).

Смешанное кодирование совмещает достоинства предыдущих способов:

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

- небольшие аппаратные затраты, т.к. длина микрокоманды меньше (равна не общему количеству микроопераций, а количество групп*[log2(Количество микроопераций в группе)] ) и не требуется дополнительных схем, т.к. необходимые дешифраторы уже есть в ОА и распараллеливаются только несовместимые микрооперации (не нужно стоить несколько сумматоров как при горизонтальном кодировании).

Косвенное кодирование с нанопамятью:

Нанопамять - малая память, которая хранит микрокоманды. Каждой микрокоманде соответствует свой номер в нанопамяти ( 0 … количество микрокоманд-1 ), которым она и кодируется. Т.о. при небольшой длине закодированной микрокоманды можно определить микрокоманду любой необходимой длины, т.е. возможно совмещение во времени любого числа микроопераций. Из затрат только введение небольшого ПЗУ.

 
  Принципы программного управления Фон Неймана - student2.ru

Реализация переходов

Циклы

Принципы программного управления Фон Неймана - student2.ru

Реализация циклов уже осуществлена в схеме ФАМ (стек адресов возврата).

Условные переходы

Условий, по которым может осуществляться переход, много. Их можно разделить на три группы:

1. Простые условия всего по одному признаку:

2. Составные условия – функция от нескольких признаков;

3. Многоразрядные условия. Например, код операции из машинной команды, способ адресации (~4 разряда);

Принципы программного управления Фон Неймана - student2.ru

Где MS выбора – мультиплексор выбора условия;

ВУ – выбор условия (из предыдущей mкоманды);

Схема 1 – схема формирования сложных условий;

УП – управление полярностью (из предыдущей mкоманды);

Схема формирования сложных условий осуществляет некоторую функцию от набора признаков из операционного автомата, т.о. реализуются такие условия, как ²³², ²=²,²£² и т.д.

При этом равно половина условий является отрицанием другого условия, например, ²<² = не ²³², ²¹² = не ²=², ²>² = не ²£², и т.д. поэтому схеме формирования сложных условий достаточно вычислять половину условий, а инверсные условия образуются с помощью сигнала УП и схемы сложения по модулю 2. Например, пусть нормальное условие вычисляется при УП=0, тогда, чтобы получить инверсное условие от нормального, зададим УП=1 и на выходе схемы будет отрицание (т.к. при УП=1, 1 Å 1 = 0, 0 Å 1 = 1 ).

Реализация оператора ²ключ² (Многоразрядные условия)

Как уже говорилось ранее (см. Формат команды) основной частью команды является код операции (КОП), он задает, что собственно должен делать ЦП по этой команде, при этом по КОП определяется всего лишь адрес соответствующей команде микропрограммы (см. Приложение 1). Т.о. КОП является всего лишь многоразрядным условием, которое анализируется с помощью оператора ²ключ².

Его можно реализовать следующим образом:

Принципы программного управления Фон Неймана - student2.ru

В данной схеме ключевое слово (КОП) подается на ПНА (получение начального адреса по ключевому слову), которая обычно реализуется в виде табличного ПЗУ (простое соответствие i-му КОП i-го адреса в МПП). MS – мультиплексора адреса перехода, выбирает адрес из ПНА, если осуществляется оператор ²ключ², иначе выбирается адрес, соответствующий текущему ТП (из адресной части mкоманды (БП, УП, подпрограмма), из РгАМК(ЕП), из стека).

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

Конвейер

Выполнение микрокоманды можно разбить на три этапа:

1. Формирование адреса mкоманды;

2. Чтение mкоманды из микропрограммной памяти (МПП);

3. Формирование условия в ОЧ (для формирования адреса следующей mкоманды);

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

       
  Принципы программного управления Фон Неймана - student2.ru
 
   
признаки

Т.о. мы имеем три раздельные группы операций, не совместимых во времени для одной и той же mкоманды (сначала вычисляется адрес mкоманды и только потом выполняется обращение по этому адресу в МПП, одновременно это происходить не может; и только после того, как mкоманда выбрана из МПП и известны такие ее поля, как: адресное поле, ВУ, ТП, УП и другие условия в ОЧ могут формироваться признаки). Поэтому можно реализовать не больше трех ступеней конвейера, чтобы их реализовать необходимо ввести регистры-фиксаторы: после 1-го этапа (схемы ФАМ) находится адрес mкоманды в МПП, т.е. необходим регистр адреса mкоманды (РгАМК), после 2-го этапа из МПП читается mкоманда – регистр mкоманды (РгМК) и после 3-го этапа в ОЧ образуются признаки – регистр признаков (Рг пр.).

 
  Принципы программного управления Фон Неймана - student2.ru

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

Сх ФАМ 1 mк   2 mк    
МПП   1 mк   2 mк    
ОЧ   1 mк   2 mк
Сх ФАМ 1 mк 2 mк 3 mк 4 mк    
МПП   1 mк 2 mк 3 mк 4 mк    
ОЧ   1 mк 2 mк 3 mк 4 mк
Принципы программного управления Фон Неймана - student2.ru
Без конвейера
3-хступенчатый конвейер

 
  Принципы программного управления Фон Неймана - student2.ru

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

Рассмотрим конкретный пример: адрес 3-й mкоманды определяется схемой ФАМ в то время, когда происходит выборка из МПП 2-й mкоманды и выполнение в ОЧ 1-й mкоманды. При этом 2-я mкоманда формирует признаки для выполнения 3-й mкоманды, используя признаки от 1-й mкоманды для получения 4-й mкоманды и адреса 5-й mкоманды.

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

Простейшая машина

1. Выборка команды (как минимум инструкции); счетчик должен увеличиваться

2. Дешифрация команды – определить, что она делает

3. Вычисление адреса первого операнда

4. Выборка первого операнда

5. Вычисление адреса второго операнда

6. Выборка второго операнда

7. Выполнение операций

8. Запись результата

9. Завершающие операции

переход на пункт 1

Пункты 1, 2, 9 как правило выполняются с любой командой

Операционный автомат

1) слова, число слов, их функции и использование

2) операции (арифметико-логические à АЛУ, MS-сдвигатель)

Операционный автомат

1. Инструкция (команда)

2. Счетчик команд (РС)

3. Операнд 1

4. Операнд 2, результат

5. Указатель стека

6. Внутренний буферный регистр адреса

7. Регистр признаков (состояний) (PS)

8. Рг МК

9. Входное слово

10. Выходное слово (2 типа: адрес, данные)

Простейшие машины обязаны иметь РЗУ хотя бы для внутренних слов.

РЗУ – добавляем программно доступные адресуемые регистры – РОНы

№ регистра указывается либо в команде, либо и микрокоманде

В программе должно быть КОП, СА, № Рг

Простейшая универсальная машина

2 разряда определяют формат операнда

Квадрослово – другой формат команды

УА с программируемой логикой

Принципы программного управления Фон Неймана - student2.ru

 
  Принципы программного управления Фон Неймана - student2.ru

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

ПНА КОП – получение начального адреса по коду операции

УСА – управление следующим адресом

ТП – тип перехода

ВУ – выбор условия

ИС – интерфейсные сигналы

Принципы программного управления Фон Неймана - student2.ru

 
  Принципы программного управления Фон Неймана - student2.ru

Рг признаков

Говорим о признаках программно известных и программно неизвестных, но нужных в ходе выполнения алгоритмов

внутренние признаки

системные признаки

Схема управления сдвигами – набор мультиплексоров

Системы памяти

Памятью ЭВМ называется совокупность устройств, для запоминания, хранение и выдачи информации. Отдельные устройства, входящие в эту совокупность называют запоминающими устройствами (ЗУ) или памятью того или иного типа.

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

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

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

ЗУ с линейной выборкой

ЗУ типа 2D (от английского dimention - размерность)

Организация ЗУ типа 2D обеспечивает двухкоординатную выборку каждого запоминающего элемента ячейки памяти. Основу ЗУ составляет плоская матрица из запоминающих элементов, сгруппированных в 2kячеек по n разрядов. Обращение к ячейке задается k-разрядным адресом, выделение разрядов производится разрядными линиями записи и считывания. ЗУ типа 2D являются быстродействующими и достаточно удобными для реализации. Однако они неэкономичны по объему оборудования из-за наличия в них дешифратора с 2k выходами. В настоящее время структура типа 2D используется в основном в ЗУ небольшой емкости

Типы выборки

1. Линейная выборка

Принципы программного управления Фон Неймана - student2.ru ЗУ с линейной выборкой

2. Координатная выборка

Принципы программного управления Фон Неймана - student2.ru

       
  Принципы программного управления Фон Неймана - student2.ru
 
    Принципы программного управления Фон Неймана - student2.ru

ЗУ с координатной выборкой

Системы с регенерацией данных (на сердечнике)

Память с линейной выборкой всегда быстрее, чем память с координатной выборкой.

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

RAS – сигнал, по которому данные записываются во внутренний регистр

CAS – общий синхросигнал

Примеры логических адресов

Прямой адрес

Афиз = Алог (16 разрядов), тогда объем памяти равен 64Кб

Адрес физический – адрес в ОЗУ

2. Адрес логический меньше адреса физического (расширенная память)

Афиз < Алог

 
  Принципы программного управления Фон Неймана - student2.ru

Преобразование короткого логического адреса к длинному физическому

3. Адрес логический больше адреса физического

Афиз > Алог

 
  Принципы программного управления Фон Неймана - student2.ru

Метод банков

Логическое адресное пространство объявляется модулем (банком) памяти

Принципы программного управления Фон Неймана - student2.ru

Метод сегментов

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

Определяем несколько адресных пространств, каждое из которых определяется некоторыми признаками

 
  Принципы программного управления Фон Неймана - student2.ru

Метод окна

Принципы программного управления Фон Неймана - student2.ru

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

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

Распределение памяти методом окна:

       
  Принципы программного управления Фон Неймана - student2.ru
 
    Принципы программного управления Фон Неймана - student2.ru

последняя зона адресов объявляется окном; Алог > k

Схема формирования длинного физического адреса из короткого логического

 
  Принципы программного управления Фон Неймана - student2.ru

Использование метода сегментов без участия ЦП невозможно

При использовании метода окна схема может находиться за пределами ЦП

Отметим основные особенности метода окна.

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

Во-вторых, если ЦВМ имеет принстонскую архитектуру, то изменение содержимого регистра старших разрядов адреса расширяемой памяти выпо

Наши рекомендации