Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Центральный процессор





Центральный процессор – основное устройство ЭВМ, выполняющее управление обменом информации по интерфейсу "общая шина" и все необходимые арифметико-логические операции обработки информации. Ниже будут рассмотрены основы архитектуры процессора Intel 8086 – родоначальника семейства процессоров Intel x86 и Intel Pentium. На базе этого семейства в настоящее время построено большинство персональных компьютеров (ПК).

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

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

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

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

Все регистры центрального процессора Intel 8086 имеют размер слова (два байта – 16 битов), за каждым из них закреплено определенное имя (AX, SP и т.п.).

По назначению и способу использования регистры можно разбить на следующие группы:

– регистры общего назначения (AX, BX, CX, DX, BP, SI, DI, SP);

– сегментные регистры (CS, DS, SS, ES);

– счетчик команд (IP);

– регистр флагов (Flags).

Запомнить названия регистров совсем не сложно, если учесть, что вторая буква ' X ' в названиях регистров означает принадлежность к группе регистров, предоставляющих доступ к отдельным байтам, вторая буква ' S ' – принадлежность к группе сегментных регистров. Дальнейшая расшифровка этих названий: A – accumulator (аккумулятор); B – base (база); C – counter (счетчик); D – data (данные); BP – base pointer (указатель базы); SI – source index (индекс источника); DI – destination index (индекс приемника); SP – stack pointer (указатель стека); CS – code segment register (сегментный регистр кода команд); DS – data segment register (сегментный регистр данных); SS – stack segment register (сегментный регистр стека); ES – extension segment register (дополнительный сегментный регистр данных); IP – instruction pointer (счетчик команд).

Регистры общего назначения применяются для хранения данных. Их можно использовать во всех арифметических и логических командах. В то же время каждый их них имеет определенную специализацию (некоторые команды "работают" только с определенными регистрами). Например, команды умножения и деления требуют, чтобы один из операндов находился в регистре AX или в регистрах AX и DX (в зависимости от размера операнда), а команды управления циклом используют регистр CX в качестве счетчика цикла. Регистры BX и BP очень часто используются как базовые регистры при обращении к памяти, а SI и DI – как индексные. Регистр SP обычно указывает на вершину стека – специально организованной области памяти, аппаратно поддерживаемой в ЭВМ.

Регистры AX, BX, CX и DX конструктивно устроены так, что возможен независимый доступ к их старшей и младшей половинам; можно сказать, что каждый из этих регистров состоит из двух байтовых регистров, обозначаемых AH, AL, BH и т.д. (H – high, старший; L – low, младший):

AX: AH AL
BX: BH BL
CX: CH CL
DX: DH DL
Биты: 15 8 7 0

Таким образом, с каждым из этих регистров можно работать как с единым целым, а можно работать и с его "половинками". Например, можно записать слово в AX, а затем считать только часть слова из регистра AH или заменить только часть в регистре AL и т.д. Такое устройство регистров позволяет использовать их для работы и с числами, и с символами.

Все остальные регистры на "половинки" не делятся, поэтому считать или записать их содержимое (16 битов) можно только целиком.

Сегментные регистры CS, DS, SS и ES используются при формировании адресов команд и данных, расположенных в оперативной памяти. Они не могут быть операндами никаких команд, кроме команд пересылки и стековых команд.

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

В процессоре имеется особый регистр флагов. Флаг – это бит, принимающий значение 1 ("флаг установлен"), если выполнено некоторое условие, и значение 0 ("флаг сброшен") в противном случае. В процессоре Intel 8086 используется 9 флагов, каждому из них присвоено определенное имя (ZF, CF и т.д.). Все они собраны в 16-разрядном регистре флагов (каждый флаг – это один из разрядов регистра, часть его разрядов не используется). Формат регистра флагов, отражающий распределение отдельных флагов по битам этого регистра, приведен на рис. 1.2.

Рис. 1.2. Формат регистра флагов

Непосредственного доступа как к отдельным флагам, так и к регистру флагов в целом центральный процессор не предоставляет.

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

К флагам условий относят:

CF (carry flag) – флаг переноса;

OF (overflow flag) – флаг переполнения;

ZF (zero flag) – флаг нуля;

SF (sign flag) – флаг знака;

PF (parity flag) – флаг четности;

AF (auxiliary carry flag) – флаг дополнительного переноса.

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

Флаг переполнения (OF) устанавливается в 1, если при сложении или вычитании целых чисел со знаком получился результат, по модулю превосходящий допустимую величину (произошло переполнение мантиссы и она "залезла" в знаковый разряд).

Флаг нуля (ZF) устанавливается в 1, если результат команды оказался равным 0.

Флаг знака (SF) устанавливается в 1, если в операции над знаковыми числами получился отрицательный результат.

Флаг четности (PF) равен 1, если результат очередной команды содержит четное количество двоичных единиц. Учитывается обычно только при операциях ввода-вывода.

Флаг дополнительного переноса (AF) фиксирует особенности выполнения операций над двоично-десятичными числами.

К флагам состояний относят:

DF (direction flag) – флаг направления;

IF (interrupt enable flag) – флаг разрешения прерываний;

TF (trap flag) – флаг трассировки.

Флаг направления (DF) устанавливает направление просмотра областей памяти в цепочечных командах: при DF = 0 области просматриваются "вперед" (от начала к концу), при DF = 1 – в обратном направлении.

Флаг разрешения прерываний (IF): при IF = 0 процессор перестает реагировать на поступающие к нему прерывания, при IF = 1 блокировка прерываний снимается.

Флаг трассировки (TF): при TF = 1 после выполнения каждой команды процессор делает прерывание (с номером 1), чем можно воспользоваться при отладке программы для ее трассировки.

Арифметико-логическое устройство предназначено для организации переработки информации внутри центрального процессора. Оно позволяет выполнять арифметические и логические операции над данными, а также сдвиги. К арифметическим операциям относятся: сложение, вычитание, умножение и деление. В состав логических операций входят: отрицание, операция "И", операция "ИЛИ" и операция "ИСКЛЮЧАЮЩЕЕ ИЛИ".

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

Date: 2015-05-23; view: 549; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию