Байт масштаба , индекса и базы



Байт масштаба, индекса и базы(Scale-Index-Base — sib) используется для расши­рения возможностей адресации операндов. На наличие байта sib в машинной ко­манде указывает сочетание одного из значений 01 или 10 поля mod и значения поля r/m = 100. Байт sib состоит из трех элементов (табл. 3.10).

В поле масштаба (ss) размещается масштабный множитель для индексного компонента index, занимающего следующие три бита байта sib. В поле ss может содержаться значение 1, 2, 4 или 8. При вычислении эффективного адреса на это значение будет умножаться содержимое индексного регистра. Поле index позволяет хранить номер индексного регистра, содержимое которо­го применяется для вычисления эффективного адреса операнда.

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

Таблица 3.10. Значения байта sib (32-разрядная адресация)

                            \

г32

ЕАХ

ЕСХ

EDX

ЕВХ

ESP

*

ESI

EDI

База (base)

000

001

010

011

100

1011

110

111
Масштабирование индексного регистра

Масштабный множитель

( SS )

Индекс (index)

Шестнадцатеричные значения sib

[ЕАХ]

00

000

00

01

02

03

04

05

06

07
[ЕСХ]

00

001

08

09

ОС

0D

0F
[EDX]

00

010

10

11

12

13

14

15

16

17
[ЕВХ]

00

011

18

19

ID

IE

IF

00

100

20

21

22

23

24

25

26

27
[ЕВР]

00

101

28

29

2D

2Е'

2F
[ESI]

00

110

30

31

32

33

34

35

36

37
[EDI]

00

111

38

39

ЗА

ЗВ

ЗС

3D

ЗЕ

3F
[ЕАХ*2]

01

000

40

41

42

43

44

45

46

47
[ЕСХ*2]

01

001

48

49

4D

4F
[EDX*2]

01

010

50

51

52

53

54

55

56

57
[ЕВХ*2]

01

ОН

58

59

5D

5F

01

100

60

61

62

63

64

65

66

67
[ЕВР*2]

01

101

68

69

6D

6F
[ESI*2]

01

110

70

71

72

73

74

75

76

77
[EDI*2]

01

111

78

79

7D

7F
[ЕАХ*4]

10

000

80

81

82

83

84

85

86

87

[ЕСХ*4]

10

001

88

89

8D

8F

[EDX*4]

10

010

90

91

92

93

94

95

96

97

[ЕВХ*4]

10

011

98

99

9D

9F

 

10

100

АО

А1

А2

A3

А4

А5

А6

А7

[ЕBP*4]

10

101

А8

А9

АА

АВ

АС

AD

АЕ

AF

[ESI*4]

10

110

ВО

В1

В2

ВЗ

В4

В5

В6

В7

[EDI*4]

10

111

В8

В9

ВА

ВВ

ВС

BD

BE

BF

[ЕАХ*8]

11

000

СО

С1

С2

СЗ

С4

С5

С6

С7

ГЕСХ*8]

11

001

С8

С9

СА

СВ

сс

CD

СЕ

CF

[EDX*8]

11

010

D0

D1

D2

D3

D4

D5

D6

D7

[ЕВХ*8]

11

011

D8

D9

DA

DB

DC

DD

DE

DF

......

11

100

Е0

Е1

Е2

ЕЗ

Е4

Е5

Е6

Е7

[ЕВР*8]

11

101

Е8

Е9

ЕА

ЕВ

ЕС

ED

ЕЕ

EF

[ESI*8]

11

110

F0

F1

F2

F3

F4

F5

F6

F7

[EDI*8]

11

111      F8

F9

FA

FB

FC

FD

FE

FF

                                         

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

Одно значение базового регистра ( base ) в табл. 3.10 замещено символом звез­дочки (*). Это означает наличие в команде адреса смещ_32 без базы, если mod рав­но 00, и [ЕВР]— в противном случае.

Такой подход обеспечивает следующие режи­мы адресации:

- смещ_32[индекс], если mod=00;

- смещ_8[еbр][индекс], если mod=01;

- смещ_32[еbр][индекс], если mod=10.

Занятие 35

    Типичная структура микропроцессорной системы приведена на рис..

 Она включает в себя три основных типа устройств:

• процессор;

• память, включающую оперативную память (ОЗУ, RAM — Random Access Memory) и постоянную память (ПЗУ, ROM —Read Only Memory), которая служит для хранения данных и программ;

• устройства ввода/вывода (УВВ, I/O — Input/Output Devices), служащие для связи микропроцессорной системы с внешними устройствами, для приема (ввода, чтения, Read) входных сигналов и выдачи (вывода, записи, Write) выходных сигналов

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

• шина адреса (Address Bus);

• шина данных (Data Bus);

• шина управления (Control Bus);

• шина питания (Power Bus).

Шина адреса служит для определения адреса (номера) устройства, с которым процессор обменивается информацией в данный момент. Каждому устройству (кроме процессора), каждой ячейке памяти в микропроцессорной системе присваивается собственный адрес. Когда код какого-то адреса выставляется процессором на шине адреса, устройство, которому этот адрес приписан, понимает, что ему предстоит обмен информацией. Шина адреса может быть однонаправленной или двунаправленной.

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

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

         Шина питания предназначена не для пересылки информационных сигналов, а для питания системы. Она состоит из линий питания и общего провода. В микропроцессорной системе может быть один источник питания (чаще +5 В) или несколько источников питания (обычно еще –5 В, +12 В и –12 В). Каждому напряжению питания соответствует своя линия связи. Все устройства подключены к этим линиям параллельно.

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

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

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

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

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

Занятие 28


Дата добавления: 2022-01-22; просмотров: 21; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!