Эволюция технологий изготовления процессора

Содержание

Слайд 2

Эволюция технологий изготовления процессора Электромеханическое реле Вакуумные лампы и ячейки на лампах Транзисторы

Эволюция технологий изготовления процессора

Электромеханическое реле

Вакуумные лампы и ячейки на лампах

Транзисторы

Слайд 3

Эволюция технологий изготовления процессора: микросхемы Микропроцессор Intel 4004 1971 год первый

Эволюция технологий изготовления процессора: микросхемы

Микропроцессор Intel 4004

1971 год
первый в мире коммерчески

доступный однокристальный микропроцессор
стоимость 200 долларов
на одном кристалле все функции процессора большой ЭВМ
60 000 (в среднем, максимально до 93 000) инструкций в секунду
Количество транзисторов: 2250
Слайд 4

В настоящее время Intel Core i3 2010 2011 год 995 000

В настоящее время

Intel Core i3 2010

2011 год
995 000 000 транзисторов
~145 000

000 000 операций с плавающей точкой в секунду
2013 год: Ivy Bridge 1,4 млрд. транзисторов на площади кристалла 160 мм².
Слайд 5

Processor Number i7-5960X Intel® Smart Cache 20 MB Instruction Set 64-bit

Processor Number i7-5960X
Intel® Smart Cache 20 MB
Instruction Set 64-bit
Lithography 22 nm
# of Cores 8
Processor Base Frequency 3

GHz
Max Turbo Frequency 3.5 GHz
TDP 140 W (Thermal Design Power)
Max Memory Size (dependent on memory type) 64 GB
Memory Types DDR4-1333/1600/2133
Max # of Memory Channels 4
Max Memory Bandwidth 68 GB/s
Processor Graphics ‡ None
2,2 млрд транзисторов
~ 1000 долларов
Слайд 6

Закон Мура Удвоение числа транзисторов каждые 2 года Если бы авиапромышленность

Закон Мура

Удвоение числа транзисторов каждые 2 года

Если бы авиапромышленность в последние

25 лет развивалась столь же стремительно, как промышленность средств вычислительной техники, то сейчас самолёт Boeing 767 стоил бы 500 долл. и совершал облёт земного шара за 20 минут, затрачивая при этом пять галлонов (~18,9 л) топлива.

Журнал «В мире науки» (1983, № 08)

Слайд 7

Схема работы транзистора Напряжение на базе ниже критического – транзистор действует

Схема работы транзистора

Напряжение на базе ниже критического – транзистор действует как

большое сопротивление; выходное напряжение высоко
Напряжение на базе выше критического - транзистор открывается; выходное напряжение падает

Vout

+V

Vin

Затвор

Слайд 8

Построение логических элементов на транзисторах Vout +V V1 V2 0 1 1 1

Построение логических элементов на транзисторах

Vout

+V

V1

V2

0

1

1

1

Слайд 9

Построение элемента И Vout +V V1 V2 Vout +V Vin

Построение элемента И

Vout

+V

V1

V2

Vout

+V

Vin

Слайд 10

Vout +V V1 V2 Построение логических элементов на транзисторах 0 1 0 0

Vout

+V

V1

V2

Построение логических элементов на транзисторах

0

1

0

0

Слайд 11

Vout +V V1 V2 Построение элемента ИЛИ Vout +V Vin

Vout

+V

V1

V2

Построение элемента ИЛИ

Vout

+V

Vin

Слайд 12

Логические функции Все операции являются результатом работы логических функций ? Любую

Логические функции

Все операции являются результатом работы логических функций

?

Любую логическую функцию

можно построить на базисных логических элементах
Слайд 13

Пример: Таблица истинности сумматора 0 0 1 1 Перенос 1 0

Пример: Таблица истинности сумматора

0

0

1

1

Перенос

1

0

0

0

0

0

1

1

1

0

0

0

1

1

0

0

1

0

1

1

Слайд 14

Пример: Схема сумматора Принципиальная схема, реализующая таблицу истинности полного двоичного одноразрядного

Пример: Схема сумматора

Принципиальная схема, реализующая таблицу истинности полного двоичного одноразрядного сумматора

Принципиальная

схема многоразрядного двоичного сумматора
Слайд 15

Схема материнской платы ПК

Схема материнской платы ПК

Слайд 16

Предельно-упрощенная схема ПК Процессор Память Устройства ввода/вывода внешняя внутренняя Общая шина Контроллеры УУ АЛУ Регистр Адреса

