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

Процессор. Под архитектурой процессора понимается его программная модель, то есть про¬граммно-видимые свойства. Программная модель процессора - это функциональная модель, используемая программистом при разработке программ в кодах ЭВМ или на языке ассемблера. В такой модели игнорируются многие аппаратные особенности в работе процессора. Под микроархитектурой понимается аппаратная реализация этой программной моде¬ли. Для одной и той же архитектуры разными фирмами и в разных поколе¬ниях применяются существенно различные микроархитектурные реализации, при этом, естественно, стремятся к максимальному повышению производитель¬ности (скорости исполнения программ). В состав микропроцессора (МП) входят арифметико-логическое устройство (АЛУ), устройство управления (УУ) и группа регистров Арифметико-логическое устройство (АЛУ) – часть микро¬процессора, которая осуществляет арифметические и логические операции Устройство управления (УУ) – формирует и подает во все блоки процессора в нужные моменты времени определенные сигналы управления, обусловленные спецификой выполняемой операции и результатами предыдущих операций; формирует адреса ячеек памяти, используемых выполняемой операцией, и передает эти адреса в соответствующие блоки ЭВМ. Основные принципы работы современных процессоров Про¬цессор может работать в одном из двух режимов: режим реальной адресации (Real Address Mode), в котором возможна адресация до 1 Мбайт физической памяти, и защищенный режим виртуальной адресации (Protected Virtual Address Mode), в котором процессор позво¬ляет адресовать до 4 Гбайт физической памяти и до 64 Тбайт виртуальной памяти каждой задачи. В архитектуру процессоров введены средства отладки и тести¬рования.существенное значение имеет реализация различных способов конвейеризации и распараллеливания вычисли¬тельных процессов, а также других технологий, не свойственных процессорам прежних поколений. Конвейеризация (pipelining) предполагает разбивку выполнения каждой инструк¬ции на несколько этапов, причем каждый этап выполняется на своей ступени кон¬вейера процессора. При выполнении инструкция продвигается по конвейеру по мере освобождения последующих ступеней. Таким образом, на конвейере одно¬временно может обрабатываться несколько последовательных инструкций, и производительность процессора можно оценивать темпом выхода выполненных инструкций со всех его конвейеров Скалярным называют процессор с единственным конвейером, к этому типу отно¬сятся все процессоры Intel до 486 включительно. Суперскалярный (superscalar) процессор имеет более одного (Pentium – два) конвейера, способных обрабаты¬вать инструкции параллельно. Pentium является двухпотоковым процессором (имеет два конвейера), Pentium Pro – трехпотоковым. Переименование регистров (register renaming) позволяет обойти архитектурное ограничение на возможность параллельного исполнения инструкций (доступно всего восемь общих регистров). Процессоры с переименованием регистров фак¬тически имеют более восьми общи регистров, и при записи промежуточных ре¬зультатов устанавливается соответствие логических имен и физических регист¬ров. Таким образом, одновременно могут исполняться несколько инструкций, ссылающихся на одно и то же логическое имя регистра, если, конечно, между ними нет фактических зависимостей по данным. Продвижение данных (data forwarding) подразумевает начало исполнения инст¬рукции до готовности всех операндов. При этом выполняются все возможные действия, и декодированная инструкция с одним операндом помещается в испол¬нительное устройство, где дожидается готовности второго операнда, выходящего с другого конвейера. Предсказание переходов (branch prediction) позволяет продолжать выборку и деко¬дирование потока инструкций после выборки инструкции ветвления (условного перехода), не дожидаясь проверки самого условия. В процессорах прежних поко¬лений инструкция перехода приостанавливала конвейер (выборку инструкций) до исполнения собственно перехода, на чем, естественно, терялась производи¬тельность. Предсказание переходов направляет поток выборки и декодирования по одной из ветвей. Статический метод предсказания работает по схеме, заложен¬ной в процессор, считая, что переходы по одним условиям, вероятнее всего, про¬изойдут, а по другим – нет. Динамическое предсказание опирается на предысто¬рию вычислительного процесса – для каждого конкретного случая перехода накапливается статистика поведения, и переход предсказывается, основываясь именно на ней. Исполнение по предположению, называемое также спекулятивным (speculative execution), идет дальше – предсказанные после перехода инструкции не только декодируются, но и по возможности исполняются до проверки условия перехода. Если предсказание сбывается, то труд оказывается ненапрасным, если не сбыва¬ется – конвейер оказывается недогруженным и простаивает несколько тактов. Исполнение с изменением последовательности инструкций (out-of-order execution), свойственное RISC-архитектуре, теперь реализуется и для процессоров х86. При этом изменяется порядок внутренних манипуляций данными, а внешние (шин¬ные) операции ввода/вывода и записи в память выполняются, конечно же, в по¬рядке, предписанном програм¬мным кодом. Однако эта способность процессора в наибольшей степени может блокироваться несовершенством программного кода (особенно 16-битных приложений), если он генерируется без учета возможности изменения порядка.