Скачиваний:
95
Добавлен:
15.04.2023
Размер:
29.36 Mб
Скачать

4. Архитектура процессора.

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

Таблица – Примеры процессоров, идентифицированные функцией

Тип процессора

Приложение

Graphics processing unit (GPU)

Трёхмерная графика; рендеринг; затенение, текстура

Digital signal processor (DSP)

Задачи цифровой обработки сигналов, иногда используется с беспроводной связью

Media processor

Обработка видео- и аудиосигнала

Network processor

Маршрутизация, буферизация

Таблица – Примеры процессоров, идентифицированные архитектурой

Тип процессора

Архитектура/применение

SMD

Одна инструкция, применяемая к нескольким функциональным блокам (процесоорам)

Vector (VP)

Одна инструкция, применяемая к нескольким конвейерным регистрам

VLIW

Несколько инструкций, выдаваемых каждому циклу под контролем компилятора

Superscalar

Несколько инструкций, выдаваемых каждому циклу под аппаратным контролем

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

Процессор: функциональный вид

SoC

Приложение

Архитектура набора команд

Описание процессора

Freescale e600

ЦОС

PowerPC

Суперскаляр с векторным расширением

ClearSpeed CSX600

Общий

Проприетарный

Массив-процессор из 96 элементов обработки

PlayStation 2

Игры

MIPS

Конвейер с двумя векторными сопроцессорами

ARM VFP11

Общий

ARM

Настраиваемый векторный сопроцессор

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

5. Простые последовательные процессоры.

Последовательные процессоры напрямую реализуют модель последовательного выполнения. Эти процессоры обрабатывают инструкции последовательно из потока команд. Следующая инструкции не обрабатывается до тех пор, пока всё выполнение текущей не будет завершено и её результаты не будут зафиксированы.

Семантика инструкции определяет, что для получения указанного результата должна быть выполнена последовательность действий. Эти действия включают в себя:

  1. Получение инструкции в регистр инструкций (IF)

  2. Расшифровка кода операции инструкции (ID)

  3. Генерация адреса в памяти любого элемента данных, находящего там (AG)

  4. Получение операндов данных в исполняемые регистры (DF)

  5. Выполнение указанной операции (EX)

  6. Запись результата в файл регистра (WB)

Instruction

IF

ID

AG

DF

EX

WB

Во время выполнения последовательный процессор выполняет одну или несколько операций за тактовый цикл из потока команд.

Инструкция – это контейнер, который представляет собой наименьший пакет выполнения, явно управляемый процессором. Одна или несколько операций содержатся в инструкции.

Различие между инструкциями и операциями имеет решающее значение для различения поведения процессора. Скалярные и суперскалярные процессоры потребляют одну или несколько команд за цикл, где каждая инструкция содержит одну операцию.

Соседние файлы в предмете Основы разработки систем на кристалле