
|
|||
|
|||
|
Как известно , процессор является основным вычислительным блоком компьютера, в наибольшей степени определяющим его мощь. Процессор является устройством, исполняющим программу - последовательность команд (инструкций), задуманную программистом и Всем известный IBM PC-совместимый компьютер представляет собой реализацию так называемой фон - неймановской архитектуры вычислительных машин . Эта архитектура былапредставлена Джоном фон - Нейманом еще в 1945 году и имеет следующие основные признаки . В общем смысле под архитектурой процессора понимается его программная модель, то есть программно- видимые свойства . Под микроархитектурой понимается внутренняя реализация этой программной модели. Для одной и той же архитектуры разными фирмами и в разных поколениях применяются существенно различные микроархитектурные реализации , при этом , естественно, стремятся к максимальному повышению производительности ( скорости исполнения программ). Сейчас существует множество архитектур процессоров, которые делятся на две глобальные категории - RISC и CISC. RISC - Reduced (Restricted) Instruction Set Computer - процессоры ( компьютеры) с сокращенной системой команд. Эти процессоры обычно имеют набор однородных регистров универсального назначения , причем их число может быть большим . Система команд CISC - Complete Instruction Set Computer - процессоры ( компьютеры) с полным набором инструкций, к которым относится и семейство х86. Состав и назначение их регистров существенно неоднородны , широкий набор команд усложняет декодирование инструкций, на что расходуются аппаратные ресурсы . Возрастает число тактов , необходимое для выполнения инструкций. Процессоры х86 имеют самую сложную в мире систему команд. Хорошо ли это, вопрос спорный , но груз совместимости с программным обеспечением для IBM PC, имеющим уже 20-летнюю историю , не позволяет расставаться с этим "наследием тяжелого прошлого". В процессорах семейства х86, начиная с 486, применяется комбинированная архитектура - CISC-процессор имеет RISC- ядро. Различают следующие способы организации вычислительного процесса: - один поток команд - один поток данных (Simple Instruction - Simple Data, SISD) - характерно для традиционной фон - неймановской архитектуры ( иногда вместо Simple пишут Single); - один поток команд - множественный поток данных (Simple Instruction - Multiple Data, SIMD) - технология MMX; - множественный поток команд - один поток данных (Multiple Instruction - Simple Data, MISD); - множественный поток команд - множественный поток данных (Multiple Instruction - Multiple Data, MIMD). Рассмотрим порядок исполнения инструкций обработки данных - выполнения арифметических или логических функций . Во многих случаях инструкция работает с парой операндов - операндом назначения dest (destination) и операндом - источником src (source). Такой принцип исполнения естественен для базовой архитектуры процессоров х86. В процессоры Pentium, " под занавес" их развития , было введено расширение ММХ, направленное на ускорение обработки потоков и массивов данных. Ключевым в этом расширении стал принцип SIMD. Здесь вводятся новые упакованные форматы данных: в один регистр ММХ можно помещать не только один операнд (64- битное число), но и пару 32- битных, четверку 16-битных или восьмерку 8-битных чисел. Одна инструкция MMX выполняет однотипные действия сразу над всеми числами , упакованными в регистры ММХ, заданные операндной частью данной инструкции. Поначалу набор инструкций ММХ ограничивался целочисленной арифметикой и логикой, и он стал стандартом для всех современных процессоров х86. Позже появились расширения 3DNow! ( от AMD) и SSE ( от Intel) для чисел в формате с плавающей Несколько слов о числах с плавающей точкой . Архитектура процессора 8086 позволяет выполнять арифметические функции (сложение, вычитание , умножение и деление) над целочисленными данными ( знаковыми и беззнаковыми, двоичными и двоично - десятичными ) разрядностью 8 или 16 бит. В процессорах 386+ можно обрабатывать и 32- разрядные числа. Для работы с числами в формате с плавающей точкой ( представленными в виде мантиссы и порядка) предусмотрен математический сопроцессор. Сопроцессор представляет собой набор 80- битных регистров и специализированное арифметическое устройство , которое кроме четырех арифметических действий способно вычислять значение квадратного корня, тригонометрических функций , логарифмов и степеней чисел. Сопроцессор может только перехватывать адресованные ему инструкции из потока команд, выполняемых центральным процессором . Все манипуляции с памятью выполняет центральный процессор. Сложные функции сопроцессора требуют довольно больших затрат времени , но во время их выполнения центральный процессор может продолжать выполнение инструкций, вплоть до момента появления следующей инструкции, адресованной сопроцессору . Однако эта эпизодическая параллельность вычислений не противоречит принципу последовательной передачи управления (самостоятельно сопроцессор передать управление не способен ). При отсутствии сопроцессора его функции можно выполнять программно целочисленными средствами центрального процессора , но сопроцессор их выполняет в сотни и тысячи раз быстрее. Программная эмуляция сопроцессора может включаться прозрачно для прикладных программ, обращающихся к сопроцессору . Для этого используется механизм исключений.
|