Архитектура ЭВМ и систем
Организация компьютерных систем
Процессор
История семейства Intel
Закон Мура
Состав процессора
Тракт данных
Выполнение команд
Основные характеристики процессора
Архитектура процессора
Форматы команд
Способы адресации
Система команд
Система команд
Примеры
Принципы разработки современных компьютеров (принципы RISC)
Параллелизм
Параллелизм на уровне команд
Конвейер
Задача
Определения
Суперскалярная архитектура
Прогнозирование ветвления
Алгоритмы прогнозирования
Параллелизм на уровне процессоров
Компьютеры ОКМД (SIMD) 1. Массивно-параллельные процессоры
2. Векторные процессоры
Сравнение компьютеров ОКМД
Компьютеры МКМД (МIMD) 1. Мультипроцессоры
2. Мультикомпьютеры
3. Мультипроцессоры NUMA
1.33M
Category: electronicselectronics

АрхЭВМ Тема 4 Процессор (1)

1. Архитектура ЭВМ и систем

Лекция 8

2. Организация компьютерных систем

Центральный
процессор
Основная
память
Внешние
устройства
Шина

3. Процессор

CPU – Central Processing Unit
Задачи
Интерпретация команд
Выполнение команд
Рассылка управляющих сигналов другим
устройствам

4. История семейства Intel

Микросхема
Дата
выпуска
4004
1970
8008
4/1972
16Кбайт
8080
4/1974
64 Кбайт
8086
6/1978
4.77 – 10
29 тыс.
3
1Мбайт
80386
10/1985
16-33
270 тыс
1 – 1.5
4 Гбайт
80486
4/1989
25-100
1.1 млн
0.6 - 0.8
Pentium
3/1993
60-100
3.1 млн
0,5 – 0,8
Pentium Pro
3/1995
150-200
5,5 млн
0,35 - 0,5
Pentium II
5/1997
233-450
7,5 млн.
0,25 - 0,35
Pentium III
2/1999
450-733
9,5 млн
0,18 - 0,25
Pentium IV
2000
1.3-1.5GHz
42 млн.
0,18

Тактовая
Кол-во
частота, МГц транзисторов
0.108
Техпроцесс,
мкм
Объем
памяти
640 байт
2300
64 Гбайт

5. Закон Мура

Число транзисторов на одной микросхеме
удваивается каждые 18 месяцев

6. Состав процессора

Intel 8086
регистр IP – счетчик (указатель) команд
4 сегментных регистра: CS – сегмент кода,
DS – сегмент данных, SS – сегмент стека,
Блок
ES – сегмент экстракода
управления
CS:IP (например, 0040h:0010h)
2 регистра указателя: SP – указатель стека,
Арифметико-BP – указатель базы
2 индексных регистра (SI, DI)
логическое
DS : SI, ES : DI
устройство
4 регистра общего назначения (AX, BX, CX, DX)
старшие половины AH, BH, CH, DH
младшие половины AL, BL, CL, DL),
Регистры
PSW – Program State Word – регистр флагов
(регистр состояния):
...
CF – флаг переноса старшего бита
ZF – флаг нулевого результата
NF – флаг отрицательного результата
OF – флаг переполнения

7. Тракт данных

Две группы команд:
Команды типа регистр-память
Команды типа регистр-регистр

8. Выполнение команд

ЦП выполняет каждую команду за несколько шагов:
вызывает очередную команду из памяти и переносит ее в
регистр команд
2. определяет тип вызванной команды
3. меняет IP, который теперь должен указывать на следующую
команду
4. если команда использует слово из памяти, определяет, где
находится это слово
5. переносит слово, если это необходимо, в регистр ЦП
6. выполняет команду
7. переходит к шагу 1
1.
(выборка–декодирование–исполнение)

9. Основные характеристики процессора

Тактовая частота
число элементарных операций – тактов,
выполняемых в течение одной секунды
Разрядность (длина слова)
максимальное количество разрядов двоичного
кода, которые могут передаваться или
обрабатываться одновременно за один такт.
Архитектура

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

Система и форматы команд
Способ реализации команд
Способ организации вычислительного процесса
Поддержка мультипроцессорности
Состав, имена и назначение программно доступных
регистров
Режимы адресации памяти
Способы машинного представления данных разного типа
Способы адресации периферийных устройств и средства
выполнения операций ввода/вывода
Классы прерываний, особенности инициирования и
обработки прерывания
и т.д.

11. Форматы команд

