Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
организация
функционирования
компьютеров
Процессоры
Многоуровневая организация
функционирования компьютеров
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)
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 В — логический ноль.
Основные цифровые логические
схемы
Мультиплексор
представляет собой
схему с 2n входами,
одним выходом и n
линиями управления,
которые выбирают
один из входов.
Выбранный вход
соединяется с
выходом.
16
Декодеры
17
Компараторы
Компаратор
сравнивает два слова,
которые поступают на
вход. Компаратор,
изображенный на
рисунке, принимает
два входных сигнала, А
и В, каждый длиной 4
бита, и выдает 1, если
они равны, и 0, если
они не равны.
18
Арифметические схемы
19
Схемы сдвига
направо.
Неполный сумматор (полусумматор)
22
Арифметико-логические устройства
АЛУ может вычислять одну из 4
следующих функций: А И В, А ИЛИ
В, В и А+В. Выбор функции зависит
от того, какие сигналы поступают
на линии F0 и F1: 00,01,10 или 11 (в
двоичной системе счисления)
23
Схема 4-битного АЛУ
24
Тактовые генераторы
Тактовый генератор — это схема, которая вызывает серию импульсов. Все импульсы одинаковы
по длительности. Интервалы между последовательными импульсами также одинаковы.
Временной интервал между началом одного импульса и началом следующего называется
временем такта. Частота импульсов обычно от 1 до 500 МГц, что соответствует времени такта от
1000 нс до 2 нс.
25
Выполнение операций
Процессоры
26
Представление чисел к компьютере
27
Прямой код
При записи числа в прямом коде старший разряд является знаковым разрядом. Если
его значение равно 0 — то число положительное, если 1 — то отрицательное. В
остальных разрядах (которые называются цифровыми разрядами) записывается
двоичное представление модуля числа. Используется главным образом для записи
неотрицательных целых чисел.
Пример:
Если для записи кода выделен один байт, то для числа +1101
прямой код 0|0001101
28
Обратный код
Обратный код двоичного числа получают заменой всех его единиц на нули, а нулей на
единицы.
Обратный n-разрядный двоичный код положительного целого числа состоит из
одноразрядного кода знака (двоичной цифры 0), за которым следует n − 1-разрядное
двоичное представление модуля числа (обратный код положительного числа
совпадает с прямым кодом).
Пример:
29
Дополнительный код
Пример:
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.