Учебное пособие. Для проведения практических занятий, лабораторных работ, выполнения курсовых и расчётно-графических работ по курсам

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

«Организация ЭВМ и ВС»,

«Архитектура ЭВМ и ВС»

Москва, 2015

Системы счисления, используемые в ЭВМ.

Системой счисления называется способ представления чисел посредством алфавита символов. Разделяются на позиционные и непозиционные системы счисления.

В ЭВМ используются позиционные системы счисления.

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

В примерах рассматриваются следующие системы счисления:

0, 1, 2, 3, …, 9 – десятичная система счисления

0, 1, 2, 3, 4, 5, 6, 7 – восьмеричная система счисления

0, 1 – двоичная система счисления

0, 1, 2, 3, …,9,А, В, С, D, E, F - шестнадцатеричная система счисления

В ЭВМ используются двоичная, восьмеричная, шестнадцатеричная системы счисления.

Пример. Сложение в двоичной системе

+101011

000111

Таблица соответствия:

Таблица 1

q=10                                
q=2                                
q=16                     A B C D E F

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

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

Число в позиционной системе счисления представляется в виде полинома:

X=XnXn-1...X1X0, X-1...Xm= Хnqn + Xn-1 qn-1+...+ X1q1 + X0q0 + X-1q-1 +...+ X-mq-m

где n + 1 - число цифр в целой части числа,

m – число цифр в дробной части числа.

Пример:

Число 235,87 в десятичной системе счисления записывается в виде:

2*102 + 3*101 + 5*100 + 8*10-1 + 7*10-2

Правила перевода чисел из двоичной (шестнадцатеричной) системы счисления в десятичную систему счисления.

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

Пример: перевести число 11000, выраженное в двоичной системе счисления, в десятичную систему счисления:

(11000)2 – (?)10

43 21 0

(11000)2 = 1*24 + 1*23 + 0*22 + 0*21 + 0*20 = 16 + 8 = (24)10

Пример: перевести число 18, выраженное в шестнадцатеричной системе счисления, в десятичную систему счисления

(18)16 = (?)10

1 0

(18)16 = 1*161 + 8*160 = (24)10

Правила перевода чисел из десятичной системы счисления в двоичную (шестнадцатеричную) систему счисления.

Существуют разные правила для перевода целых и дробных чисел.

Правила перевода целых чисел.

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

Пример: перевести целое число 24 из десятичной системы счисления в двоичную систему счисления.

(24)10 – (?)2

24 2

24 12 2 Таким образом получается число: (11000 )2.

0 12 6 2

0 6 3 2

0 2 1

Пример: перевести целое число 24 из десятичной системы счисления в шестнадцатеричную систему счисления. (24)10 –(?)16

24 16

16 1 Получается число (18)16.

Правила перевода дробной части числа.

Если дробь неправильная – целая и дробная часть переводится по своим правилам.

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

Цифры в новой системе счисления соответствуют целым частям произведения в порядке их получения.

Пример: перевести правильную дробь 0, 35 из десятичной системы счисления в двоичную систему счисления. (0,35)10 –(?)2

0,35*2= 0,7; 0,7*2= 1,4; 0,4*2= 0,8; 0,8*2= 1,6; 0,6*2= 1,2; 0,2*2= 0,4;…

Таким образом, получается число (0,010110…) 2

Пример: перевести правильную дробь 0, 35 из десятичной системы счисления в шестнадцатеричную систему счисления. (0.35)10 – (?)16

0.35 0.6 0.6

* 16 *16 *16

5. 6 9. 6 9. 6

Получается число (0,59…9)16

Правила перевода из двоичной системы счисления в шестнадцатеричную систему счисления.

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

Пример: перевести число 11000, 01011 из двоичной системы в шестнадцатеричную систему счисления

(00011000,01011000)2 – (?)16

1 8, 5 8

Получается число (18,58)16

Правила перевода из шестнадцатеричной системы счисления в двоичную систему счисления.

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

Пример: перевести число 18,59 из шестнадцатеричной системы счисления в двоичную систему счисления.