Предельно-упрощенная схема ПК

Процессор

Память

Устройства ввода/вывода

внешняя

внутренняя

Общая шина

Контроллеры

УУ

АЛУ

Регистр Адреса

Слайд 17

Алгоритм работы процессора: обращение в память за командой Процессор Память Устройства

Алгоритм работы процессора: обращение в память за командой

Процессор

Память

Устройства ввода/вывода

внешняя

внутренняя

Контроллеры

УУ

АЛУ

Регистр Адреса

Регистр Команды

?


Обращение в память за командой

Слайд 18

Формат команды процессора N (1,2,…) байт (в зависимости от архитектуры) Код

Формат команды процессора

N (1,2,…) байт (в зависимости от архитектуры)

Код команды

Числовая комбинация,

определяющая действия процессора

Операнд 1

Данные для команды или указание, откуда взять данные для команды

Операнд M


Слайд 19

Алгоритм работы процессора: обращение в память за данными Процессор Память Устройства

Алгоритм работы процессора: обращение в память за данными

Процессор

Память

Устройства ввода/вывода

внешняя

внутренняя

Контроллеры

УУ

АЛУ

Регистр Адреса

Регистр Команды

Обращение

в память за данными

Регистры Данных

Данные

Слайд 20

Алгоритм работы процессора: обработка данных в АЛУ Процессор Память Устройства ввода/вывода

Алгоритм работы процессора: обработка данных в АЛУ

Процессор

Память

Устройства ввода/вывода

внешняя

внутренняя

Контроллеры

УУ

Регистр Адреса

Регистр Команды

Регистры Данных

АЛУ

Данные

Данные

Признаки

операции

Регистр Состояния

Слайд 21

Алгоритм работы процессора: отправка данных в память Процессор Память Устройства ввода/вывода

Алгоритм работы процессора: отправка данных в память

Процессор

Память

Устройства ввода/вывода

внешняя

внутренняя

Контроллеры

УУ

Регистр Адреса

Регистр Команды

Регистры Данных

АЛУ

Данные

Регистр

Состояния
Слайд 22

Алгоритм работы процессора: определение адреса команды Процессор Память Устройства ввода/вывода внешняя

Алгоритм работы процессора: определение адреса команды

Процессор

Память

Устройства ввода/вывода

внешняя

внутренняя

Контроллеры

УУ

Регистр Команды

В счетчике команд определяется

адрес следующей команды

Регистры Данных

АЛУ

Регистр Состояния

Регистр Адреса

Слайд 23

Алгоритм работы процессора Выбор команды Дешифрация Запрос операндов Выполнение команды с

Алгоритм работы процессора

Выбор команды
Дешифрация
Запрос операндов
Выполнение команды с получением результата и/или формированием

признаков
Запись результата
Увеличение (изменение) счетчика команд
Слайд 24

Упрощенная структурная схема процессора (следующий слайд)

Упрощенная структурная схема процессора

(следующий слайд)

Слайд 25

Блок выборки инструкций Ядро процессора 1 Предсказатель переходов Блоки декодирования инструкций

Блок выборки инструкций

Ядро процессора 1

Предсказатель переходов

Блоки декодирования инструкций

Блоки выборки данных

Управляющий блок

Блоки

выполнения инструкций

Блок сохранения результата

Регистры

Микрокод

Блок работы с прерыва-ниями

Счетчик команд

Кеш память 1го уровня (инструкций)

Кеш память 1го уровня (данные)

Кеш память 2го уровня

Кеш-память 3го уровня

Контроллер ОЗУ

Контроллер системной шины

Кеш память 1го уровня (инструкций)

Кеш память 1го уровня (данные)

Кеш память 2го уровня

Ядро процессора 2

Слайд 26

Способы увеличения производительности процессора Конвейеризация Суперскалярность Параллельная обработка данных Технология Hyper-Threading

Способы увеличения производительности процессора

Конвейеризация

Суперскалярность

Параллельная обработка данных

Технология Hyper-Threading

Технология Turbo Boost

Эффективность выполнения команд

Слайд 27

Конвейер Выбор команды Дешифрация Запрос операндов Выполнение команды с получением результата

Конвейер

Выбор команды
Дешифрация
Запрос операндов
Выполнение команды с получением результата и/или формированием признаков
Запись результата
Увеличение

(изменение) счетчика команд
Слайд 28

Конвейеризация 1-ая команда 2-ая команда 1-ая команда 3-ья команда 4-ая команда

