Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура компьютеров_1 / 4_Представление информации в компьютере.doc
Скачиваний:
42
Добавлен:
20.03.2015
Размер:
340.48 Кб
Скачать

4.5. Операции доступа к памяти. Коды ascii символов.

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

Операнды и результаты также должны пересылаться между памятью и про­цессором. Таким образом, для выполнения команды программы необходимо про­извести две операции с памятью: Load (или Read, или Fetch), то есть загрузка (или чтение, или выборка соответственно) и Store (или Write), то есть сохранение (или запись).

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

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

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

    1. Пример доступа к памяти персонального компьютера.

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

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

add ax,bx ;сложение содержимого двух регистров ax и bx,

;результат помещается в ax

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

  • сегмент кода, в котором расположены выполнимые команды программы;

  • сегмент данных, в котором расположены обрабатываемые данные программы.

На рис.4.9. приведено расположение программы в памяти компьютера. Программа расположена в двух сегментах, сегменте кода и сегменте данных. Команды и данные располагаются в своих сегментах непрерывно, начиная с нулевого адреса (смещения).

Сегмент кода

Сегмент данных

Адресация внутри сегмента (смещение относительно начала)

Содержимое памяти (коды команд)

Адресация внутри сегмента (смещение относительно начала)

Содержимое памяти (двоичные чисела)

0000

0000

0004

0004

0008

03D8

8B 1E 00 42

03DC

03 C3

0042

FF F6 (-1010)

03DE

Следующая команда

0044

FF FF FF FB (-510)

0048

Рис 4.9. Расположение программы в памяти персонального компьютера

Команды загружаются в процессор для выполнения в соответствии с адресами, которые формируются регистре PC (Program Counter). Команда mov загружается из памяти в процессор на основании содержимого регистра PC, который формируется при выполнении предыдущей команды. Там она попадает в регистр IR (Instruction Regisetr) процессора. Адрес в регистре PC сформирован с использованием двух адресов:

  • адреса начала сегмента кода;

  • адреса внутри сегмента (смещения относительно начала), в нашем случае этот адрес в сегменте равен 03D8h.

Команда mov осуществляет обращение к памяти в сегмент данных для загрузки в регистр bx числа -1010 (FFF6h). Адрес памяти, по которому находится требуемое данное, помещается в регистр MAR (Memory Address Register) в результате расшифровки кода команды. Адрес в регистре MAR в данном случае также формируется на основании двух адресов:

  • адреса начала сегмента данных;

  • адреса внутри сегмента (смещения относительно начала), в нашем случае этот адрес в сегменте равен 0042h.

После этого дается команда памяти доставить данное число, и оно через регистр MDR (Memory Data Register) попадает в регистр bx процессора.

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

Вопросы для самопроверки.

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

  2. Когда при выполнении арифметических операций возникает переполнение?

  3. Какими порядками может оперировать компьютер при обработке целых и вещественных чисел?

  4. Что такое нормализованное представление числа?

  5. Каким может быть размер памяти компьютера, если регистр IR 32-разрядный?

Таблица 4.1 КОДЫ ASCII-СИМВОЛОВ

Шест

Символ

Шест

Символ

Шест

Символ

Шест

Симв

00Н

Нуль

20Н

sр.

40Н

@

60Н

01Н

Начало заголовка

21Н

!

41Н

А

61Н

а

02H

Начало текста

22Н

42Н

В

62Н

b

03H

Конец текста

23Н

#

43Н

С

63Н

с

04Н

Конец передачи

24Н

$

44Н

D

64Н

d

05Н

КТМ

25Н

%

45Н

Е

65Н

е

06Н

Да

26Н

&

46Н

F

66Н

f

07Н

Звонок

27Н

`

47Н

G

67Н

g

08Н

Возврат на шаг

28Н

(

48Н

Н

68Н

h

09Н

Горизонтальная табуляция

29Н

)

49Н

I

69Н

i

0АН

Перевод строки

2АН

*

4АН

J

6АН

j

0ВН

Вертикальная табуляция

2ВН

+

4ВН

К

6ВН

k

0CH

Прогон страницы

2СН

,

4СН

L

6CH

l

0DН

Возврат каретки

2DН

-

4DH

М

6DH

m

0ЕН

Shift out

2ЕН

.

4ЕН

N

6EH

n

0FH

Shift In

2FH

/

4FH

0

6FH

о

10Н

Data line esc

З0Н

0

50Н

Р

70H

p

11Н

Управление 1

31Н

1

51Н

Q

71H

q

12Н

Управление 2

32Н

2

52Н

R

72H

r

13Н

Управление 3

ЗЗН

3

53Н

S

73H

s

14Н

Управление 4

34Н

4

54Н

Т

74H

t

15Н

Нет

35Н

5

55Н

U

75H

u

16Н

Синхронизация

З6Н

6

56Н

V

76H

v

17Н

Конец блока

37Н

7

57Н

W

77H

w

18Н

Аннулирование

38Н

8

58Н

Х

78H

x

19Н

End of medium

39Н

9

59Н

Y

79H

у

1АН

Замена

ЗАН

;

5АН

Z

7AH

z

1ВН

Escape

ЗВН

;

5ВН

[

7BH

{

1СН

Разделение файла

ЗСН

<

5СН

\

7CH

|

1DН

Разделение группы

ЗDН

«

5DH

7DH

}

1ЕН

Разделение записи

ЗЕН

>

5ЕН

^

7EH

~

1FH

Разделение единицы

3FH

?

5FH

_

7FH

Забой

16