Читайте также: |
|
VIII. ШИННЫЕ ЦИКЛЫ И КОНВЕЙЕРНАЯ ОБРАБОТКА
КОМАНД
Шинные циклы процессора
Напомним что задача, которая должна быть выполнена компьютером, представляется ему в виде программы. Программа состоит из определенной последовательности инструкций или команд. Команды программы кодируются двоичными словами и размещаются в памяти компьютера. Основной целью функционирования компьютера является последовательное извлечение из памяти и выполнение команд программы.
Выполнение операции по извлечению из памяти и выполнению одной команды, а также и интервал времени, требующийся для этого, носит название командного цикла.
За время одного командного цикла процессор может обращаться к памяти, или периферийным устройствам, несколько раз, поскольку кроме выборки самой команды, в командном цикле может потребоваться выборка операндов и запоминание результата.
Однократный обмен информацией между процессором и памятью, или процессором и периферийным устройством носит название машинного цикла (цикла шины) или цикла магистрали.
Таким образом, командный циклпроцессора состоит из одного или нескольких машинных циклов. Машинный цикл, в свою очередь, реализуется за один или несколько тактов (тактовых интервалов) – периодов частоты синхронизации тактового генератора микропроцессора.
В общем случае, обмен информацией между процессором семейства Х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# | Тип шинного цикла |
Подтверждение прерывания | |||
Останов / специальный цикл | |||
Чтение из устройства ввода/вывода | |||
Запись в устройство ввода/вывода | |||
Чтение команды из памяти | |||
Зарезервировано | |||
Чтение данных из памяти | |||
Запись данных в память |
При этом управляющий сигнал 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-bit Mode 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 Гбайт.
А использование оперативной памяти такого объема влечет за собой: во-первых удорожание стоимости системы, а во-вторых не в каждой системе это вообще возможно, так как существуют ограничения по объему памяти, накладываемые чипсетом. Использование 64-разрядных вычислений имеет смысл в настоящее время в основном для пользователей, чья профессиональная деятельность связана с графикой, видеомонтажом, звуковым мастерингом и т.п.
Для более четкого представления об этих режимах процессоров корпорации Intel они сведены в таблицу VIII.2.
Таблица VIII.2
Архитектура и режим | Операционная система | Требуется перекомпиляция приложений | Размер адресации | Размер операндов | Размер регистров РОН | |
IA-32 | Legacy IA-32 Mode | 32-разрядная | нет | |||
IA-32e | Compatibility Mode 64/32 | 64-разрядная | нет | |||
16, 8 | ||||||
64-bit Mode 64/64 | 64-разрядная | да | ||||
IA-64 | IA-64 Mode | 64-разрядная | Другая система команд |
Число линий в шинах 64-разрядных процессоров архитектур IA-32e и IA-64, будут, естественно, отличаться от приведенных ранее, хотя в настоящее время, число адресных линий (разрядов) и в процессорах архитектуры IA32e используется гораздо меньше 64 (40-50, в крайнем случае).
Дата добавления: 2015-07-08; просмотров: 132 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Роль эндогенных факторов в формировании зоны гипергенеза | | | Конвейерная обработка команд. |