Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3501

.pdf
Скачиваний:
4
Добавлен:
15.11.2022
Размер:
6.07 Mб
Скачать

XПК

+ 0001 0100 0011

 

YДК

 

1111 1010 1000

 

Z’ПК

0000 1110 1011

- нескорректированное Z в ПК

- перенос отбросить

1

Наличие переноса из старшей тетрады указывает на то, что результат получился в ПК (т.е. положительный).

Произведем коррекцию результата в соответствии с пунктом 3 алгоритма:

Z’ПК

0000 1110

1011

 

+

 

 

 

коррекция

1010

1010

 

 

 

 

 

 

0000 1000 0101

переносы

 

1 отбросить

 

 

1

результат Z= 1000 0101(2-10)=85(10)

2.8.3. Умножение модулей двоично-десятичных чисел Операция умножения сводится к образованию и многократному сложению частичных двоично-десятичных произведений.

Алгоритм умножения:

1.Сумма частичных произведений полагается равной нулю.

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

3.Сумма частичных произведений сдвигается на одну тетраду и повторяются действия, указанные в пункте 2, пока все цифры (тетрады) множителя не будут обработаны. Направление сдвига зависит от того, какой вариант перемножения выбран - "старшие разряды вперед" или "младшие разряды вперед".

4.Каждая операция суммирования завершается десятичной коррекцией, соответствующей случаю суммирования двоично-десятичных чисел без избытка 6 (т.е. необходимо добавить 0110 к тем терадам, из которых был перенос или в которых f=1).

Пример:

Z = X * Y = 25(10) * 13(10) = 325(10)

X=25(10)= 0010 0101(2-10); Y=13(10)= 0001 0011(2-10)

Для решения примера выберем вариант перемножения "старшие разряды вперед". В соответствии с пунктом 1 алгоритма, полагаем сумму

80

частичных произведений P0=0. (Частичные произведения будем обозначать

Pi).

Y = 0001 0011

 

X = 0010 0101

 

 

 

 

 

 

 

 

 

 

0000 0000

 

P0=0

 

 

 

 

 

1(10)

+

 

 

 

 

P1 (1-е част. произв.)

 

 

 

 

 

 

 

 

 

0010 0101

 

1=P0 + P1=P1 - коррекции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0010 0101

 

 

 

 

 

 

 

 

 

 

 

не требует

 

 

 

 

 

 

 

 

 

 

 

 

 

0010 0101 0000

 

Сдвиг влево

 

 

 

 

 

+

 

 

 

 

 

 

 

 

0010 0101

 

 

 

 

3(10)

+

 

 

 

 

 

 

 

 

 

 

+

 

0010 0101

 