Машинная команда – это элементарная
инструкция машине, выполняемая ею
автоматически без каких-либо
дополнительных указаний и пояснений.
Код операции Поле операндов
По количеству операндов
Безадресные
Одноадресные
Двухадресные (н-р, Pentium II)
Трехадресные (н-р, Ultra SPARC II)

12. Способы адресации

Способ адресации
1. Непосредственная
адресация
2. Прямая адресация
Содержимое поля
операндов
Сам операнд
4. Косвенная
регистровая адресация
5. Стековая адресация
Адрес ячейки памяти, в
которой находится операнд
Регистр, в котором находится
операнд
Регистр, в котором находится
адрес операнда
Поле операндов отсутствует


3. Регистровая
адресация

13. Система команд

Система команд – полный список кодов операций,
которые способен выполнять процессор.
1.
CISC-архитектура (Complex Instructions Set
Computer) – с полным набором команд
2.
Программы-интерпретаторы имитируют работу процессора,
разбивают команды на маленькие шаги. При этом процессор
может выполнять большое количество сложных команд.
RISC-архитектура (Reduced Instructions Set
Computer) – с сокращенным набором команд.
RISС-архитектура реализует сокращенный набор
простейших, но часто употребляемых команд, что позволяет
упростить аппаратные средства микропроцессора и
благодаря этому повысить его быстродействие.

14. Система команд

CISC-архитектура (Complex Instructions Set Computer) –
с полным набором команд
Ориентирована на обработку данных, сохраняемых в памяти
Малое количество регистров
Большое количество разнообразных команд – отличаются по длине, количеству
операндов, времени выполнения
Наиболее часто используемые операции реализованы аппаратно
Очень сложный блок дешифрации команд
Короткие программы со сложными командами
RISC-архитектура (Reduced Instructions Set Computer) –
с сокращенным набором команд
Любая операция выполняется за один такт
Система команд содержит минимальное количество простейших инструкций.
Удалены сложные и редко используемые.
Все команды имеют одну длину. При этом уменьшается сложность УУ
процессора и увеличивается скорость дешифрации команд.
Отсутствуют команды, работающие с памятью напрямую. Обращение к данным
только из регистров. Возможна только загрузка данных из памяти в регистр и
наоборот, из регистра в память. На порядок увеличивается число регистров.
Программы занимают больше памяти.
Длинные программы с простыми однообразными командами

15. Примеры

CISC-процессоры:
IBM 360/370
Intel 80x86 и Pentium
Motorola MC680x0
DEC VAX и др.
RISC-процессоры:
RISC I
RISC II
Sun Ultra SPARC
MIPS
Alpha DEC
PowerPC и др.
CISC-процессоры с RISC-ядром:
Pentium Pro, Pentium II, Celeron, Pentium III, Pentium 4 (Intel)
AMD K5, K6 и K7 (Athlon) (AMD)
Intel Itanium II и др.

16. Принципы разработки современных компьютеров (принципы RISC)

Все команды непосредственно выполняются
аппаратным обеспечением.
Компьютер должен начинать выполнение
большого числа команд в секунду.
Команды должны легко декодироваться.
К памяти должны обращаться только
команды загрузки и сохранения.
Должно быть большое количество регистров.

17. Параллелизм

Используется для достижения лучшей
производительности при данной
скорости работы процессора.
Существует две основные формы:
на уровне команд
на уровне процессоров

18. Параллелизм на уровне команд

1. Выборка с упреждением
(1959 г. IBM Stretch)
Выполнение команды =
вызов команды
выполнение
2. Конвейер

19. Конвейер

Команда подразделяется на несколько этапов,
каждый из которых выполняется определенной
частью аппаратного обеспечения, причем эти части
могут работать параллельно.
С1
Блок
выборки
команд
С2
Блок
декодирования
1
2
С3
Блок
выборки
операндов
Время →
3 4 5 6
7
С4
Блок
выполнения команд
8
9
С2
...
С3
С4
С5
С1
С5
Блок
возврата

20. Задача

Предположим, что время цикла машины 2 нс. Сколько команд в
секунду может выполнять такой компьютер
а) без конвейера?
б) с конвейером?
Решение.
а) Чтобы одна команда прошла через весь конвейер, требуется
10 нс. Тогда за секунду компьютер может выполнить
1сек/10нс = 109/10 = 108 команд = 100 млн. команд.
б) Поскольку вторая команда заканчивает выполнение через 2
нс после первой (аналогично все последующие команды), то
машина выполняет
109/2 = 5*108 команд = 500 млн. команд в секунду.
Советы покупателям.
Покупая компьютер, проверьте, сколько операций он совершает в
секунду. Не ленитесь, посчитайте! Проверка займет у вас всего
одну секунду, зато вы будете уверены на все сто.