(18,59)16 – (?)2

1 8, 5 9

0001 1000, 0101 1001

Получается число ( 11000,01011001)2.

Задание 1.

Перевести число А из десятичной системы счисления в двоичную и шестнадцатеричную систему счисления.

Полученные числа перевести в десятичную систему счисления.

Перевести число А из двоичной системы счисления в шестнадцатеричную систему счисления. И обратно, из шестнадцатеричной системы счисления в двоичную систему счисления.

Перевести число В из десятичной системы счисления в двоичную систему счисления. И обратно, из двоичной системы счисления в десятичную систему счисления. Числа А и В приведены в таблице 2.

Таблица 2.

Номер варианта А В
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

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

Прямой код числа.

       
   
 
 

Прямым кодом целого числа x является число, образованное по формуле:

где n-1 – число значащих разрядов в числе

       
   
 
 

Для дробного числа:

В дальнейшем, для наглядности, знаковый разряд отделяется точкой:

0. 101

Знаковый разряд Значащие разряды

1. 101

Обратный код числа.

       
   
 
 

Обратным кодом целого числа x является число, образованное по формуле:

       
   
 
 

Д ля дробного числа:

       
   
 
 

Xi это дополнение до основания системы счисления.

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

Пример:

0.101 +5 прямой код

1.010 -5 обратный код

Примечание: Для положительных чисел прямой и обратный код совпадают.

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

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

Если возникает единица переноса из знакового разряда, то она подсуммируется к младшему разряду.

Если знаковый разряд суммы равняется “0”, то это означает, что результат положительный и представлен в прямом коде.

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

Пример:

А=5, В=4

0.0101 +5 прямой код 0.0100 +4 прямой код

1.1010 -5 обратный код 1.1011 -4 обратный код

А+В

+
0.0101 +5 прямой код

0.0100 +4 прямой код

 
 

0.1001 +9 прямой код

А-В

+
0.0101 +5 прямой код

 
 

1.1011 -4 обратный код

1 0.0000

+1

0.0001 прямой код

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

В-А

+
0.0100 +4 прямой код

1.1010 -5 обратный код

1.1110

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

1.0001 прямой код

Дополнительный код числа

 
 

Дополнительным кодом целого числа x является число, образованное по формуле:

       
   
 
 

Д ля дробного числа:

       
   
 
 

Положительное число в прямом и дополнительном коде совпадают.

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

Пример:

А=5, В=4

+
+
1.1010 -5 обратный код 1.1011 -4 обратный код

1 1

1.1011 -5 дополнительный код 1.1100 -4 дополнительный код

Действия с использованием дополнительного кода

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

При возникновении единицы переноса из знакового разряда, эта единица отбрасывается в отличие от обратного кода.

Пример:

А-В

+
1.1100 -4 дополнительный код

0.0101 +5 прямой код

0.0001 +1 прямой код

Если образовался “0” в знаковом разряде, то число получилось положительным и представлено в прямом коде, а если “1”, то это число отрицательное и представлено в дополнительном коде.

Пример:

В-А

+
0.0100 +4 прямой код

1.1011 -5 дополнительный код

1.1111

Знаковый разряд результата равен 1. Из этого следует, что результат получился отрицательным и представлен в дополнительном коде. Прямой код результата равен:

+
1.0000

1

1.0001 -1 прямой код

Переполнение разрядной сетки.

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

Признаки переполнения разрядной сетки ЭВМ.

1) По наличию и отсутствию переноса в знаковый и из знакового разряда

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

Пример:

А=5, В=4

0.101 +5 прямой код 0.100 +4 прямой код

1.010 -5 обратный код 1.011 -4 обратный код

А+В

1

+
+
0.101 +5 прямой код

0.100 +4 прямой код

1.001 переполнение!!!

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

-А-В

1

+
1.010 -5 обратный код

1.011 -4 обратный код

0.101 переполнение!!!

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

2)Модифицированное кодирование.

Модифицированным кодом называется код, в котором под знак числа отводится два или более разрядов.

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

Пример:

А+В

