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

Структура памяти компьютера и представление чисел

Сейчас вам предстоит познакомиться с устройством и работой компьютера. Это знакомство не будет выходить за рамки архитектуры ЭВМ. Напомним, что архитектурой ЭВМ называется описание структуры и принципов работы компьютера без подробностей технической реализации, то есть без электронных схем и прочих конструктивных деталей. Чтобы «не забираться внутрь» реального компьютера, это было бы слишком сложно, мы опишем архитектуру гипотетического учебного компьютера. Он называется «Учебный компьютер Нейман», или сокращенно «УК Нейман». Это название подчеркивает тот факт, что архитектура учебного компьютера соответствует принципам Дж. фон Неймана. Возможности нашего учебного компьютера очень ограничены по сравнению с реальными ЭВМ. «УК Нейман» предназначен для выполнения арифметических расчетов с целыми числами.

Структура памяти «УК Нейман»

Объем памяти учебного компьютера — 256 байт. Десятичные адреса байтов лежат в интервале от 0 до 255. Но в компьютере они двоичные. Переведем число 25510 в двоичную систему. Конечно это можно сделать делением на 2, но можно и короче:

255 = 256 - 1 = 28 - 1 = (100000000 - 1)2 = 111111112.

Следовательно, диапазон адресов байтов от 0 до 111111112. В шестнадцатеричной системе это соответствует диапазону от О до FF. Группы из четырех байтов образуют ячейки памяти.

Ячейка — это часть памяти, вмещающая в себя информацию, доступную для обработки отдельной командой процессора.

В «УК Нейман» в ячейке памяти может храниться одно число или одна команда программы.

Содержимое ячейки памяти называется машинным словом.

Следовательно, в «УК Нейман» машинное слово — это двоичная информация размером в 32 бита (4 байта).

Схематически структура памяти «УК Нейман» показана на РИСУНКЕ 1.

РИСУНОК 1. Структура памяти «УК Нейман»

Адреса ячеек Байты
00 00 01 02 03
04 04 05 06 07
08 08 09 ОА
ОС ОС OD ОЕ OF
10 10 11 12 13
. . .
FC FC FD FE FF

Адрес ячейки равен адресу младшего из составляющих ее байтов (байта с меньшим номером). Адреса ячеек учебного компьютера меняются с шагом 4. Первая ячейка имеет адрес 00, вторая — 04 и так далее, последняя — FC. Всего в памяти «УК Нейман» 64 ячейки (256/4).

Договоримся в дальнейшем не путать два понятия: адрес ячейки и значение ячейки памяти.

Адрес ячейки — это ее номер; значение ячейки — это ее содержимое.

Адреса представляются двузначными шестнадцатеричными числами, что соответствует восьмизначным двоичным числам. Следовательно, при хранении адреса в памяти он занимает 1 байт (8 бит).

Примечание. Размер памяти компьютера и длина адрес-ного кода однозначно связаны между собой через понятие «адресное пространство». Адресное пространство — это совокупность байтов памяти, к которым можно обратиться с использованием машинного адреса. Если адресный код содержит n бит, то размер адресного пространства равен 2n байт. В «УК Нейман» n = 8, поэтому размер адресного пространства равен 28 = 256 байт.

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

«УК Нейман» работает только с целыми числами. Наименьшее по абсолютной величине число, хранимое в ячейке памяти, равно нулю (во всех разрядах — ноль). Самое большое положительное число имеет такое внутреннее представление в двоичной форме:

01111111 11111111 11111111 11111111.

Это же число в шестнадцатеричной форме:

7F FF FF FF.

В десятичной системе это число равно 231 -1 = 2147483647.

Если размер машинного слова равен N бит, то максимальное целое положительное число, хранимое в ячейке памяти, равно 2N-1 - 1.

Первый слева двоичный разряд хранит код знака числа. У положительных чисел в этом разряде ноль, у отрицательных — единица.

Как получить внутреннее представление целого положительного числа, например числа 5628? Покажем это на примере.

Сначала переведем число в шестнадцатеричную систему.

562810= 15FC16.

Затем дополним это число слева нулями до восьми разрядов:

00 00 15 FC.

Используя двоично-шестнадцатеричную таблицу, можно расписать двоичное представление этого числа в ячейке памяти:

00000000 00000000 00010101 11111100

Коротко о главном

Ячейка — это структурная единица памяти, вмещающая информацию, равную машинному слову.

Адрес ячейки равен адресу младшего байта, входящего в нее.

Максимальное целое число, хранимое в ячейке памяти, равно 2 N-1 - 1, где N — размер машинного слова в битах.

Вопросы и задания

  1. Что такое ячейка памяти и что такое машинное слово? Как связаны между собой эти понятия?
  2. Какие адреса имеют ячейки памяти в компьютере, у которого размер машинного слова равен двум байтам?
  3. Определить максимальное целое число, хранимое в памяти компьютера, у которого размер машинного слова равен двум байтам.
  4. Могут ли быть в памяти компьютера с четырех байтовым словом ячейки с шестнадцатеричными адресами: 4А, 77, 50, 5С ?
  5. Каков размер памяти «УК Нейман»?
  6. Для решения каких задач предназначен «УК Нейман»?
  7. Получить представление в памяти «УК Нейман» следующих десятичных чисел: 35, 967, 32768.
Компьютеры TopCTO Компьютеры цены продажа be number one
Сайт управляется системой uCoz