Вы находитесь на странице: 1из 46

Многоуровневая

организация
функционирования
компьютеров
Процессоры
Многоуровневая организация
функционирования компьютеров
5. Уровень языка высокого уровня
4. Уровень языка ассемблера
3. Уровень операционной системы
2. Уровень архитектуры команд
1. Микроархитектурный уровень
0. Цифровой логический уровень
Уровень физических устройств. На этом уровне находятся транзисторы,
2
которые являются примитивами для разработчиков компьютеров.
Процессоры
Основные характеристики процессоров
Основными характеристиками центральных процессоров являются:
 Тип архитектуры или серия (Intel x86, Intel Pentium, Pentium
overdrive, RISC …)
 Система поддерживаемых команд (standard 86/88, 286, 386, 486,
Pentium,( Pentium2-4),MMX) и адресации (real mode, protected
mode, virtual mode, EMS, paging).
 Разрядность (бит)
 Количество ядер
 Тактовая частота (мгц)
 КЭШ
 Гнездо для процессора (Socket 7, Slot1 и др.)
 Величина питающего напряжения (Вольт)

Архитектура системы команд. Классификация
процессоров (CISC и RISC)

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


организации системы, включающее такие
высокоуровневые аспекты разработки компьютера как
систему памяти, структуру системной шины,
организацию ввода/вывода и т.п.
Процессор c полным набором команд
Для процессоров c полным набором команд (CISC-процессоров)
характерно:
 сравнительно небольшое число регистров общего назначения;
 большое количество машинных команд, некоторые из которых
нагружены семантически аналогично операторам высокоуровневых
языков программирования и выполняются за много тактов;
 большое количество методов адресации;
 большое количество форматов команд различной разрядности;
 преобладание двухадресного формата команд;
 наличие команд обработки типа регистр-память.
Процессоры с сокращенным набором команд
Для процессоров с сокращенным набором команд (RISC - Reduced
Instruction Set Computer) характерно:
 Выполнение любой команды занимало небольшое количество
машинных тактов (предпочтительно один машинный такт).
 Наличие достаточно большого регистрового файла (в типовых
RISC-процессорах реализуются 32 или большее число регистров по
сравнению с 8 - 16 регистрами в CISC-архитектурах).
 Конвейерная организация работы и большая скорость выполнения
команд.
 Реализация задержанных переходов и суперскалярной обработки.
Цифровой логический уровень

9
Вентили
Цифровая схема — это схема, в которой есть только два логических
значения. Обычно сигнал от 0 до 1 В представляет одно значение
(например, 0), а сигнал от 2 до 5 В — другое значение (например, 1).
Напряжение за пределами указанных величин недопустимо.
Устройства, которые называются вентилями, могут вычислять
различные функции от этих двузначных сигналов.

А - инвертор;
Б - вентиль НЕ-И;
В - вентиль НЕ-ИЛИ
10
Основные вентили

11
Основные вентили по ГОСТ

12
Булева алгебра
Тип алгебры, в которой все переменные и функции могут принимать
только два значения: 0 и 1 называется булевой алгеброй.
Булева функция имеет одну или несколько переменных и выдает
результат, который зависит только от значений этих переменных. Можно
определить простую функцию f, сказав, что f(A)=l, если А=0, и f(A)=-O,
если А=1. Такая функция будет функцией НЕ.
Так как булева функция от n переменных имеет только 2n возможных
комбинаций значений переменных, то такую функцию можно полностью
описать в таблице с 2n строками. В каждой строке будет даваться
значение функции для разных комбинаций значений переменных. Такая
таблица называется таблицей истинности.
Булеву функцию можно определить, указав, какие комбинации значений
переменных дают значение функции 1:
13

F = AB + ĀC
Реализация булевых функций

Если 0 В — это логический ноль, а 3,3 В или 5 В — логическая единица, то это называется
позитивной логикой. Если принята негативная логика, то есть 0 14В — это логическая
единица, а 3,3 В или 5 В — логический ноль.
Основные цифровые логические
схемы

Схемы с несколькими входами и несколькими выходами, в которых выходные


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

Мультиплексор
представляет собой
схему с 2n входами,
одним выходом и n
линиями управления,
которые выбирают
один из входов.
Выбранный вход
соединяется с
выходом.

16
Декодеры

Декодер - схему, которая


получает на входе n-битное
число и использует его для
того, чтобы выбрать (то есть
установить на значение 1) одну
из 2n выходных линий.

17
Компараторы

Компаратор
сравнивает два слова,
которые поступают на
вход. Компаратор,
изображенный на
рисунке, принимает
два входных сигнала, А
и В, каждый длиной 4
бита, и выдает 1, если
они равны, и 0, если
они не равны.