+
00.101 +5 прямой модифицированный код

00.100 +4 прямой модифицированный код

01.001 переполнение!!!

Комбинация 01 в знаковом разряде соответствует переполнению разрядной сетки.

(-А)+(-В)

+
11.010 -5 обратный модифицированный код

11.011 -4 обратный модифицированный код

10.101 переполнение!!!

Комбинация 10 в знаковом разряде соответствует переполнению разрядной сетки.

Пример для дополнительного модифицированного кода:

А-В

+
00.101 +5 прямой модифицированный код

11.100 -4 дополнительный модифицированный код

00.001 +1 прямой код

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

В-А

+
00.100 +4 прямой модифицированный код

11.011 -5 дополнительный модифицированный код

11.111

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

+
111.000

1

11.001 -1 прямой код

(-А)+(-В)

+
11.011 -5 дополнительный модифицированный код

11.100 - 4 дополнительный модифицированный код

10.111 переполнение!!!

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

Задание 2.

Вычислить в обратном модифицированном коде А-В; В-А

Вычислить с использованием дополнительного модифицированного кода А-В;В-А.

Вычислить А+В с помощью:

а) модифицированного кодирования,

б) определить переполнение разрядной сетки ЭВМ по наличию и отсутствию переноса в знаковый и из знакового разряда соответственно.

Число значащих разрядов в числе равно 5. Числа А и В приведены в таблице 1(см. задание 1).

Формы представления чисел в ЭВМ.

Формат представления чисел с фиксированной точкой.

np

   

Знак (n-1)p- значащие разряды числа

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

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

Замечание. Отрицательные числа с фиксированной точкой хранятся в памяти в обратном или в дополнительном коде.

Формат чисел с плавающей точкой.

Х= ± Мх*q ± px

Где Мх – мантисса числа,

q - основание системы счисления,

p - порядок

Мантисса - это нормализованная правильная дробь.

       

Знак знак Pх мх- мантисса числа

числа порядка порядок числа

Рсм = Рх + 2L – смещенный порядок,

где L- количество разрядов, отводимое под порядок.

Примеры представления чисел в форме с плавающей точкой. Длина разрядной сетки n принимается равной 32 разряда, под смещенный порядок отводится 7 разрядов.

Пример:Число (24,35)10 представить в форме с плавающей точкой.

(24,35)10 – (18,59…9)16 Px =2

Рсм = (42)16 = (66)10

  100 0010 0001 1000 0101 1001 1001 1001

Знак 4 2 1 8 5 9 9 9

числа

Пример:Число (38,0)10 представить в форме с плавающей точкой.

(38,0)10 – (26,0)16 Px =2

Рсм = (42)16 = (66)10

  100 0010 0010 0110 0000 0000 0000 0000

Знак 4 2 2 6

числа

Пример:Число (0,38)10 представить в форме с плавающей точкой.

(0,38)10 – (0,6С…С)16 Px =0

Рсм = Px + 2L = 0+64 = (64)10= (40)16

  100 0000 0110 1100 1100 1100 1100 1100

Знак 4 0 6 C C C C C

числа

Задание 3.

Число А представить в формате с фиксированной точкой. Разрядная сетка равна 16 разрядам.

Представить число в формате с плавающей точкой. Разрядная сетка равна 32 разряда, 7 разрядов – смещенный порядок, 24 разряда – мантисса числа. Числа А и В приведены в таблице 2 (см. задание 1)

а) А,0

б) 0,А

в) А,В

г)-А,В


Организация центрального процессора.

Центральный процессор (ЦП) – это устройство предназначается для непосредственной обработки данных и работает под управлением программ.

Основные узлы центрального процессора.

1) Арифметико логическое устройство (АЛУ). Предназначается для выполнения арифметических и логических операций над данными.

В АЛУ выполняются операции с фиксированной точкой; с плавающей точкой; операции двоично – десятичной арифметики, логические операции, обработка алфавитно-цифровой информации.

2) Устройство управления (УУ) – предназначается для выработки управляющих сигналов, под воздействие которых выполняются машинные команды.