21. Определения

Время выполнения одной команды
называется временем ожидания.
Если время цикла составляет T нс, а
конвейер содержит n стадий, то время
ожидания равно
n T нс
Количество команд, выполняемых
процессором за 1 с. называется пропускной
способностью процессора и составляет
1000/T млн. команд в секунду.

22. Суперскалярная архитектура

С1
Блок
выборки
команд
С2
Блок
декодирования
Блок
декодирования
С3
Блок
выборки
операндов
С4
Блок
выполнен
ия команд
Блок
возврата
Блок
выборки
операндов
Блок
выполнен
ия команд
Блок
возврата
С5
Чтобы выполняться параллельно
две команды не должны конфликтовать при использовании
ресурсов
ни одна из них не должна зависеть от результата
выполнения другой.

23.

С4
АЛУ
С1
Блок
выборки
команд
С2
Блок
декодирования
С3
Блок
выборки
операндов
АЛУ
Блок
загрузки
Блок
работы с
плавающей
точкой
С5
Блок
возврата

24. Прогнозирование ветвления

По статистике, примерно на 6-8 команд приходится одна
команда перехода.
Пример. if i = 0 then k := 1 else k := 2
Сравнить i, 0
Перейти к else если i не равно 0
{условный переход}
Присвоить k=1
Перейти к Next
{безусловный переход}
Else: Присвоить k=2
Next:
По какой ветке пойти?
Безусловный переход
NOP
Условный переход
Ждать
Пойти по одной из веток (спекулятивное исполнение )
Пойти по обоим веткам (предикативное исполнение)

25. Алгоритмы прогнозирования

1. Предполагается, что все условные
переходы назад будут осуществляться, а все
условные переходы вперед не будут.
2. Динамическое прогнозирование
адрес
бит
перехода перехода
3. Статическое прогнозирование.
5
for i:=1 to 100млн do begin … end
4
3
2
1
0

26. Параллелизм на уровне процессоров

Классификация Флинна
Потоки данных
Один
Потоки
команд
Один
Много
SISD (ОКОД)
Много
SIMD (ОКМД)
Векторный суперкомпьютер,
Классическая машина массивно-параллельный
фон Неймана
процессор
MISD (МКОД)
MIMD (МКМД)
Не существует или Мультипроцессор,
конвейеры ?
мультикомпьютер

27. Компьютеры ОКМД (SIMD) 1. Массивно-параллельные процессоры

Блок управления
процессор
1968г ILLIAC IV
...
....................
...
память
обрабатывающие
элементы
Компьютеры ОКМД различаются по
1) структуре обрабатывающего элемента
2) типу связи обрабатывающих элементов
3) степени локальной автономии
обрабатывающих элементов

28. 2. Векторные процессоры

for i := 0 to n do a[i] := b[i] + c[i];
АЛУ
1976г Cray-1

29. Сравнение компьютеров ОКМД

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

30. Компьютеры МКМД (МIMD) 1. Мультипроцессоры

Мультипроцессор – система нескольких параллельных процессоров, разделяющих общую память
SMP – Shared Memory processing – система с
совместно используемой памятью.
Р
Р
Р
Р
Удобство
Р
Р
Память
совместного
использования
Р
Р
Р
Р
Р
Р
Р
Р
программирования
Дешевая реализация
Р
Р
Достоинства
Недостаток
Низкая
масштабируемость

31. 2. Мультикомпьютеры

Мультикомпьютер – система, состоящая из
большого числа взаимосвязанных компьютеров, у
каждого из которых имеется своя собственная память,
а общей памяти нет.
MPP – Massively Parallel Processing
M M M M система с распределенной памятью
Р
M
M
Р
Р
M
Р
M
Р
Р
Р
Р
Сеть
с передачей
сообщения
Р
Р
Р
Р
M
M
M
M
Р
Р
M
Р
M
M
Р
M
Достоинство
масштабируемость
Недостаток
сложность
программирования

32. 3. Мультипроцессоры NUMA

Non-Uniform Memory Access – с
неоднородным доступом к памяти
Общее адресное пространство
Доступ к удаленной памяти происходит
медленнее, чем к локальной памяти
Узлы – SMP системы
SMP
SMP
SMP
SMP
SMP
SMP
SMP
SMP
SMP

33.

Контрольная работа
English     Русский Rules