Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000293.doc
Скачиваний:
12
Добавлен:
30.04.2022
Размер:
1.46 Mб
Скачать

2.9.2 Представление текстовой информации и логических значений

Для представления символов текста используется формат данных типа строка символов, представленных в коде ASCII. В этом формате каждому символу строки ставится в соответствие байт строки байтов, в которой первый символ в виде ASCII-кода располагается в первом (младшем) байте, второй во - втором байте, адрес которого на 1 больше, и т.д.

Машинный элемент строка байтов, кроме того, может использоваться для представления ВСD-чисел (упакованный и не упакованный формат).

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

Для представления логических значений истина – 1, ложь – 0 используется строка битов переменной длины или битовое поле фиксированной длины (n=32 разряда -4 соседних байта).

2.10 Форматы команд и машинные операции

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

Команда, состоящая из двух полей, имеет вид:

З десь: k=const, m=const, например, k=8, m=16. Поле КО в виде двоичного кода задает тип операции (например, сложение) и тип данных, например, сложение целых чисел (КО – сложение целых чисел), или сложение с плавающей запятой (КО – сложение с плавающей запятой), или сложение двоично-десятичных чисел (КО – сложение чисел ВСD). Все они кодируются тремя разными кодами. В адресной части команды – в полях А - указываются адреса операндов.

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

Схема выполнения трехадресной команды: [А3]:=[А1]*[А2]. Содержимое ячейки с адресом А1 - [А1] (первый операнд) и содержимое ячейки с адресом А2 - [А2] (второй операнд), извлеченные из памяти, вступают в операцию *, заданную полем КО, и результат операции засылается (записывается) в ячейку памяти с адресом А3.

В общем случае в зависимости от количества адресных полей принято различать команды: 0-адресные (безадресные), одноадресные, двухадресные, трехадресные.

Кроме того, в ВТ применяют команды различных форматов в зависимости от уровней памяти, т.е. в зависимости от того, адрес какого типа указан в адресной части команды - адрес типа R, в котором указывается номер РОНа, или адрес типа А – номер ячейки ОП. Отсюда различные типы форматов: RR – команды типа регистр-регистр, RM – команды типа регистр-память, MM - команды типа память-память.

Примеры двухадресных команд типов RR, RM, MM:

K<<m. Схема:[R1]:=[R1]*[R2]

Схема:[R1]:=[R1]*[A2]

[A1]:=[A1]*[A2]

Другие особенности форматов команд проявятся потом, когда будем рассматривать различные способы адресации информации в памяти ЭВМ.

Множество (набор) команд, которые используются в ЭВМ, принято называть системой машинных команд: К={К1, К2, …,КN}. Система команд К является основой языка ассемблер. Особенности системы машинных команд:

  1. устойчивость (стабильность) во времени. Нужна, чтобы обеспечить преемственность ПО. Изменение системы команд неизбежно ведет к необходимости разработки нового ПО, а это процесс трудоемкий;

  2. особенность - ЭВМ различных типов имеют различные системы команд, имеют различные машинные языки и, следовательно, ассемблеры;

  3. особенность - количество машинных команд в наборе может быть небольшим (RISC-машины, с сокращенным набором машинных команд - в пределах сотни) и большим (CISC-машины, могут содержать несколько сотен команд).

С системой команд неразрывно связано другое понятие - система машинных операций F={f1, f2, … , fG}.

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

Машинная операция - это действие, которое инициируется (возбуждается) командой и реализуется (интерпретируется) аппаратурой ЭВМ. В ЭВМ на аппаратном уровне могут выполняться операции над различными типами данных: над числами (целыми, с плавающей запятой, двоично-десятичными), над символами, над логическими значениями (логические операции). Отсюда многообразие операций F. В общем случае все машинные операции F принято разделять на 5 классов (типов): арифметико-логические (АЛО); посылочные операции – обеспечивают пересылку данных; операции управления; операции ввода/вывода; системные (привилегированные) операции.

АЛО выполняются в специальном устройстве - АЛУ. Посылочные операции, операции управления – условные (УП) и безусловные переходы (БП) - реализуются центральным устройством управления (ЦУУ) центрального процессора. Операции ввода/вывода реализуются различного рода ПУ. Системные операции предназначены для управления вычислительным процессом и распределением ресурсов ЭВМ и могут использоваться только программами ОС. Привилегированные операции пользователь использовать не может.