Основные этапы выполнения машинной команды.

1 этап: выбор машинной команды из памяти

2 этап: дешифрация кода операции

3 этап: формирование исполнительного адреса и выбор операндов

4 этап: непосредственное выполнение операции в АЛУ

5 этап: запись результата

3)Регистры общего назначения (РОНы).

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

4) Управляющие регистры

Счётчик команд (СчК) – хранит адрес следующей выполняемой команды.

Регистр команд (РК) – хранит текущую выполняемую команду.

5) Вспомогательные блоки – к ним относится блок прерывания; блок связи центрального процессора (ЦП) и оперативной памяти (ОП),блок контроля и диагностики и т.д.

Организация операционной части центрального процессора.

Команды ЭВМ.

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

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

Различаются следующие команды:

4-х адресная,

3-х адресная,

2-х адресная,

одноадресная

и безадресная команды.

4-х адресные команды.

 
 


операционная адресная

часть часть

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

Поле А2 – адрес второго операнда

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

Поле А4 – адрес следующей выполняемой команды

Микропрограмма и структурная схема операционной части ЦП при выполнении 4-х адресной команды.

Пусть А1-адрес ячейки оперативной памяти, где хранится первый операнд;

А2- адрес ячейки оперативной памяти, где хранится второй операнд;

А3- адрес ячейки оперативной памяти, по которому необходимо записать результат;

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

Рис. 1.

ЗМ – запоминающий массив

РАП – регистр адреса памяти

РЧП – регистр числа памяти

РК – регистр команд

АЛУ - арифметико логическое устройство

Р1, Р2-входные регистры АЛУ, предназначаются для хранения операндов

РС - выходной регистр, предназначается для хранения результата выполненной операции в АЛУ

1 этап. Выбирается команда из памяти

РАП:=РК(А4)

Адрес следующей выполняемой команды подается в память на регистр адреса памяти (РАП)

РЧП:=Чт(РАП), (в результате выполнения микрооперации на РЧП содержится сама команда)

Это непосредственный выбор самой команды из ЗМ

РК:=РЧП

Пересылается команда из памяти в ЦП на РК.

2 этап. Дешифрация кода операции.

3 этап. Формируется исполнительный адрес и выбираются операнды.

Выбор 1-го операнда
РАП:=РК(А1)

Адрес первого операнда подаётся в ОП на РАП

РЧП:=Чт(РАП)

Чтение из ЗМ на РЧП первого операнда.

Р1:=РЧП

Первый операнд подаётся на входной регистр АЛУ.

Выбор 2-го операнда
РАП:=РК(А2)

Адрес второго операнда подаётся в ОП на РАП

РЧП:=Чт(РАП)

Чтение из ЗМ на РЧП второго операнда.

Р2:=РЧП

Второй операнд подаётся на входной регистр АЛУ.

4 этап. Выполняются операции в АЛУ

РС:=Р1 операция Р2

5 этап. Записываются результаты

РАП:=РК(А3)

Адрес, по которому необходимо записать результат, подается в ОП на РАП

РЧП:=РС

Результат подается в ОП на РЧП

Зп(РАП):=РЧП

Результат записывается в ЗМ

3-х адресные команды.

операционная адресная

часть часть

В 3-х адресной команде отсутствует А4. При использовании 3-х адресной команды добавляется дополнительное устройство – счётчик команд и дополнительно появляются команды перехода.

Микропрограмма и структурная схема операционной части ЦП при выполнении 3-х адресной команды.

Рис. 2.

СчК – счётчик команд, хранит адрес следующей команды

1 этап. РАП:=СчК

РЧП:=Чт(РАП)

РК:=РЧП

СчК:=СчК + n {n-длинна команды}

Этапы 2,3,4,5 см. 4-х адресные команды

2-х адресные команды.

операционная адресная

часть часть

Поле А3 – отсутствует. Результат записывается на место 1-го или 2-го операнда.

При этом операнд затирается и если его необходимо использовать в дальнейшем, он предварительно должен быть сохранён.

Одноадресные команды.