18
Арифметические схемы

19
Схемы сдвига

Восемь входных битов подаются на линии D0,..., D7. Выходные данные,


которые представляют собой входные данные, сдвинутые на 1 бит,
поступают на линии S0, ..., S7.
Линия управления С определяет направление сдвига: 0 — налево, 1 —
20

направо.
Неполный сумматор (полусумматор)

 Сумматор имеет два результата: сумма входных переменных А и В и


перенос на следующую (левую) позицию
21
Полный сумматор
(сумматором со сквозным переносом)

Сумма равна 1, если нечетное


число переменных А, В и Вход
переноса принимает значение 1
(то есть если единице равна
или одна из переменных, или
все три). Выход переноса
принимает значение 1, если или
А и В одновременно равны 1
(левый вход в вентиль ИЛИ),
или если один из них равен 1, а
Вход переноса также равен 1.
Два полусумматора порождают
и биты суммы, и биты переноса.

22
Арифметико-логические устройства
АЛУ может вычислять одну из 4
следующих функций: А И В, А ИЛИ
В, В и А+В. Выбор функции зависит
от того, какие сигналы поступают
на линии F0 и F1: 00,01,10 или 11 (в
двоичной системе счисления)

23
Схема 4-битного АЛУ

24
Тактовые генераторы
Тактовый генератор — это схема, которая вызывает серию импульсов. Все импульсы одинаковы
по длительности. Интервалы между последовательными импульсами также одинаковы.
Временной интервал между началом одного импульса и началом следующего называется
временем такта. Частота импульсов обычно от 1 до 500 МГц, что соответствует времени такта от
1000 нс до 2 нс.

25
Выполнение операций
Процессоры

26
Представление чисел к компьютере

 Прямой код — способ представления двоичных чисел с фиксированной


запятой в компьютерной арифметике. Используется для записи
положительных чисел.
 Обратный код — способ представления , позволяющий вычесть одно число
из другого, используя только операцию сложения над натуральными
числами.
 Дополнительный код — наиболее распространённый способ представления
отрицательных целых чисел в компьютерах. Позволяет заменить операцию
вычитания операцией сложения и сделать операции сложения и вычитания
одинаковыми для знаковых и беззнаковых чисел, чем упрощает архитектуру
ЭВМ.

27
Прямой код

При записи числа в прямом коде старший разряд является знаковым разрядом. Если
его значение равно 0 — то число положительное, если 1 — то отрицательное. В
остальных разрядах (которые называются цифровыми разрядами) записывается
двоичное представление модуля числа. Используется главным образом для записи
неотрицательных целых чисел.
Пример:

Если для записи кода выделен один байт, то для числа +1101
прямой код 0|0001101

для числа -1101


прямой код 1|0001101.

28
Обратный код

Обратный код двоичного числа получают заменой всех его единиц на нули, а нулей на
единицы.
Обратный n-разрядный двоичный код положительного целого числа состоит из
одноразрядного кода знака (двоичной цифры 0), за которым следует n − 1-разрядное
двоичное представление модуля числа (обратный код положительного числа
совпадает с прямым кодом).
Пример:

Для чиcла +1101:


прямой код 0|0001101
oбратный код 0|0001101

Для чиcла -1101:


прямой код 1|0001101
oбратный код 1|1110010

29
Дополнительный код

Дополнительный код (дополнение до 2) двоичного числа получается


добавлением 1 к младшему значащему разряду его дополнения до 1.

Пример:

Для числа +1101:


Прямой код 0|0001101
Обратный код 0|0001101
Дополнительный код 0|0001101

Для числа -1101:


Прямой код 1|0001101
Обратный код 1|1110010
Дополнительный код 1|1110011

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

31
ОПЕРАЦИИ СДВИГА

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

... "0"

Логический сдвиг впр аво

"0" ...
Арифметический сдвиг влево

... "0"

Арифмети че ски й сдвиг вправо

...

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

...

Циклич еский сдвиг впр аво

...
АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ.
Сложение.
Сложить 13 и 25

128 64 32 16 8 4 2 1

0 0 0 0 1 1 0 1
+
0 0 0 1 1 0 0 1
0 0 1 0 0 1 1 0

33
АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ.
Вычитание.
Вычесть из 113 и 25
128 64 32 16 8 4 2 1

0 1 1 1 0 0 0 1
- 0 0 0 1 1 0 0 1

128 64 32 16 8 4 2 1

0 1 1 1 0 0 0 1
+ 1 1 1 0 0 1 1 1
1 0 1 0 1 1 0 0 0
34
АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ.
Умножение.
Умножить 13 и 5
128 64 32 16 8 4 2 1

