Шинные циклы и конвейерная обработка команд

Страницы работы

Содержание работы

VIII. ШИННЫЕ ЦИКЛЫ И КОНВЕЙЕРНАЯ ОБРАБОТКА

                                             КОМАНД

1.  Шинные циклы процессора

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

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

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

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

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

В общем случае, обмен информацией между процессором семейства Х86 и другими устройствами системы обработки информации осуществляется при помощи трех основных шин:

·  Двунаправленной 32 – разрядной (или 64 разрядной для процессоров Pentium +) шины данных – DB – (Data Bus);

·  Шины адреса (в процессорах i386, i486 и Pentium – 30 двунаправленных линий А31…А2 и 4 однонаправленных линии выбора байтов BE3…BE0, а в процессорах Pentium Pro +  - 33 двунаправленные линии А35…А3 и 8 однонаправленных линий выбора байтов BE7…BE0) – AB – (Address Bus);

·  Шины управления с одно – и двунаправленными сигнальными и управляющими линиями – CB (Control Bus).

Совокупность этих трех шин иногда называют магистралью.

Основные машинные циклы процессора Х86 приведены в таблице VIII.1, где приведены их названия и управляющие сигналы, которые их определяют. Напомним, что символ # в конце обозначения сигнала указывает, что активным является низкий уровень этого сигнала. Отсутствие этого символа указывает на то, что данный сигнал активен при высоком уровне.

                                                                                               Таблица VIII.1

M/IO#

D/C#

W/R#

Тип шинного цикла

0

0

0

Подтверждение прерывания

0

0

1

Останов / специальный цикл

0

1

0

Чтение из устройства ввода/вывода

0

1

1

Запись в устройство ввода/вывода

1

0

0

Чтение команды из памяти

1

0

1

Зарезервировано

1

1

0

Чтение данных из памяти

1

1

1

Запись данных в память

При этом управляющий сигнал W/R# разделяет циклы записи и циклы чтения; сигнал D/C# разделяет циклы данных и циклы управления, а сигнал M/IO# разделяет циклы обращения к памяти и циклы обращения к  устройствам ввода/вывода.

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

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

 Однако большинство современных процессоров как корпорации Intel так и AMD (за исключением мобильных процессоров) поддерживают также 64-разрядную архитектуру расширения памяти. У AMD эта архитектура получила наименование архитектуры Х86-64 (2002 г.), а у Intel такая технология была названа Intel Extended Memory Technology (Intel EM64T) (2005 г.). При этом не следует путать технологию 64-разрядного расширения памяти с уже давно существующей технологией IA-64 (2001 г.), которая используется в истинно 64-разрядных процессорах Intel Itanium. При архитектуре IA-64 используются не только возможность 64-разрядного расширения адресов, но и возможность оперировать 64-разрядными данными.

Любопытно отметить, что хотя микроархитектура процессоров с 64-разрядным расширением памяти у Intel и AMD совершенно различна, но новые 64-разрядные инструкции Intel совместимы с инструкциями AMD на программном уровне. То есть для этих процессоров потребуется одна и та же операционная система, и 64-разрядные приложения, написанные для процессоров AMD, будут выполняться на процессорах Intel и наоборот.

Говоря о современных процессорах Intel в общем плане можно сказать, что они могут использоваться в четырех режимах работы:

·  классический 32-разрядный режим (Legacy IA-32 Mode);

·  совместимый режим (Compatibility Mode 64/32);

·  64-разрядный режим (64-bitMode 64/64);

·  полностью 64-разрядный режим (IA-64).

В режиме работы Legacy IA-32 работа процессора ничем не отличается от работы обычных 32-разрядных процессоров. Для работы процессора в этом режиме требуется использование 32-разрядной операционной системы.

Режимы Compatibility Mode и 64-bit Mode относятся к расширенному режиму IA-32, который обозначается как IA-32e и  реализуется технологией Intel EM64T. Чтобы обеспечить 64-битный режим функционирования процессора, кроме 64-битной операционной системы, потребуются ещё и приложения, специально написанные с учётом 64-разрядной адресации. В этом случае можно использовать 64-разрядную линейную (плоскую) адресацию (64-bit flat linear addressing). Однако, при работе в этом режиме процессор должен обеспечить еще и восемь новых регистров общего назначения РОН        ( GPR – General-Purpose Register), а также восемь новых командных регистров (SSE,SSE2 и SSE3 – Streaming SIMD Extensions).

А для того, чтобы можно было использовать 64-разрядную операционную систему для исполнения обычных 16- и 32-разрядных приложений используется режим Compatibility Mode.

Однако, для перехода к 64-разрядным вычислениям, необходима не только 64-разрядная операционная система, но и 64-разрядные приложения, нужда в которых, в настоящее время весьма проблематична при использовании обычных настольных компьютеров. Для этого должна быть необходимость использования в системе  оперативной памяти емкостью более 4 Гбайт.

Похожие материалы

Информация о работе