операционная адресная

часть часть

Есть только поле А1

В структуру ЦП вводится дополнительный регистр аккумулятор (РА), на который предварительно дополнительной командой засылается второй операнд.

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

Безадресные команды.


Рис. 3

Имеется только поле кода операции.

Стек используется для хранения операндов и записи результата.

Способы адресации.

Различают понятия: адресный код в команде и исполнительный адрес операнда.

Адресный код в команде - это информация об адресе

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

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

Рис. 4

Выбор операнда
В адресном поле команды Ai задаётся исполнительный адрес операнда

РАП:=РК(Аi)

РЧП:=Чт(РАП)

Р1:=РЧП

Р1-входной регистр АЛУ

2)Непосредственная адресация

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

Рис. 5

Р1:=РК(Ai)

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

В адресном поле команды задается адрес ячейки оперативной памяти (ОП), в которой хранится адрес операнда. Иначе, эта адресация называется адрес адреса.

Рис. 6

РАП:=РК(Ai)

РЧП:=Чт(РАП) – выбор адреса операнда из ЗМ

РАП:=РЧП

РЧП:=Чт(РАП) – выбор операнда из ЗМ

Р1:=РЧП

4)Регистровая адресация

В структуру ЦП дополнительно вводятся регистры общего назначения (РОНы)

Они вводятся для того, чтобы:

1.Сократить время выбора операндов по сравнению с ОП

2.Сократить размер поля Ai для кодирования номера РОНа

Микропрограмма и структурная схема операционной части ЦП при выполнении двухадресной команды формата регистр-регистр.

При использовании регистровой адресации в адресном поле команд Аi задается номер регистра, где хранится операция.

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

Рис. 7

РК - регистр команд - предназначается для хранения текущей выполняемой команды

1 этап. Выбор команды из памяти

РАП:=СчК (адрес следующей команды подается на РАП)

РЧП:=Чт(РАП) (выбор команды из ЗМ)

РК:=РЧП (машинная команда из памяти передается на РК в ЦП)

СчК:=СчК+n (n-длина выполняемой машинной команды в байтах)

2 этап. Дешифрация кода операции.

3 этап. Формирование исполнительного адреса и выбор операндов.

Выбор 1-го операнда
Операнды находятся в РОНах.

РАРП:=РК(R1) (на РАРП из РК подаётся номер регистра,где хранится 1-ый операнд)

РЧРП:=Чт(РАРП) (выбор первого операнда из РОНов)

Р1:=РЧРП (пересылка первого операнда на входной регистр АЛУ)

Выбор 2-го операнда
РАРП:=РК(R2) (на РАРП из РК подаётся номер регистра,где хранится 2-ой операнд)

РЧРП:=Чт(РАРП) (выбор второго операнда из РОНов)

Р2:=РЧРП (пересылка второго операнда на входной регистр АЛУ)

4 этап. Выполнение операции в АЛУ

РС:=Р1 операция Р2

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

РАРП:=РК(R1)

РЧРП:=РС

Зп(РАРП):=РЧРП

5)Базовая адресация

Di – смещение

Исполнительный адрес [ИА] - в адресном поле явно не задан

Bi – номер базового регистра

ИА=(Bi) + Di

(Вi)- база (содержимое базового регистра)

Рис. 8

Базовая адресация – обеспечивает перемещаемость программ в памяти.

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

6)Индексная адресация

Xi – номер индексного регистра

ИА=(Xi) + Di


(Xi)-индекс (содержимое индексного регистра)

Рис. 9

Индексная адресация - используется при работе с массивами, таблицами.

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

7)Базово – индексная адресация

ИА = (Xi) + (Bi) + Di

(Xi) – индекс (содержимое индексного регистра)

(Bi) – база (содержимое базового регистра)

Di – смещение выбирается из команды и подаётся на АЛУ

Рис. 10

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

1-ый операнд: регистровая адресация

2-ой операнд: базово - индексная адресация


Рис. 11

1 этап. Выбор команды из памяти

РАП:=СчК

РЧП:=Чт(РАП)

