http-site.narod.ru/files/workpc.html
Компоненты процессора
В состав процессора входят четыре основные блока: арифметико-логическое устройство (АЛУ); блок управления; блок памяти; устройства ввода/вывода.
Данная логическая организация процессора — архитектура — была определена еще в 1946 г. американским ученым (венгром по национальности) Дж. фон Нейманом. Сегодня, больше половины столетия спустя, почти все процессоры имеют архитектуру «фон Неймана». 3.4.1.1. Принцип работы
Принцип работы любого процессора заключается в следующем. На вход CPU m системной шине поступают сигналы в виде логических 0 или 1 (т.е. двоичные сигналы), эти сигналы декодируются и на основании набора инструкций, интегрированных в CPU, управляют работой процессора, затем на выход процессора поступают «результаты работы CPU» в виде логических 0 и 1. Логические 0 или определяются напряжением на линиях шины. CPU «принимает решение» в результате функционирования так называемых логических вентилей, каждый из которых состоит по крайней мере из одного транзистора Логические вентили процессора используют принципы, заложенные Лейбницем и Дж. Булем и развитые в работах Шеннона и Винера. Главными булевыми операторами являются И, ИЛИ, НЕ, и НЕ-И (не И), а также всевозможные комбинации этих операторов. Логические вентили обеспечивают построение необходимого набора логических цепей для реализации инструкций процессора. Логические вентили управляются транзистором данного вентиля. Однако эти транзисторы не являются отдельным элементом. Современные микропроцессоры на одном кристалле содержат десятки миллионов микроскопических транзисторов. Используемые в комбинации с резисторами, конденсаторами и диодами, они составляют логические вентили, которые в свою очередь и составляют основные блоки процессора. В 1971 г. корпорации Intel впервые удалось интегрировать логические вентили на одном кристалле и создать первый в мире процессор, получивший название Intel 4004. Функционирование всех элементов процессора синхронизировано с помощью таймера. Первый микропроцессор работал с тактовой частотой 108 кГц, в то время как современный Pentium 4 — 3,06 ГГц, т. е. выполняется 3 млрд тактов в секунду. Во время каждого такта происходит обращение к специальному модулю памяти CPU -счетчику программ (Programm Counter — PrC), который содержит адрес следующей выполняемой инструкции. Блок управления передает инструкцию из памяти в регистры инструкций (Instruction Registers — IR). В то время как процессор выполняет инструкцию из IR, в счетчик программ поступает ссылка на следующую инструкцию. Некоторые инструкции обрабатывают непосредственно в блоке управления. Однако большинство инструкций поступает в арифметико-логическое устройство (arithmetic and logic unit — ALU), в котором выполняются арифметические и логические операции над числами. 3.4.1.2. Основные компоненты процессора
Главные функциональные компоненты процессора описаны ниже. Ядро. Основной компонент процессора, осуществляющий выполнение команд. Pentium имеет два параллельных целочисленных конвейера, дающие возможность читать, интерпретировать, выполнять и посылать две команды одновременно. Модуль предсказания перехода (Branch Predictor). Модуль определяет изменение последовательности выполнения команд после перехода, для того чтобы переслать эти команды заранее в декодер команд. Сопроцессор. Модуль для выполнения операций с нецелыми числами (числами с плавающей точкой). Кэш-память первого уровня (LI). CPU Pentium имеет два модуля кэш-памяти (L1) по 8 Кбайт каждый, один для команд, а другой для данных. Время доступ к данным модулям намного быстрее чем к внешней кэш-памяти второго уровня (L2). Интерфейсный модуль системной шины. По системной шине в CPU поступают команды и данные, которые в данном модуле разделяются на два потока. В случае, когда данные и команды выходят от CPU, потоки объединяются.
/>
Рис.3.11. Основные компоненты процессора Pentium
Переход — это изменение последовательности выполнения команд в соответствии с алгоритмом программного обеспечения. Согласно статистике, переходы встречаются в среднем через каждые шесть команд. Существуют безусловные переходы (типа GOTO), когда управление передается по новому указанному адресу, и условные (типа IF), когда изменяется ход выполнения программы в зависимости от результатов сравнения. Условные переходы снижают общую производительность CPU, т. к. в ожидании этого перехода конвейер работает вхолостую. Увеличение быстродействия процессора
Согласно закону, сформулированному в 1965 г. Гордоном Муром, количество транзисторов в интегральной микросхеме увеличивалось вдвое каждые 18 месяцев. Мур предсказал, что эта тенденция будет сохраняться в течение следующих десяти лет. График показывает, что закон выполняется и до настоящего времени. Законы физики ограничивают разработчиков в безграничном увеличении тактовой частоты процессора. Поэтому инженеры постоянно ищут способы заставить процессор выполнять как можно больше операций за один такт. Один подход состоитСопроцессор
Помимо обмена информацией с другими микросхемами на плате, главное предназначение CPU — считать, считать и считать. Если вы вспомните свое школьное время, то констатируете факт, что счет счету рознь. Основные арифметические операции, такие как сложение и вычитание, умножение и деление, приносят меньше забот, чем возведение в степень, вычисление тангенсов или операции с плавающей точкой.
На заре своего существования процессоры могли эффективно работать только с целыми числами. Для того чтобы обрабатывать дробные числа, необходимо было писать специальные программы, используя простые команды.
Для выполнения арифметических операций с плавающей точкой был разработан специальный арифметический процессор, называемый сопроцессором. В отличие от CPU, он не управляет системой, а ждет команду CPU на выполнение арифметических вычислений и формирование результатов. Согласно заявлениям фирмы Intel, арифметический сопроцессор может сократить на 80% и более (по сравнению с CPU) время выполнения таких арифметических операций, как умножение и возведение в степень. Скорость выполнения сложения и вычитания, как правило, остается без изменения.
Сопроцессор — только обиходное название для этого чипа. Правильно он называется математический сопроцессор (Numeric Processing Unit — NPU, или Floating Point Processing Unit, FPU). Сопроцессор стал впервые применяться с CPU третьего поколения. Тогда он располагался на материнской плате. Начиная с CPU 486DX, сопроцессор интегрирован прямо в CPU.Конвейерная обработка
Сказать, что процессор с тактовой частотой 100 МГц выполняет 100 млн команд в секунду — не верно. Для выполнения одной команды требуется, как правило, пять тактов: один, чтобы загрузить команду; один, чтобы ее декодировать; один, чтобы! загрузить данные, один — выполнить команду и один, чтобы записать результат, В этом случае очевидно, что процессор с тактовой частотой 100 МГц может выполнить лишь 20 миллионов команд в секунду.
Большинство процессоров теперь использует конвейерную обработку. Под конвейером в данном случае понимается такой метод внутренней обработки команд, когда исполнение команды разбивается на несколько ступеней (Stages) и каждой ступени соответствует свой модуль в структуре CPU. По очередному тактовому импульсу каждая команда в драйвере продвигается на следующую ступень, при этом выполненная команда покидает конвейер, а новая поступает в него.
Конвейерную обработку можно сравнить с работой грузчиков, стоящих в «цепочке» и передающих из рук в руки упаковки с продуктами. В этом случае процесс погрузки (разгрузки) существенно ускоряется по сравнению с тем, когда каждый грузчик бегает с отдельной упаковкой к месту их складирования. Процессоры, имеющие несколько ступеней, называются суперскалярными.
Таким образом, если за один такт одна команда загружается, другая декодируется, для третьей команды загружаются данные, четвертая фактически выполняется, а результаты пятой команды записываются, то можно говорить, что одна команда выполняется за один такт. Суперскалярная архитектура
Процессоры, имеющие несколько конвейеров, называются суперконвейерными. Таким образом, несколько команд могут выполняться параллельно. Так, например, CPU Pentium Pro способен выполнить до пяти команд за один такт. Технология ММХ/ММХ2
Технология ММХ ориентирована на решение задач мультимедиа, требующих интенсивных операций с целыми числами. Подобные задачи решают игровые, коммуникационные, обучающие программы, которые используют графику, аудио, трехмерное изображение, мультипликацию и т. п. Сущность технологии ММХ состоит в появлении в CPU Pentium виртуального эквивалента 8 новых 64-разрядных регистров и 57 новых команд для решения задач мультимедиа. Восемь новых регистров можно назвать виртуальными потому, что физически эти регистры являются регистрами сопроцессора. Таким образом, сохраняется совместимость с предыдущими поколениями программ. В сопроцессорах Pentium имеется восемь универсальных регистров для операций над числами с плавающей точкой по 80 бит каждый. При описании числа с плавающей точкой используются 64 бита для мантиссы и 16 бит для экспоненты. Команды ММХ используют только 64-разрядную часть мантиссы каждого из регистров сопроцессора. Регистры сопроцессора могут содержать 8 упакованных байтов, 4 упакованных 16-разрядных слова, два упакованных 32-разрядных двойных слова или же одно 64-разрядное слово. Таким образом, данные мультимедиа, разрядность которых кратна восьми, упаковываются в одно 64-разрядное слово, и над ним производится некое общее действие. Эта методика называется одиночной командой с множественными данными (Single Instruction Multiple Data, SIMD) и ориентирована на алгоритмы и типы данных, которые характерны для программного обеспечения мультимедиа. Предположим, что программа управляет графикой в 8-разрядном представлении цвета (т. е. цвет каждого пиксела кодируется 8 битами), который чаще всего используется в играх. ММХ-команда может упаковать восемь пикселов в один операнд и обработать их все одновременно. Обычный CPU обрабатывает пикселы последовательно. Приложения, работающие со звуком, в основном используют 16-разрядные пакеты данных, таким образом, одна команда ММХ может обработать сразу четыре таких пакета. Следует отметить, что для реализации этого алгоритма требуется специальное программное обеспечение, ориентированное на CPU класса ММХ. В январе 1999г. в технологию ММХ было добавлено 70 новых команд (SIMD-инструкций) групповой обработки данных с плавающей точкой (50) и дополнительные команды групповой обработки целочисленных данных (20). Благодаря этому набору команд, называемому SSE (Streaming SIMD Extensiuon), KNI (Katmai New Instruction) или ММХ2, были расширены возможности обработки изображений, потоков аудио- и видеоданных, а также распознавания речи. Технология 3DNow!
Для решения задач мультимедиа корпорация AMD разработала и установила на свои CPU новый модуль с конвейерной структурой для обработки 24 новых 3D-инструкций для ускорения обработки трехмерной графики, аудио- и видеоданных. Этот модуль получил название 3DNow!.. В отличие от технологии ММХ, основанной на работе с целыми числами, в набор инструкций 3DNow! включены команды, работающие с вещественными числами, что важно при расчете трехмерных сцен. Теоретически 3DNow! должен заменить сопроцессор при расчете трехмерных объектов. Модуль может выполнять одновременно до четырех SIMD-инструкций, что заметно увеличивает производительность процессора. Технология Hyper-Thereading
Фактически все современные операционные системы (начиная с Windows NT) и приложения (базы данных, программы мультимедиа, CAD и др.) поддерживают так называемые потоки или нити (threads). Потоки — это наборы команд, для выполнения которых процессором выделяется время. Потоки позволяют в рамках одной программы решать несколько задач одновременно. К примеру, пакеты из состава MS Office задействуют по несколько потоков. MS Word может одновременно корректировать грамматику и печатать, при этом осуществляя ввод данных с клавиатуры и мыши.
В многопроцессорных системах разные потоки могут обрабатываться на разных процессорах (при использовании современных операционных систем и приложений), что увеличивает скорость обработки данных. Технология Hyper-Thereading имитирует работу с потоками 2-процессорной системы, создавая на одном CPU два логических 32-разрядных процессора.
Для реализации в системе технологии Hyper-Thereading необходимо: новейший процессор Intel Pentium 4 с тактовой частотой 3,06 ГГц или выше; набор микросхем IntelR с поддержкой технологии Hyper-Thereading; BIOS с поддержкой технологии Hyper-Thereading (соответствующая опция должна быть включена); операционная система, оптимизированная для работы с технологией Hyper-Thereading. 3.4.2. Основные характеристики процессоров3.4.2.1. Внутренняя разрядность данных
Это количество бит информации, которое процессор может обрабатывать одновременно. Данная характеристика важна при выполнении простейших арифметических и логических операций. В зависимости от типа процессора внутренняя разрядность данных может составлять 16, 32 или 64 бита. 3.4.2.2. Внешняя разрядность данных
Это количество бит информации, рассматриваемой как единое целое, которым процессор может обмениваться с другими устройствами (кэш-памятью, оперативной памятью и т.д.) посредством системной шины. Данная величина может составлять 8, 16, 32, 64 бита. 3.4.2.3. Внутренняя и внешняя тактовая частота
Все процессоры являются синхронными устройствами. Это значит, что любые операции, выполняемые ими синхронизируются по времени тактовым сигналам. В зависимости от сложности операции, выполняемой процессором, она может длиться несколько тактов.
Из-за того, что быстродействие процессора может существенно превышать быстродействие всех остальных компонентов компьютера (памяти, внешних устройств и т.д.), используются разные тактовые частоты: Внешняя тактовая частота процессора, равная частоте системной шины, синхронизирующая операции обмена данными по системной шине между процессором и другими устройствами. Внутренняя тактовая частота процессора, используемая для синхронизациии работы самого процессора. Эта частота образуется внутри процессора путем умножения внешней тактовой частоты на заданный коэффициент (например, 1.5, 2, 2.5, 3, 3.5 и т.д.).
Для процессоров 8086, 80286, 80386 и ранних моделей процессоров 80486 (например, 486DX/SX-25, 33, 40, 50) внешняя и внутренние тактовые частоты совпадали. Во всех современных процессорах широко применяется умножение внешней тактовой частоты для получения большей внутренней тактовой частоты процессора. Имеется два способа увеличения производительности компьютера: Повышение внутренней тактовой частоты процессора, выполняемое путем замены процессора с одной внутренней частотой на другой процессор с более высокой частотой. Это увеличивает производительность самого процессора. Данный способ имеет ограниченное применение, т.к. процессор вынужден простаивать при выполнении операций обмена данными с другими устройствами по системной шине, которая имеет тактовую частоту гораздо меньшую, чем внутренняя частота процессора.Повышение частоты системной шины, увеличивающее производительность самой шины и заодно процессора, т.к. при заданном коэффициенте умножения частоты процессора его внутренняя частота тоже увеличивается. Этот способ дает больший эффект для повышения быстродействия системы в целом. Однако, не все устройства компьютера устойчиво работают на повышенных частотах системной шины.3.4.2.4. Максимальный объем адресуемой памяти
Этот показатель напрямую зависит от количества разрядов n шины адреса и рассчитывается по формуле 2n. Как правило, процессор теоретически может адресовать гораздо больший объем оперативной памяти, чем тот, который фактически можно установить на конкретной системной плате. Например, системная плата на чипсете Intel 80440BX может работать не более чем с 512 Мбайт оперативной памяти, хотя процессор Pentium-II может адресовать теоретически 4 Гбайта памяти. 3.4.2.5. Режимы работы процессора
Для всех процессоров, которые применяются в IBM-совместимых компьютерах, характерно три режима работы — реальный, защищенный и режим эмуляции процессора 8086. 3.4.2.6. Внутренняя кэш-память
Представляет собой сверхбыстродействующее ОЗУ небольшой емкости, входящее в состав процессора. Внутренняя кэш-память постоянно обновляется и хранит данные из оперативной памяти компьютера, к которым процессор обращался сравнительно недавно. При повторных запросах процессора на чтение, он получает данные не из относительно медленной оперативной памяти, а из более быстрой внутренней кэш-памяти. Впервые внутренняя кэш-память емкостью 8 Кбайт была использована в процессоре 80486. Малая емкость внутренней кэш-памяти обусловлена ее высокой стоимостью (плата за высокое быстродействие) и необходимостью размещения ее на одном кристалле с процессором. 3.4.2.7. Напряжение питания
Проблема — отвод тепла (зависит от внутренней тактовой частоты процессора, степени интеграции и напряжения его питания)
Первые процессоры (8086-80486DX2-66)- U=5B
Последующие CPU (486DX2-66) -3B
Блок питания подает на процессор стандартное напряжение (+5 В), которое может быть преобразовано с помощью микросхем-преобразователей напряжения в набор напряжений (3.5 В, 2.8 В, 2.5 В, 2.2 В, 2.0 В и др.), необходимых для питания процессоров различных типов. 3.4.2.8. Форм-фактор
Под форм-фактором процессора понимаются не только его геометрические размеры, но и количество и расположение контактов, с помощью которых процессор соединяется с системной платой. В зависимости от форм-фактора меняются и способы крепления процессора на плате. Применялись следующие основные способы крепления: пайка, установка в «кроватку» (PGA-разъем), установка в ZIF-разъемы, установка в картридж (Slot1). 3.4.3. Способы крепления процессора на системной платеКрепление процессора с помощью пайки
Первые микропроцессоры впаивались непосредственно на системную плату. Такой способ крепления широко использовался начиная процессоров с 8086 до 80386 включительно. Такой подход существенно ограничивал возможности дальнейшей модернизации компьютера путем замены процессора. />
Рис.3.12. Внешний вид процессора 80386, впаянного на системную платуУстановка в «кроватку» (PGA-разъем)
Данный вид крепления имеет преимущество по сравнении с пайкой процессора, т.к. позволяет относительно легко осуществить замену процессора., т.е. в данном случае жесткого соединения процессора с системной платой не происходит. Для установки процессора достаточно просто вставить его в соответствующий разъем («кроватку»). Такая установка использовалась для крепления процессоров 80286 и 80386 Установка в ZIF-разъемы
На смену ранее описанным методам крепления пришел метод установки процессора в ZIF-разъемы с «нулевым» усилием вставки, который получил широкое распространение (80486, Pentium, Pentium-MMX). В отличие от установки в «кроватку» разъемы такого типа (Socket 3 -Socket 7) позволяют более надежное крепление процессора путем использования специального зажима. На самом процессоре и на разъеме один из углов срезан, что позволяет однозначно ориентировать процессор при вставке. />
Рис.3.13. Внешний вид разъема Socket 7/>/>
Рис.3.14. Внешний вид разъема процессора AMD К-5, устанавливаемого в Socket 7Установка в картридж
Для высокопроизводительных процессоров типа Pentium II, Celeron, Xeon был разработан новый способ установки, когда процессор устанавливается в специальный SEC-картридж (Single Edge Contact), и уже этот картридж устанавливает перпендикулярно в специальный разъем на системной плате, подобный слотам для установки модулей оперативной памяти. Такой разъем называется Слот 1. Для охлаждения процессора в картридж встроена теплоотводная пластина, к которой присоединен радиатор. Специально для многопроцессорных систем разработан новый Слот 2, картридж которого значительно больше по размерам. Использование картриджей экономит место на системной плате, используемое ранее под размещение разъема для установки процессора. 3.4.4. Состав и история развития семейства процессоров Intel
Название процессора и год появления
Тактовая
частота, МГц
Разрядность шины данных
Разрядность шины адреса
Наличие и размер внутренней кэш-памяти
Способ
крепления
Особенности
8086
1976 г.
8
16
20
-
пайка
Применялся в компьютерах класса XT; работает только в реальном режиме; доступно 1 Мб оперативной памяти
8088
1978 г.
4,77
8
20
-
пайка
Более дешевая версия за счет уменьшения разрядности шины данных, но менее производительная
80286
1981 г.
от 6, 8 до 20
16
24
-
пайка или установка в «кроватку»
Применялся в первых комптьютерах класс AT; работает не только в реальном, но и в защищенном режиме, в котором может обращаться к 16 Мб физической и 1 Гб виртуальной памяти
80386DX
1986 г.
33
32
32
-
пайка или установка в «кроватку»
Также как и 80286 поддерживает защищенный режим, в котором может обращаться к 4 Гб физической и 64 Гб виртуальной памяти, поддерживает виртуальный (эмуляция нескольких процессоров 8086) режим, для повышения производительности системы в целом может работать с внешней установленной на системной плате кэш-памятью
80386SX
1985 г.
16, 25
16
32
-
пайка
Является «упрощенной» версией 80386DX
80486DX
1989 г.
25, 33, 50
32
32
8 Кб
Socket 5
Имеет интегрированный сопроцессор для выполнения вычислений с плавающей точкой; конвейризация вычислений, то есть каждая последующая команда начинает выполняться после прохождения первой ступени предыдущей команды; расширенный набор команд
80486SX
1991 г.
20, 33
32
32
8 Кб
Socket 5
Является «упрощенной» версией 80486DX; отсутствует сопроцессор
80486DX/2
1992 г.
40, 50, 66
32
32
8 Кб
Socket 5
Представляет собой развитий 80486DX за счет удвоения тактовой частоты; требует систему охлаждения процессора (радиатор или вентилятор)
80486DX/4
1994 г.
75, 83, 100
32
32
16 Кб
Socket 5
Представляет собой развитий 80486DX/2 за счет удвоения тактовой частоты
80586 (Pentium)
1993 г.
60, 66, 75, 90, 100, 133, 150, 166, 200
64
32
16 Кб
Socket 7
Встроенный сопроцессор дает 3-4-кратный выйгрыш по скорости выполнения операций по сравнению с 80486; получила дальнейшее развитие конвейризация вычислений; имеется специальный буфер адреса перехода, где хранятся данные о последних 256 адресах перехода.
80686
(Pentium Pro)
1995 г.