Конвейеризация

1-ая команда

2-ая команда

1-ая команда

3-ья команда

4-ая команда

2-ая команда

3-ья команда

4-ая команда

Слайд 29

Суперскалярность Наиболее нагруженные блоки присутствуют в нескольких экземплярах Параллельное выполнение возможно при независимости инструкций

Суперскалярность

Наиболее нагруженные блоки присутствуют в нескольких экземплярах
Параллельное выполнение возможно при независимости

инструкций
Слайд 30

Параллельная обработка данных Не все программы могут работать на нескольких ядрах

Параллельная обработка данных

Не все программы могут работать на нескольких ядрах
Одна программа

–одно ядро: а если программе надо более одного ядра?
Сложный механизм доступа к ОП и проч. Ресурсам.
Увеличение энергопотребления
Стоимость
Слайд 31

Технология Hyper-Threading Одно ядро выполняет две задачи одновременно: два потока (два

Технология Hyper-Threading

Одно ядро выполняет две задачи одновременно: два потока (два виртуальных

ядра)
Каждое ядро имеет свой набор регистров, свой счетчик команд, свой блок работы с прерываниями для каждого потока
Остальные элементы ядра общие
Слайд 32

Технология Turbo Boost автоматический разгон ядер процессора до частоты выше базовой

Технология Turbo Boost

автоматический разгон ядер процессора до частоты выше базовой при

контроле параметров: если мощность, потребляемый ток и температура не превышают максимальных значений
Слайд 33

Технология Turbo Boost Динамическое повышение частоты Процессор контролирует все параметры своей

Технология Turbo Boost

Динамическое повышение частоты
Процессор контролирует все параметры своей работы: напряжение,

силу тока, температуру и т.д.,
Процессор может отключить неиспользуемые ядра

Частота системной шины ~100 МГц 200МГц

Частота системной шины * множитель процессора = Частота процессора
~100 МГц * 24 = 2400МГц

Слайд 34

Эффективность выполнения команд : направления развития архитектур RISC (Reduced Instruction Set

Эффективность выполнения команд : направления развития архитектур

RISC (Reduced Instruction Set

Computer): Небольшое количество простых команд, выполняемых за небольшое время

CISC (Complex Instruction Set Computing): Много сложных команд, способных выполнять различные действия; Много шагов на одну команду

MISC (Minimal Instruction Set Computer): Развитие RISC; 20-30 простых инструкций

VLIW (Very long instruction word): длина инструкций может достигать 256 бит

Слайд 35

RISC (Reduced Instruction Set Computer) фиксированная длина инструкций; небольшой набор стандартизированных

RISC (Reduced Instruction Set Computer)

фиксированная длина инструкций;
небольшой набор стандартизированных инструкций;
большое количество

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

CISC (Complex Instruction Set Computing) Исторически первые Характеризовались сложными и многоплановыми

CISC (Complex Instruction Set Computing)

Исторически первые
Характеризовались
сложными и многоплановыми инструкциями;
большим набором различных

инструкций;
нефиксированной длиной инструкций;
многообразием режимов адресации.
Появление языков высокого уровня
Начиная с Intel486DX CISC-процессоры стали производить с использованием RISC-ядра (микрокод)
Слайд 37

Энергопотребление процессора

Энергопотребление процессора

Слайд 38

Энергопотребление процессора

Энергопотребление процессора

Слайд 39

Способы снижения энергопотребления процессора Портативные устройства Снижение частоты – потеря производительности…

Способы снижения энергопотребления процессора

Портативные устройства
Снижение частоты – потеря производительности…

Технология EIST (Enhanced

Intel SpeedStep Technology)

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

Технология Cool’n’Quiet (AMD)

Слайд 40

Подитог: Характеристики процессора Количество ядер Частота процессора как количество элементарных операций,

Подитог: Характеристики процессора

Количество ядер
Частота процессора как количество элементарных операций, которые процессор

может выполнить в секунду (ГГц)
Техпроцесс
Энергопотребление
Системная шина (FSB) 
Разрядность
Кеш-память
Слайд 41

Любые операторные языки СИ Паскаль Бейсик - опираются на систему команд

Любые операторные языки
СИ
Паскаль
Бейсик
- опираются на систему команд процессора

A=B

пересылка данных

0

0 1 0 1 0 1 0

0 0 1 0 1 0 1 0

B

A

Команды процессора

Код команды

Операнд 1

Операнд M


Слайд 42

Выполнение команды пересылки Процессор Память Устройства ввода/вывода внешняя внутренняя Контроллеры УУ

Выполнение команды пересылки

Процессор

Память

Устройства ввода/вывода

внешняя

внутренняя

Контроллеры

УУ

АЛУ

Регистр Адреса

Регистр Команды

Обращение за командой

Обращение за операндом

Запись результата

Вывод:

команды должны быть как можно более короткие

Время!

Слайд 43

Как ускорить выполнение команды? Сложение Слагаемое 1 Слагаемое 2 Сумма Уменьшить

Как ускорить выполнение команды?

Сложение

Слагаемое 1

Слагаемое 2

Сумма

Уменьшить длину команды

Организовывать вычисления с минимальным

количеством обращений к памяти

РЕГИСТРЫ

Слайд 44

Регистры Один из операторов обязательно регистр Регистр - последовательное или параллельное

Регистры

Один из операторов обязательно регистр
Регистр - последовательное или параллельное логическое устройство,

используемое для хранения n-разрядных двоичных чисел и выполнения преобразований над ними.
Регистр - упорядоченная последовательность триггеров
Триггер – устройство для хранения бита информации
Слайд 45

Устройство триггера 0 1 0 0 R=0 S=0 Не изменяет состояние триггера R S Q Q

Устройство триггера

0

1

0

0

R=0
S=0
Не изменяет состояние триггера

R

S

Q

Q

Слайд 46

Устройство триггера 0 1 R=0 S=1 Устанавливает триггер в единицу 0

Устройство триггера

0

1

R=0
S=1
Устанавливает триггер в единицу

0

1

R

S

Q

Q

0

1

Слайд 47

Устройство триггера 1 0 R=1 S=0 Устанавливает триггер в ноль 1

Устройство триггера

1

0

R=1
S=0
Устанавливает триггер в ноль

1

0

R

S

Q

Q

1

0

Слайд 48

Устройство триггера 1 1 R=1 S=1 Запрещенная комбинация R S Q Q

Устройство триггера

1

1

R=1
S=1
Запрещенная комбинация

R

S

Q

Q

Слайд 49

Регистр – совокупность триггеров Схема синхронного RS-триггера на элементах 2И-НЕ Условное графическое обозначение синхронного RS-триггера

Регистр – совокупность триггеров

Схема синхронного RS-триггера на элементах 2И-НЕ

Условное графическое обозначение

синхронного RS-триггера
Слайд 50

Регистры процессора Регистры общего назначения Сегментные регистры – обращение к памяти Счетчик команд Регистр признаков

Регистры процессора

Регистры общего назначения

Сегментные регистры – обращение к памяти

Счетчик команд

Регистр признаков

Слайд 51

Регистры общего назначения AL AH 8 бит 8 бит AX 16

Регистры общего назначения

AL

AH

8 бит

8 бит

AX

16 бит

8086 процессор

EAX

80386 процессор

32 бита

64 бита

RAX

EM64T/AMD64

Могут использоваться как по усмотрению программиста, так и выполнять заранее назначенные роли

Слайд 52

Регистры общего назначения AX — аккумулятор; для хранения операндов в командах

Регистры общего назначения

AX — аккумулятор; для хранения операндов в командах умножения

и деления, ввода-вывода, в некоторых командах обработки строк и других операциях;
BX — регистр базы; для хранения адреса или части адреса операнда, находящегося в памяти;
CX — счётчик. Содержит количество повторений строковых операций, циклов и сдвигов;
DX — регистр данных. Используется для косвенной адресации портов ввода-вывода, а также как «расширитель» аккумулятора в операциях удвоенной разрядности;

SI — регистр адреса источника. Используется в строковых операциях, а также в качестве индексного регистра при обращении к операндам в памяти;
DI — регистр адреса приёмника. Используется в строковых операциях, а также в качестве индексного регистра при обращении к операндам в памяти;
BP — указатель кадра стека. Используется для адресации операндов, расположенных в стеке;
SP — указатель стека. Используется при выполнении операций со стеком, но не для явной адресации операндов в стеке.

Слайд 53

Сегментные регистры CS сегмента кода - в каком месте памяти находится

Сегментные регистры

CS сегмента кода - в каком месте памяти находится программа
DS сегмента данных

- локализует используемые программой данные.
ES дополняет сегмент данных.
SS сегмента стека - стек компьютера.

Сегмент – выделенная область пространства памяти

Слайд 54

Регистр признаков Содержит слово состояния процессора

Регистр признаков

Содержит слово состояния процессора

Слайд 55

Стек Специальная область памяти Структура данных с методом доступа к элементам

Стек

Специальная область памяти
Структура данных с методом доступа к элементам LIFO (Last In —

First Out, «последним пришёл — первым вышел»)
Слайд 56

Размещении и извлечении значений в стеке mov ax, 4560h push ax

Размещении и извлечении значений в стеке

mov ax, 4560h
push ax

mov cx, FFFFh
push

cx

pop edx

1203

1204

1205

1206

1207

1208

1209

120A

1202

ESP

60

45

ESP

FF

FF

ESP

edx: 4560FFFFh

Слайд 57

Система команд Команды пересылки Команды обработки данных: Арифметические Логические команды Команды

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

Команды пересылки
Команды обработки данных:
Арифметические
Логические команды
Команды сдвига
Команды ветвления или управления
Команды обращения

к процедурам
Системные команды
Слайд 58

Команды пересылки Между регистрами Между памятью и регистрами A=B Mov mov

Команды пересылки

Между регистрами
Между памятью и регистрами

A=B

Mov

mov ax,1234h

AX = 1234h,

AH = 12h, AL = 34h
Слайд 59

Арифметические команды i=i+1 A++ Сложение ADD Вычитание SUB Умножение MUL Деление

Арифметические команды

i=i+1
A++

Сложение ADD
Вычитание SUB
Умножение MUL
Деление DIV
Увеличение INC
Уменьшение DEC
Смена знака NEG

mov al,10


add al,15
---> al = 25

mov cl,4Fh
inc cl
---> cl = 50h

Слайд 60

Логические команды Выполнение операций Булевой алгебры И (AND), ИЛИ (OR), НЕ

Логические команды

Выполнение операций Булевой алгебры И (AND), ИЛИ (OR), НЕ (NOT),

Исключающее ИЛИ (XOR)
Команды применяются к байту; вычисления производятся с каждым битом
Используются для установки, сброса и проверки требуемых бит.

and еах , 0fffffffdh

or еах , 10b

Слайд 61

Команды сдвига Логический сдвиг 1 0 1 1 1 1 0

Команды сдвига

Логический сдвиг

1

0

1

1

1

1

0

1

1

0

1

0

1

1

0

1

Циклический сдвиг

1

0

1

1

1

1

0

1

1

0

1

1

1

1

0

1

shr al,1

rol al,1

Слайд 62

Команды ветвления управления Безусловная передача управления Go to Label jmp Команды

Команды ветвления управления

Безусловная передача управления

Go to Label

jmp

Команды условного перехода

If A>B

then …

CMP
<команда условного перехода>

Слайд 63

Команды условного перехода

Команды условного перехода

Слайд 64

Команды ветвления управления For x=5 to 17 … Next x Команды

Команды ветвления управления

For x=5 to 17

Next x

Команды циклов

LOOP <метка>

перевод на

указанную метку до тех пор пока регистр CX не станет равный нулю

метка:

mov cx,5

Слайд 65

Процедуры Программа разбивается на части CALL передача управления процедуре В конце

Процедуры

Программа разбивается на части

CALL передача управления процедуре
В конце процедуры команда RET

возвращает управление программе


программа

Слайд 66

Использование процедур программа CALL proc1 CALL proc2 CALL proc1 … … CALL proc3

Использование процедур

программа

CALL proc1

CALL proc2

CALL proc1



CALL proc3

Слайд 67

Обращения к процедурам По завершению процедуры процессор должен уметь вернуть управление

Обращения к процедурам

По завершению процедуры процессор должен уметь вернуть управление программе

Адрес

возврата записывается в стек

0001

0002

0003

0004

0005

0006

0007

0008

0009

0010

0011

0012

0056

0057

0058

0059

0060

0061

0062

0063

0064

0091

0092

0093

0094

0095

0096

0097

1024

1025

1026

1027

1028

Call

Call

Call

Ret

Ret

Ret

0094

0062

0007

Слайд 68

Адресация N (1,2,…) байт (в зависимости от архитектуры) Код команды Операнд

Адресация

N (1,2,…) байт (в зависимости от архитектуры)

Код команды

Операнд 1

Операнд M


Прямая

Косвенная (адрес

адреса операнда)
Слайд 69

Прямая адресация Код команды Операнд mov ax,1234h add bx,ax

Прямая адресация

Код команды

Операнд

mov ax,1234h
add bx,ax