РК:=РЧП

СчК:=СчК + n

2 этап. Дешифрация кода операции.

3 этап. Формирование ИА и выбор операндов

а) формирование ИА и выбор 2-го операнда

выбор индекса

Выбор индекса X2
РАРП:=РК(Х2) – номер индексного регистра подаётся в РОНы

РЧРП:=Чт(РАРП) – выбор индекса

Р1:=РЧРП

выбор базы

Выбор базы B2
РАРП:=РК(В2) – номер базового регистра подаётся в РОНы

РЧРП:=Чт(РАРП) – выбор базы

Р2:=РЧРП

РС=Р1 + Р2 - ((Х2) + (В2))

Р1:=РС - на Р1 пересылается часть ИА

Р2:=РК(D2) - выбор смещения

РС= Р1 + Р2 - вычисление ИА

выбор 2-го операнда:

РАП:=РС - ИА подаётся на РАП

РЧП:=Чт(РАП) - выбор 2-го операнда

Р1:=РЧП

б)выбор 1-го операнда:

РАРП:=РК(R1)

РЧРП:=Чт(РАРП)

Р2:=РЧРП

4 этап. Выполнение операции в АЛУ

РС:=РС Р2

5 этап. Запись результатов

РЧРП:=РС

Зп(РАРП):=РЧРП

8)Косвенно – регистровая адресация

 
 

В адресном поле команды указывается номер РОНа, который содержит адрес операнда, хранящийся в ОП (оперативной памяти).

Рис. 12

РАРП:=РК(R1)

РЧРП:=Чт(РАРП) - выбор адреса операнда из РОНов

РАП:=РЧРП

РЧП:=Чт(РАП) - выбор операнда из ОП

Р1:=РЧП

Если нужно записать результат на место операнда с косвенно – регистровой адресацией, то результат записывается в ОП, а не в РОНы.

Задание 4.

Составить микропрограмму функционирования центрального процессора при выполнении 2-х адресной команды. Использовать способы адресации согласно заданию.

Начертить структурную схему центрального процессора.

Таблица 3.

п/п 1ый операнд 2ой операнд Результат
  Регистровая Прямая 1ый операнд
  Регистровая Косвенная 1ый операнд
  Регистровая Косвенно-регистровая 1ый операнд
  Регистровая Базовая 1ый операнд
  Прямая Регистровая 1ый операнд
  Прямая Косвенная 1ый операнд
  Прямая Косвенно-регистровая 1ый операнд
  Прямая Базовая 1ый операнд
  Косвенная Регистровая 1ый операнд
  Косвенная Косвенно-регистровая 1ый операнд
  Косвенная Базовая 1ый операнд
  Косвенная Непосредственная 1ый операнд
  Косвенная Прямая 1ый операнд
  Косвенно-регистровая Регистровая 1ый операнд
  Косвенно-регистровая Прямая 1ый операнд
  Косвенно-регистровая Косвенная 1ый операнд
  Косвенно-регистровая Индексная 1ый операнд
  Базовая Регистровая 1ый операнд
  Базовая Прямая 1ый операнд
  Базовая Косвенная 1ый операнд
  Базовая Косвенно-регистровая 1ый операнд
  Базовая Непосредственная 1ый операнд
  Прямая Регистровая 2ой операнд
  Косвенная Регистровая 2ой операнд
  Косвенно-регистровая Регистровая 2ой операнд
  Индексная Регистровая 2ой операнд
  Регистровая Прямая 2ой операнд
  Косвенная Прямая 2ой операнд
  Косвенно-регистровая Прямая 2ой операнд
  Базовая Прямая 2ой операнд
  Регистровая Косвенная 2ой операнд
  Косвенно-регистровая Косвенная 2ой операнд
  Базовая Косвенная 2ой операнд
  Прямая Косвенная 2ой операнд
  Непосредственная Косвенно-регистровая 2ой операнд
  Регистровая Косвенно-регистровая 2ой операнд
  Прямая Косвенно-регистровая 2ой операнд
  Косвенная Косвенно-регистровая 2ой операнд
  Индексная Косвенно-регистровая 2ой операнд
  Регистровая Базовая 2ой операнд
  Прямая Базовая 2ой операнд
  Косвенная Базовая 2ой операнд
  Косвенно-регистровая Базовая 2ой операнд
  Непосредственная Базовая 2ой операнд
  Прямая Регистровая 1ый операнд
  Непосредственная Косвенно-регистровая 2ой операнд

