Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алексеев информатика.doc
Скачиваний:
321
Добавлен:
15.03.2015
Размер:
17.6 Mб
Скачать

3. Организация данных в эвм

3.1. Представление данных в эвм

При проведении математических расчетов числа внутри ЭВМ могут быть представлены с помощью естественной и нормальной форм записи.

Примером записи в естественной форме может служить число 173,856. Для записи такого числа машинное слово (операнд) делится на два фиксированных поля (части). Первое поле отводится для записи целой части числа, второе – для записи дробной части числа. Старший разряд предназначается для указания знака числа. Номерами указаны разряды машинного слова.

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

Машинное слово является структурной единицей информации ЭВМ. С помощью машинного слова записывают числа, символы и команды. В современных ЭВМ длина машинных слов составляет 32... 128 разрядов. На предыдущем рисунке для упрощения показано машинное слово длиной 16 разрядов (2 байта). Физически каждый разряд машинного слова представляет собой отдельный элемент памяти (триггер или запоминающий конденсатор).

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

Нормальная форма записи числа имеет следующий вид:

где тмантисса числа; р – порядок; dоснование системы счисления.

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

Следующий рисунок иллюстрирует форму числа с плавающей точкой на примере 32 разрядного машинного слова.

Например, пусть т = 0.3, d = 10, а порядок будем брать разным:

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

В этом случае машинное слово делится на два основных поля. В одном поле записывается мантисса числа, во втором – указывается порядок числа.

Диапазон представления чисел с плавающей точкой значительно больше диапазона представления чисел с фиксированной точкой. Однако быстродействие ЭВМ при обработке чисел с плавающей точкой гораздо ниже, чем при обработке чисел с фиксированной точкой.

3.2. Представление команд в эвм

Программа работы ЭВМ состоит из последовательности команд.

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

Поле команды состоит из двух частей: операционной и адресной. В операционной части указывается код операции (КОП). Код определяет действие, которое должна выполнить ЭВМ (арифметическое – сложение, вычитание, логическое – инверсия и т. д.).

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

Таким образом, ЭВМ (точнее, процессор) выполняет действие, которое определяется кодом операции, над данными, местоположение которых указано в адресной части команды.

Количество указываемых в команде адресов может быть различным. В зависимости от числа адресов различают следующие форматы команд: одно-, двух- и трехадресные. Бывают и безадресные команды.

Трехадресная команда, выполняющая, например, операцию сложения, должна содержать код операции сложения и три адреса.

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

1. Взять число, хранящееся по первому адресу А1.

2. Взять число, хранящееся по второму адресу А2, и сложить с первым числом.

3. Результат сложения записать по третьему адресу A3.

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

1. Вызов в сумматор (АЛУ) числа, хранящегося по адресу А1.

2. Вызов числа, хранящегося по адресу А2 и сложение его с первым числом.

3. Запись результата по адресу A3.

Таким образом, чем меньше адресов содержит команда, тем большее число команд требуется для составления одной и той же программы работы машины.

Увеличивая число адресов в команде, приходится увеличивать длину машинного слова, чтобы отвести в нем необходимые поля для адресной части команд. С увеличением объема памяти ЭВМ увеличивается длина поля, необходимого для указания одного адреса. В то же время не все команды полностью используют адресные поля. Например, для команды записи числа по заданному адресу требуется только одно адресное поле. Неоправданное увеличение длины машинного слова для использования многоадресных команд приводит к уменьшению быстродействия ЭВМ, т.к. необходимо обрабатывать поля большей длины.

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

Современные ЭВМ автоматически выполняют несколько сотен различных команд. Все машинные команды можно разделить на группы по видам выполняемых операций:

  • операции пересылки данных;

  • арифметические операции;

  • логические операции;

  • операции обращения к внешним устройствам ЭВМ;

  • операции передачи управления;

  • обслуживающие и вспомогательные операции.

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