1 1 0 1
* 0 1 0 1
1 1 0 1
0 0 0 0
1 1 0 1
0 1 0 0 0 0 0 1
35
АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ.
Деление.
Разделить 65 на 5
128 64 32 16 8 4 2 1 8 4 2 1

0 1 0 0 0 0 0 1 0 1 0 1
- 0 1 0 1 1 1 0 1
0 0 1 1 0
- 0 1 0 1
0 0 1 0 1
- 0 1 0 1
0 36
АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ.
Деление.
Разделить 65 на 5

128 64 32 16 8 4 2 1 8 4 2 1

0 1 0 0 0 0 0 1 1 0 1 1
+ 1 0 1 1 1 1 0 1
1
+ 0 0 1 1 0
1 0 1 1
1 0 0 0 1 0

+ 1 0 1 1
0 1 1 0 1
1 0 1 1
1 0 0 0 0
37
Архитектурные решения в процессорах

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

39
Принцип работы конвейера.
При разбитии конвейера процессора на 5 стадий:
 IF  — получение инструкции,
 ID— раскодирование инструкции,
 EX  — выполнение,
 MEM— доступ к памяти,
 WB  — запись в регистр.

40
Суперскалярные процессоры
Скалярными называются вычисления, операндами в которых выступают одиночные
слова.
Векторными или матричными - если в обработке данных участвуют
многокомпонентные операнды типа векторов или матриц, компоненты которых
обрабатываются одновременно.
Суперскалярным называется процессор, который одновременно выполняет более
одной скалярной команды.
Это достигается за счет включения в состав процессора нескольких самостоятельных
функциональных блоков (АЛУ), каждый из которых отвечает за свой класс операций
и может присутствовать в процессоре в нескольких экземплярах.

41
Пример суперскалярного процессора
Например, микропроцессор
Pentium III содержит по два блока
целочисленной арифметики и
арифметики с плавающей точкой,
а Pentium IV – по три таких блока.
Структура такого суперскалярного
процессора имеет следующий
вид:

42
Кэш-память процессора
Кэш процессора — кэш (сверхоперативная память), используемый микропроцессором
компьютера для уменьшения среднего времени доступа к компьютерной памяти.
Кэш данных часто реализуется в виде многоуровневого кэша (L1, L2, L3).
Увеличение размера кэш-памяти положительно влияет на производительность почти всех
приложений.
Кэш состоит из набора записей. Каждая запись ассоциирована с элементом данных или
блоком данных, которая является копией элемента данных в основной памяти. Каждой строке
кэш соответствует тег (признак), содержащий сведения о том, копия какого блока памяти в
данный момент хранится в этой строке. В качестве тега обычно используется часть адреса
основной памяти.
Уровни кэша
Кэш центрального процессора разделён на несколько уровней.
Для универсальных процессоров — до 3. Кэш уровня N+1 как
правило больше по размеру и медленнее по скорости обращения
и передаче данных, чем кэш уровня N.

Самой быстрой памятью является кэш первого уровня — L1-


cache. По сути, она является неотъемлемой частью процессора,
поскольку расположена на одном с ним кристалле и входит в
состав функциональных блоков. L1 кэш работает на частоте
процессора, и, в общем случае, обращение к нему может
производиться каждый такт (зачастую является возможным
выполнять даже несколько чтений/записей одновременно).
Латентность доступа обычно равна 2−4 тактам ядра. Объём
обычно невелик — не более 128 Кбайт.
Кэш второго уровня
Вторым по быстродействию является L2-cache — кэш второго уровня.
Обычно он расположен либо на кристалле, как и L1, либо в
непосредственной близости от ядра, например, в процессорном
картридже (только в слотовых процессорах). В старых процессорах —
набор микросхем на системной плате. Объём L2 кэша от 128 Кбайт
до 1−12 Мбайт. В отличие от L1 кэша, его отключение может не
повлиять на производительность системы. Однако, в задачах,
связанных с многочисленнымиУровни
обращениями
кэша к ограниченной области
памяти, например, СУБД, производительность может упасть в десятки
раз.
Кэш третьего уровня
Кэш третьего уровня наименее быстродействующий и обычно
расположен отдельно от ядра ЦП, но он может быть очень
внушительного размера — более 32 Мбайт. L3 кэш медленнее
предыдущих кэшей, но всё равно значительно быстрее, чем
оперативная память. В многопроцессорных системах находится в
общем пользовании.
Отключение кэша второго и третьего уровней обычно
используется в математических задачах, например, при обсчёте
полигонов, когда объём данных меньше размера кэша. В этом
случае, можно сразу записать все данные в кэш, а затем
производить их обработку

Вам также может понравиться