Структура памяти компьютера и представление чиселСейчас вам предстоит познакомиться с устройством и работой компьютера. Это знакомство не будет выходить за рамки архитектуры ЭВМ. Напомним, что архитектурой ЭВМ называется описание структуры и принципов работы компьютера без подробностей технической реализации, то есть без электронных схем и прочих конструктивных деталей. Чтобы «не забираться внутрь» реального компьютера, это было бы слишком сложно, мы опишем архитектуру гипотетического учебного компьютера. Он называется «Учебный компьютер Нейман», или сокращенно «УК Нейман». Это название подчеркивает тот факт, что архитектура учебного компьютера соответствует принципам Дж. фон Неймана. Возможности нашего учебного компьютера очень ограничены по сравнению с реальными ЭВМ. «УК Нейман» предназначен для выполнения арифметических расчетов с целыми числами.Структура памяти «УК Нейман»Объем памяти учебного компьютера — 256 байт. Десятичные адреса байтов лежат в интервале от 0 до 255. Но в компьютере они двоичные. Переведем число 25510 в двоичную систему. Конечно это можно сделать делением на 2, но можно и короче:
Следовательно, диапазон адресов байтов от 0 до 111111112. В шестнадцатеричной системе это соответствует диапазону от О до FF. Группы из четырех байтов образуют ячейки памяти. Ячейка — это часть памяти, вмещающая в себя информацию, доступную для обработки отдельной командой процессора. В «УК Нейман» в ячейке памяти может храниться одно число или одна команда программы. Содержимое ячейки памяти называется машинным словом. Следовательно, в «УК Нейман» машинное слово — это двоичная информация размером в 32 бита (4 байта). Схематически структура памяти «УК Нейман» показана на РИСУНКЕ 1. РИСУНОК 1. Структура памяти «УК Нейман»
Адрес ячейки равен адресу младшего из составляющих ее байтов (байта с меньшим номером). Адреса ячеек учебного компьютера меняются с шагом 4. Первая ячейка имеет адрес 00, вторая — 04 и так далее, последняя — FC. Всего в памяти «УК Нейман» 64 ячейки (256/4). Договоримся в дальнейшем не путать два понятия: адрес ячейки и значение ячейки памяти. Адрес ячейки — это ее номер; значение ячейки — это ее содержимое. Адреса представляются двузначными шестнадцатеричными числами, что соответствует восьмизначным двоичным числам. Следовательно, при хранении адреса в памяти он занимает 1 байт (8 бит). Примечание. Размер памяти компьютера и длина адрес-ного кода однозначно связаны между собой через понятие «адресное пространство». Адресное пространство — это совокупность байтов памяти, к которым можно обратиться с использованием машинного адреса. Если адресный код содержит n бит, то размер адресного пространства равен 2n байт. В «УК Нейман» n = 8, поэтому размер адресного пространства равен 28 = 256 байт. Положительные целые числа в памяти компьютера«УК Нейман» работает только с целыми числами. Наименьшее по абсолютной величине число, хранимое в ячейке памяти, равно нулю (во всех разрядах — ноль). Самое большое положительное число имеет такое внутреннее представление в двоичной форме: Это же число в шестнадцатеричной форме: В десятичной системе это число равно 231 -1 = 2147483647. Если размер машинного слова равен N бит, то максимальное целое положительное число, хранимое в ячейке памяти, равно 2N-1 - 1. Первый слева двоичный разряд хранит код знака числа. У положительных чисел в этом разряде ноль, у отрицательных — единица. Как получить внутреннее представление целого положительного числа, например числа 5628? Покажем это на примере. Сначала переведем число в шестнадцатеричную систему. Затем дополним это число слева нулями до восьми разрядов: Используя двоично-шестнадцатеричную таблицу, можно расписать двоичное представление этого числа в ячейке памяти: Коротко о главномЯчейка — это структурная единица памяти, вмещающая информацию, равную машинному слову. Адрес ячейки равен адресу младшего байта, входящего в нее. Максимальное целое число, хранимое в ячейке памяти, равно 2 N-1 - 1, где N — размер машинного слова в битах. Вопросы и задания
|