Организация устройства управления.

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

· операционную часть (операционное устройство);

· управляющую часть (устройство управления).

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

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

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

· микропрограммная реализация УУ;

· аппаратная реализация УУ (схемная реализация или УУ с жёсткой логикой).

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

Схема Уилкса.


Рис. 13

РАМК - регистр адреса микрокоманд;

РМК - регистр микрокоманд;

Дш – дешифратор;

Тр.z – триггер задержки.

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

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

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

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

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

ОП

Чт.
ЗМ
Р Ч П
Р А П

       
   


V1
РК

V4
V3
V9

           
   
     
 
+n
 
 


КОП
R2
R1
СчК

                   
   
РК
 
     
Р1
 
Р2
     
 
 
 


Дш


Рис. 14

РАРП – регистр адреса регистровой памяти

РЧРП – регистр числа регистровой памяти

1 этап. Выбор команды из памяти.

V1 РАП:=СчК (адрес следующей команды подается на РАП)

V2 РЧП:=Чт(РАП) (выбор команды из ЗМ)

V3 РК:=РЧП (машинная команда из памяти передается на РК в ЦП)

V4 СчК:=СчК+n (n-длина выполняемой машинной команды в байтах)

2 этап. Дешифрация кода операции.

3 этап. Формирование исполнительного адреса и выбор операндов.

Выбор 1-го операнда
Операнды находятся в РОНах.

V5 РАРП:=РК(R1) (на РАРП из РК подаётся номер регистра, где хранится 1-ый операнд)

V6 РЧРП:=Чт(РАРП) (выбор первого операнда из РОНов)

V7 Р1:=РЧРП (пересылка первого операнда на входной регистр АЛУ)

V8

Выбор 2-го операнда
РАРП:=РК(R2) (на РАРП из РК подаётся номер регистра, где хранится 2-ой операнд)

V6 РЧРП:=Чт(РАРП) (выбор второго операнда из РОНов)

V9 Р2:=РЧРП (пересылка второго операнда на входной регистр АЛУ)

4 этап. Выполнение операции в АЛУ.

V10 РС:=Р1 операция Р2

5 этап. Запись результатов.

V5 РАРП:=РК(R1) (адрес 1-го операнда, по которому будет записан результат, подаётся в РАРП)

V11 РЧРП:=РС (пересылка результата в регистр РЧРП)

V12 Зп(РАРП):=РЧРП (запись результата в R1)

Отметим, что 4 этап представлен условно 1 микрооперацией. При рассмотрении функционирования АЛУ 4 этап заменяется микропрограммой.

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

После совмещения микроопераций:

1 этап. Выбор команды из памяти.

V1 РАП:=СчК

V2 РЧП:=Чт(РАП)

V3, V4 РК:=РЧП, СчК:=СчК+n

2 этап. Дешифрация кода операции.

3 этап. Формирование исполнительного адреса и выбор операндов.

V5 РАРП:=РК(R1)

V6 РЧРП:=Чт(РАРП)

V7, V8 Р1:=РЧРП, РАРП:=РК(R2)

V6 РЧРП:=Чт(РАРП)

V9 Р2:=РЧРП

4 этап.Выполнение операции в АЛУ.

V10 РС:=Р1 операция Р2

5 этап. Запись результатов.

V5, V11 РАРП:=РК(R1), РЧРП:=РС

V12 Зп(РАРП):=РЧРП

Задание 5.

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

центрального процессора, в соответствии с заданием 4.

Использовать горизонтальный и вертикальный подход для реализации

микропрограммного устройства управления.

Горизонтальный подход к реализации микропрограммного устройства

управления.

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

Достоинство:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: