Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебн пособ по арх и прогр МП.doc
Скачиваний:
64
Добавлен:
10.12.2013
Размер:
1.59 Mб
Скачать

2.3. Размещение различных типов данных в памяти пк

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

Карта памяти– это способ отображения содержимого и адресов памяти. Каждый прямоугольник отображает содержимое одного байта памяти (см. номера бит в байте: от старшего - седьмого, до младшего - нулевого). Обычно прямоугольники изображают сверху вниз, считая, что ячейка с младшим адресом=0 является верхней, а ячейка со старшим адресом - нижней.

Представим в памяти число 25 в указанных форматах данных (см. рис. 2.1):

В формате байта число 25: = 0001 1001b

В формате слова число 25 = 0000 0000 0001 1001b

В формате двойного слова число 25 = 00000000 00000000 0000 0000 0001 1001b

Рис. 2.1. Размещение различных типов данных в памяти ПК.

ЗАМЕТИМ! Старшие байты числа всегда располагаются ПО СТАРШЕМУ АДРЕСУ ПАМЯТИ!

НАПОМНИМ! 1 Мбайт = 1024 Кбайт; 1 Кбайт = 1024 байт.

2.4. Отрицательные числа

Если байт содержит число со знаком, то его значение представляется только младшими семью битами (0-6); старший бит (бит 7) указывает знак числа, поэтому называется знаковым.

Знаковый бит S равен 0, если число положительное или равно 0 и равен 1, если оно отрицательное.

В ПК числа со знаком представляются в дополнительном коде. То есть для представления отрицательного двоичного числа необходимо инвертировать все биты и прибавить 1. Рассмотрим пример: получения дополнительного кода числа -65

65 = 01000001b; инверсия числа 65 = 10111110b; прибавим 1 к инверсии, получим 10111111b, т.е. -65 = 10111111b.

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

Двоичное значение отрицательного числа = 10111111; инверсия = 01000000b; прибавим 1, получим 01000001b, т.е. +65 = 01000001b.

Программы на языке ASM позволяют вводить числа в десятичной СС (со знаком и без знака) и автоматически выполняют все преобразования.

2.5. Контрольные вопросы и задания

1. Выберите правильный вариант размещения в памяти ПК следующих данных:

1.1. числа 10 в формате слова:

1 2 3

1.2. числа –(минус)101h в формате слова в дополнительном коде b-СС:

1)10000001 00000001; 2) 00000000 00000000 10000001 00000001;

3)11111110 11111111; 4) 00000001 10000001 00000000 10000000.

1.3. строки символов '51'

1.4.строки символов '10':

1) 00110001 00110000; 2) 00000001 00000000;

2) 00110000 00110001; 4) 00000000 00000001.

1.5. числа 10 в формате байта:

1.6. числа '45':

1) 00000100 00000101; 2) 00000101 00000100;

3)00110101 00110100 ; 4) 00110100 00110101.

1.7. Нарисовать карты памяти ПК для представления следующих чисел:

  1. '-45'; 2) '+45'; 3) –45; 4) +45; 5) 45.

Тема 3. Элементы архитектуры персонального компьютера: сегментная память и регистровая структура микропроцессора

3.1. Понятие сегмента

Как известно, МП исполняет только ту программу, которая загружена в электронную (оперативную) память. Память состоит из ячеек, каждая ячейка имеет свой уникальный номер или адрес. Программист присваивает адресу имя, а программа-транслятор заменяет имя на двоичный код. Разрядность шины адреса (ША) МП определяет допустимое количество (пространство) адресов.

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

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

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

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

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

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