Кластерный компьютер Приемы повышения производительности Двоичная арифметика Программирование на языке ассемблера

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

Процессор 8088

Любой процессор, в том числе и у 8088, обладает своим внутреннем состоянием, под которым понимается та или иная критически важная информация. Для хранения и обработки этой информации в процессоре предусмотрен особый набор регистров. Наиболее важным из них является регистр PC (Program Counter — счетчик команд). В нем указывается ячейка памяти (адрес), в которой хранится следующая в порядке выполнения команда. Другое обозначение этого регистра — IP (Instruction Pointer — указатель команд). Та часть основной памяти, в которой хранится следующая команда в порядке выполнения, называется кодовым сегментом. Допустимая емкость основной памяти, которую поддерживает процессор 8088, составляет чуть более 1 Мбайт, однако размер кодового сегмента ограничен значением 64 Кбайт. Начало этого сегмента в рамках памяти емкостью 1 Мбайт определяется в регистре CS (см. рис. В.1). Чтобы активировать новый кодовый сегмент, достаточно изменить значение регистра CS. Помимо кодового сегмента, существует сегмент данных, также занимающий 64 Кбайт и определяющий начало данных. На рис. В.1 начало данных определяется регистром DS, содержание которого можно при необходимости изменить и тем самым получить доступ к данным, находящимся за пределами текущего сегмента. Потребность в регистрах CS и DS обусловлена тем, что разрядность регистров 8088 составляет 16 бит, а, значит, хранить в них 20-разрядные адреса, необходимые для обращения к памяти емкостью 1 Мбайт, невозможно. Вот почему появились кодовый сегмент и сегмент данных.

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

Цикл процессора

Работа процессора 8088 (равно как и всех других вычислительных машин) сводится к выполнению команд в определенной последовательности. Процесс выполнения отдельной команды делится на несколько этапов:

С помощью регистра РС команда выбирается из кодового сегмента памяти.

К текущему значению счетчика команд прибавляется единица.

Выбранная команда декодируется.

Все необходимые для выполнения команды данные выбираются из памяти и (или) регистров процессора.

Команда выполняется.

Результаты выполнения команды сохраняются в памяти и (или) регистрах.

Начинается процесс выполнения следующей команды (переход к шагу 1).

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

С точки зрения программиста, пишущего на ассемблере, в процессоре 8088 предусмотрено 14 регистров. Эти регистры выполняют функцию сверхоперативной памяти, с которой работают многочисленные команды; результаты, сохраняемые в них, меняются с очень большой частотой. Все эти регистры изображены на рис. В.2. Совершенно очевидно сходство между этим рисунком и окном трассера, приведенным на рис. В.1.

Рис. В.2. Регистры процессора 8088

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

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