P2 (2-е част. произв.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0010 0101

 

 

Формирование второго частичного произведения более длительная операция, поскольку вторая анализируемая тетрада содержит 3(10). Поэтому каждая операция суммирования требует проверки необходимости коррекции. Вычислим P2, последовательно суммируя слагаемые, образующие P2.

Х

0010

0101

 

первое слагаемое Р2

 

 

+

 

 

 

Х

0010

0101

 

второе слагаемое Р2

P'2 неп.

0100

1010

 

неполное, нескорректированное Р2

+

. .

 

 

 

. . .

 

тетрада требует коррекции (f=1)

 

 

 

 

коррекция

 

0000

0110

 

 

P2 неп.

0101

0000

 

неполное, скорректированное Р2

+

 

 

 

Х

 

 

третье слагаемое Р2

0010

0101

 

P2

0111

0101

 

полное Р2. Коррекции не требует

Таким образом, второе частичное произведение, состоящее из трех слагаемых, имеет вид:

P2 = 0111 0101.

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

81

P1

0010 0101 0000

 

+

 

P2

 

0111 0101

2=P1+P2

0010 1100 0101

+

. .

 

. . .

 

 

коррекция

0000 0110 0000

2=P1+P2

0011 0010 0101

первое сдвинутое частичное произведение

второе частичное произведение нескорректированный результат тетрада требует коррекции. (f=1)

скорректированный результат

Окончательный результат: Z = 0011 0010 0101(2-10) = 325(10).

Следует отметить, что в данном случае при суммировании операндов не возникало переносов. Поэтому коррекция осуществлялась только по признаку f=1.

2.8.4. Деление модулей двоично-десятичных чисел Операция деления выполняется путем многократного вычитания, сдвига и

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

2.9. Представление других видов информации

Различные виды информации могут быть разделены на две группы: статические и динамические. Так, числовая, логическая и символьная информация является статической - ее значение не связано со временем. В отличие от перечисленных типов вся аудиоинформация имеет динамический характер. Она существует только в режиме реального времени, ее нельзя остановить для более подробного изучения. Если изменить масштаб времени (увеличить или уменьшить), аудиоинформация искажается. Это свойство иногда используется для получения звуковых эффектов.

Видеоинформация может быть как статической, так и динамической. Статическая видеоинформация включает текст, рисунки, графики, чертежи, таблицы и др. Рисунки делятся также на плоские - двухмерные и объемные - трехмерные.

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

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

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

82

При демонстрации слайд-фильмов каждый кадр экспонируется на экране столько времени, сколько необходимо для восприятия его человеком (обычно от 30 с до 1 мин). Слайд-фильмы можно отнести к статической видеоинформации.

По способу формирования видеоизображения бывают растровые, матричные и векторные.

Растровые видеоизображения используются в телевидении, а в ЭВМ практически не применяются.

Матричные изображения получили в ЭВМ наиболее широкое распространение. Изображение на экране рисуется электронным лучом точками.

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

Изображение может быть и в векторной форме. Тогда оно составляется из отрезков линий ( в простейшем случае - прямых), для которых задаются: начальные координаты, угол наклона и длина отрезка (может указываться и код используемой линии). Векторный способ имеет ряд преимуществ перед матричным: изображение легко масштабируется с сохранением формы, является ⌠прозрачным■ может быть наложено на любой фон и т.д.

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

Для кодирования символьной или текстовой информации применяются различные системы: при вводе информации с клавиатуры кодирование происходит при нажатии клавиши, на которой изображен требуемый символ, при этом в клавиатуре вырабатывается так называемый scan-код, представляющий собой двоичное число, равное порядковому номеру клавиши.

Номер нажатой клавиши никак не связан с формой символа, нанесенного на клавише. Опознание символа и присвоение ему внутреннего кода ЭВМ производятся специальной программой по специальным таблицам: ДКОИ, КОИ-7, ASCII (Американский стандартный код передачи информации).

Всего с помощью таблицы кодирования ASCII (табл. 4) можно закодировать 256 различных символов. Эта таблица разделена на две части: основную (с кодами от OOh до 7Fh) и дополнительную (от 80h до FFh, где буква h обозначает принадлежность кода к шестнадцатеричной системе счисления).

83

Таблица 4

Таблица кодирования текстовой информации ASCII

Первая половина таблицы стандартизована. Она содержит управляющие коды (от 00h до 20h и 77h). Эти коды из таблицы изъяты, так как они не относятся к текстовым элементам. Здесь же размещаются знаки пунктуации и математические знаки: 2 lh - !, 26h - &, 28h - (, 2Bh -+,..., большие и малые латинские буквы: 41h - A, 61h - а,...

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

Дисплей по каждому коду символа должен вывести на экран изображение символа - не просто цифровой код, а соответствующую ему картинку, так как каждый символ имеет свою форму.

Описание формы каждого символа хранится в специальной памяти дисплея - знакогенераторе.

Высвечивание символа на экране дисплея IBМ PC осуществляется с помощью точек, образующих символьную матрицу.

Каждый пиксел в такой матрице является элементом изображения и может быть ярким или темным. Темная точка кодируется цифрой 0, светлая (яркая)- 1.

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

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

84

ГЛАВА 3. ИНФОРМАЦИОННОЛОГИЧЕСКИЕ ОСНОВЫ ЭВМ

3.1. Общие замечания

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

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

Машинная операция – это действия машины по преобразованию информации, выполняемые под воздействием одной команды.

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

Арифметические операции над ЧФЗ и ЧПЗ. Команды десятичной арифметики. Логические (поразрядные) операции. Передача кодов (пересылка операндов). Операции ввода-вывода.

Управление порядком выполнения команд (передача управления). Задание режима работы машины и различные дополнительные

действия.

В общем виде машинная команда имеет структуру, изображенную на рис.

18.

Код операции

Адресная часть

 

 

Длина команды Рис. 18. Общая структура команды

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

85

Операционная часть – содержит код, который задает вид операции (сложение, умножение, передача и т.д.).

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

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

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

Задача выбора оптимальных структур и форматов команд при проектировании новых ЭВМ является одной из важнейших, поскольку от правильности ее решения зависит быстродействие и производительность ЭВМ.

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

Вабсолютном большинстве случаев ОП универсальных ЭВМ является адресной. Это значит, что каждой хранимой в ОП единице информации (байту, слову, двойному слову) ставится в соответствие специальное число – адрес, определяющий место ее хранения в памяти. В современных ЭВМ различных типов минимальной адресуемой в памяти единицей информации в большинстве случаев является один байт, т.е. 8 бит с 9-м контрольным разрядом. Иногда бывает и полубайт, т.е. 4 разряда и даже один бит. Более крупные единицы информации – слово, двойное слово и т.д. образуются из целого числа байт. В зависимости от способа хранения информации в ОП их адресом считается адрес старшего или младшего байта.

Вобщем случае разрядность машинного слова может определяться разрядностью АЛУ процессора, разрядностью шины данных, шириной выборки ОП и другими факторами. Наиболее часто разрядность машинного слова соответствует разрядности операндов, которые наиболее эффективно обрабатываются процессором. Например, процессор I80386 имеет 32разрядные АЛУ и 32разрядную шину данных. Однако разработчики устройств на базе этого процессора за машинное слово выбрали 16разрядный двоичный код при ширине выборки ОП 1 байт. Следует иметь в виду, что ширина выборки ОП – это техническая характеристика БИСов памяти, а байт, слово, двойное слово и т.д. – логические единицы

86

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

3.2. Возможные структуры машинных команд

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

1. Четырехадресная структура

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

Рассмотрим длину такой команды применительно к ЭВМ, имеющей порядка 200 команд и объем памяти порядка 16 Мбайт. В этом случае длина КОП будет:

NКОП = log2200, т.е. 8 разрядов (28 = 256).

Для обеспечения доступа ко всем ячейкам памяти потребуется

Nадр log2 16777216 log2 16 1024 1024 log2 24 210 210 log2 224 24

.

Таким образом, длина четырехадресной команды составит

Nком 8 24 * 4 104 разряда .

Полученная длина команды оказывается недопустимо большой, поэтому в современных ЭВМ такая структура команд не используется.

2. Трехадресная структура

Можно построить ЭВМ так, что после выполнения команды по адресу K (команда занимает L ячеек памяти) выполняется команда по адресу K+L. Такой порядок выборки команд называется естественным. Он нарушается только специальными командами передачи управления. При естественном порядке выборки адрес следующей команды формируется в устройстве, называемом счетчик адреса команд. В этом случае команда становится трехадресной (рис. 19, б).

3. Двухадресная структура

87

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

4. Одноадресная структура

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

5. Безадресная структура

Использование безадресных команд (рис. 19, д) возможно только при естественном порядке выборки команд и подразумеваемых адресах обоих операндов и результата операции, например при работе со стековой памятью. В этом случае один операнд находится в вершине стека, а второй операнд – в аккумуляторе. Туда же помещается и результат.

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

 

 

КОП

Адрес 1-го

Адрес 2-го

 

Адрес

Адрес след.

 

 

 

операнда

операнда

результата

команды

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КОП

 

Адрес 1-го

 

Адрес 2-го

Адрес

 

 

 

КОП

Адрес 1-го

 

операнда

 

операнда

результата

 

 

операнда

 

 

 

 

 

 

 

 

 

 

б

 

 

 

 

 

 

г

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КОП

 

 

Адрес 1-го

Адрес 2-го

 

 

КОП

 

 

 

 

 

 

операнда

операнда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в

 

 

 

 

 

д

 

 

 

 

 

 

 

КОП – код операции

 

 

 

Рис. 19. Структуры команд: а – четырехадресная; б – трехадресная; в – двухадресная; г – одноадресная; д – безадресная

Кроме того, трехадресные команды в современных универсальных ЭВМ практически не используются, так как являются слишком громоздкими (хотя и самыми удобными с точки зрения программиста). Обычно используются одно- и двухадресные команды и их модификации. Следует отметить, что

88

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

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

3.3. Способы адресации

Определимся с терминами, которые будут использоваться ниже.

Адресный код (АК) – это информация об адресе операнда, содержащаяся в команде.

Исполнительный адрес (АИ) – это номер ячейки ОП, к которой производится фактическое обращение.

В большинстве команд современных ЭВМ адресный код не совпадает с исполнительным адресом. Проблема выбора способов адресации и формирования исполнительного адреса, как и системы команд, относится также к важнейшим при разработке новых процессоров и ЭВМ.

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

Подразумеваемый операнд

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

Подразумеваемый адрес

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

89

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]