- •«Санкт-Петербургский государственный электротехнический университет «лэти» им.В.И.Ульянова (Ленина)» (сПбГэту)
- •Архитектура компьютера
- •Оглавление
- •Основные понятия архитектуры и организации компьютеров.
- •1.1. Состав компьютера
- •1.2. Виды (классы) компьютеров
- •1.3. Принцип программного управления и машина фон Неймана
- •1.4. Понятия архитектуры, организации и реализации компьютера
- •1.5. Многоуровневая организация компьютера
- •1.6. Понятие семантического разрыва между уровнями
- •1.7. Организация аппаратных средств вм
- •Представление и обработка данных в вм
- •Целые числа
- •Представление и обработка вещественных чисел.
- •Логические операции над битовыми наборами
- •Представление и обработка символов.
- •Представление видеоинформации и аудиоинформации.
- •Видеоинформация.
- •Аудиоинформация
- •Организация процессора и основной памяти вм
- •3.1. Типовая структура процессора и основной памяти
- •3.2. Основной цикл работы процессора
- •3.3. Организация процессора и памяти в архитекуре Intel x86.
- •3.3.1. Программно доступные регистры процессора
- •3.3.2. Организация стека в архитектуре Intel х86
- •3.3.3. Организация выполняемых программ в ms dos
- •3.3.4. Режимы адресации памяти в архитектуре Intel х86
- •1. Регистровая адресация
- •2. Непосредственная адресация
- •3. Прямая адресация
- •4. Косвенная адресация
- •7. Индексная адресация с масштабированием
- •8. Адресация по базе с индексированием и масштабированием
- •3.3.5. Краткая характеристика системы команд процессоров Intel х86
- •3.3.6 .Арифметическая обработка чисел с использованием математического сопроцессора
- •Организация прерываний в процессорах Intel x86
- •Эволюция микроархитектуры Intel x86
- •Управление выполнением команд в компьютерах.
- •Аппаратный способ формирования управляющих сигналов
- •Микропрограммный способ формирования управляющих сигналов
- •Компьютеры с сокращенным набором команд
- •Организация памяти в компьютере
- •6.1. Назначение и основные характеристики памяти
- •6.2. Основные среды хранения информации
- •6.3. Методы доступа к данным.
- •6.4. Память с произвольным доступом (ппд)
- •6.5. Блочная организация основной памяти.
- •6.6. Постоянные запоминающие устройства (пзу - rom)
- •6.7. Ассоциативные запоминающие устройства (азу)
- •6.8. Иерархическая система памяти
- •Организация кэш-памяти.
- •Прямое отображение блоков оп на кэш-память
- •Наборно-ассоциативное отображение блоков оп на Кэш-память
- •6.10. Организация виртуальной памяти
- •Организация виртуальной памяти в Intel 80386 и более старших моделях.
- •Защита памяти в процессоре Intel 80386
- •Организация работы с внешней памятью
- •7.1. Типы, виды, свойства дисковых накопителей информации.
- •7.2. Магнитные дисковые накопители.
- •7.3. Основные физические и логические параметры жмд
- •7.4. Контроллеры жестких дисков
- •Логическое хранение и кодирование информации
- •Интерфейсы жестких дисков
- •Работа накопителя
- •Внешняя память на cd и dvd дисках.
- •Принципы организации raid массивов
- •Основные принципы построения raid массивов
- •Одиночные уровни raid
- •Составные уровни raid массивов
- •Сравнительные результаты
- •Системные и локальные шины
- •9.1. Общие положения и требования к шинам
- •9.2. Основные виды, характеристики и параметры шин
- •9.3. Стандарты шин
- •Организация системы ввода-вывода в вм
- •10.1. Назначение и основные требования к системе ввода-вывода вм
- •10.2. Архитектура систем ввода-вывода
- •10.3. Способы выполнения операции передачи данных
- •Синхронная передача данных
- •Ввод-вывод по программному прерыванию
- •Ввод-вывод по аппаратному прерыванию (прямой доступ к памяти)
- •10.4. Структуры контроллеров ву для различных режимов передачи данных
- •Программные средства управления вводом-выводом (пс увв)
- •Состав пс увв
- •11.2. Основные компоненты процедуры управления ввода-вывода общего вида
- •11.3 Состав и реализация устанавливаемого драйвера символьного типа
- •Список литературы
- •Приложения
- •Регистры ммх
- •Типы данных
- •Команды ммх
- •П2. Краткое введение в программирование на языке Ассемблера
- •1. Директивы задания данных
- •2. Директивы сегментации программы
- •3. Директивы группирования.
- •4. Порядок размещения сегментов.
-
Организация кэш-памяти.
Использование кэш-памяти основано на свойстве локальности программ по обращению, имющем три составляющих:
-
Пространственная локальность программ, заключающаяся в том, что при выборке команд из памяти адрес очередной команды либо следует непосредственно за адресом предыдущей, либо находится вблизи него;
-
Пространственная локальность данных, связанная с тем, что за счет широкого использования структурированных данных при обращении к данным, как правило, используются последовательные ячейки памяти;
-
Временная локальность программ, заключающаяся в том, что в течение достаточно длительных интервалов времени исполняемая программа использует сравнительно небольшой диапазон адресов команд и\или небольшой диапазон адресов данных. Это обусловлено наличием в программе циклов и подпрограмм, а также необходимостью длительной обработки массивов данных.
Идея использования кэша как буферной памяти заключается в наличии двух видов памяти:
быстрой памяти малой емкости М1 (n1, tобр1) и медленной памяти большой емкости М2 (n2, tобр2), параметры которых: число ячеек - ni и время обращения tобрi характеризуются неравенствами
n1 << n2 и t обр1 << t обр2.
Если данные имеются в быстрой кэш-памяти, то они выбираются за время t обр1, а если отсутствуют, то за время t обр1 + t обр2 данные выбираются из основной памяти и одновременно подгружаются в кэш-память.
Если благодаря свойству локальности удается исполняемый фрагмент программы и обрабатываемый массив данных разместить в кэш-памяти, то вероятность 0 < << 1 отсутствия команд или данных в кэш - памяти удается сделать достаточно малой - обычно 0.02…0.05. Тогда среднее время обращения к такой системе буферизованной памяти будет
М {t обр} = (1 - ) * t обр1 + * (t обр1 + t обр2) = t обр1 +* t обр2 t обр1
Поскольку емкость кэш-памяти значительно меньше емкости основной памяти (ОП), то эпизодически происходит обмен информацией между КЭШем и ОП, чтобы в КЭШе оказывалась актуальная на данное время информация. При этом обмен происходит блоками одинакового размера, которые в кэш-памяти принято называть строками. Когда процессор пытается выбрать слово из памяти, то сначала он ищет это слово в КЭШе и если находит, то выбирает его из КЭШа. Такая ситуация называется попаданием (hit), а при отсутствии слова в КЭШе возникает ситуация промах ( miss) и слово выбирается из ОП. Одновременно из ОП в кэш-память пересылается блок данных, содержащий это слово.
Так как число блоков ОП больше числа строк КЭШа, строка КЭШа не может быть выделена постоянно одному блоку ОП. Поэтому каждой строке КЭШа соответствует признак (тег), показывающий, копия какого блока ОП хранится в ней в данное время. В качестве тега обычно используется часть адреса ОП. При этом для разных типов (уровней) КЭШа применяются различные способы отображения ОП на кэш-память.
Рассмотрим различные способы отображения блоков ОП на кэш-память на следующем примере.
Соп = 256 Кслов=218 слов, Скэш = 2 Кслов=211 слов, Сблока = 16 слов (С - емкость);
Моп = Nбл.оп. = 256К/16 = 16K = 214 блоков., Мкэш = 2К/16 = 128 = 27 блоков (М – число блоков);
Lадр.оп = 18бит = 14бит (адрес блока ОП) { 7бит (тег) +7бит (строка кэша)} + 4бит (слово в блоке)
Lадр.кэш = 11бит= 7бит (адрес строки кэша) + 4бит (слово в блоке) (L – длина адреса в битах)
