- •Введение
- •Системы счисления и представление данных
- •Числа конечной точности
- •Системы счисления
- •Преобразование чисел из одной системы счисления в другую
- •Правило замещения
- •Правило деления-умножения
- •Правило деления
- •Правило умножения
- •Упрощенные правила
- •Двоичная арифметика
- •Отрицательные двоичные числа
- •Сложение двоичных чисел
- •Числа с плавающей точкой
- •Принципы представления с плавающей точкой
- •Округление чисел
- •Стандарт ieee 754
- •Организация компьютерных систем
- •Архитектура и структура вычислительных машин
- •Языки, уровни и виртуальные машины
- •Компиляция
- •Интерпретация
- •Виртуальные машины
- •Многоуровневые машины
- •Многоуровневая организация компьютеров
- •Уровень 0
- •Уровень 1
- •Уровень 2
- •Уровень 3
- •Уровень 4
- •Уровень 5
- •Аппаратное и программное обеспечение
- •Структура компьютера
- •Организация памяти вычислительных машин
- •Адреса основной памяти
- •Упорядочение байтов
- •Цифровой логический уровень
- •Вентили и булева алгебра
- •Вентили
- •Булева алгебра
- •Реализация булевых функций
- •Основные цифровые логические схемы
- •Интегральные схемы
- •Комбинационные схемы
- •Мультиплексоры
- •Декодеры
- •Компараторы
- •Арифметические схемы Схемы сдвига
- •Сумматоры
- •Арифметико-логические устройства
- •Тактовые генераторы
- •Защелки
- •Синхронные sr-защелки
- •Синхронные d-защелки
- •Триггеры
- •Регистры
- •Организация большого объема памяти
- •Микроархитектурный уровень
- •Пример микроархитектуры: организация
- •Поток управления
- •Последовательный поток управления и переходы
- •Процедуры
- •Модель памяти
- •Набор команд
- •Пример микроархитектуры: управление микрокомандами
- •Тракт данных
- •Синхронизация тракта данных
- •Работа памяти
- •Микрокоманды
- •Управление микрокомандами
- •Уровень архитектуры команд
- •Уровень команд процессора Pentium II
- •Регистры
- •Выравнивание адресов
- •Типы данных
- •Форматы команд
- •Адресация
- •Непосредственная адресация
- •Прямая адресация
- •Регистровая адресация
- •Косвенная регистровая адресация
- •Базовая адресация
- •Индексная адресация
- •Команды процессора Pentium II
- •Команды перемещения
- •Арифметические команды
- •Двоично-десятичные команды
- •Логические команды
- •Команды сдвига/циклического сдвига
- •Команды тестирования/сравнения
- •Команды передачи управления
- •Команды для операций над цепочками
- •Команды управления флаговым регистром
- •Прочие команды
- •Уровень языка ассемблера
- •Формат оператора в языке ассемблера
- •Команды
- •Операнды
- •Комментарии
- •Директивы
- •Макросы
- •Процесс ассемблирования
- •Архитектуры компьютеров параллельного действия
- •Организация конвейерных и параллельных вычислений
- •Конвейеры
- •Параллелизм на уровне процессоров
- •Мультикомпьютеры
- •Классификация вычислительных платформ, типы процессоров
- •Классификация компьютеров параллельного действия
Организация памяти вычислительных машин
В результате изучения данной темы Вы будете:
иметь представление об организации памяти, ее основных классах;
понимать, каким образом происходит обращение к нужному участку памяти;
иметь представление, о том, что такое кэш-память, основных принципах ее работы.
Конфигурация памяти компьютера в основном определяется тремя параметрами: объемом, быстродействием, стоимостью.
Вопрос об объеме решить не так просто. Какой большой ни была бы память, все равно будут разработаны приложения, которым ее не хватит. В отношении быстродействия памяти все ясно: чем быстрее, тем лучше. Для достижения высшей производительности память должна иметь возможность быстро обмениваться данными с процессором. Но в реальной жизни едва ли не главным становится третий параметр. Стоимость памяти должна быть сравнима со стоимостью других компонентов компьютера.
Очевидно, можно найти некоторый компромисс между перечисленными характеристиками памяти. На любом этапе развития технологий производства запоминающих устройств действуют следующие, достаточно устойчивые, соотношения:
чем меньше время доступа, тем дороже каждый бит;
чем выше емкость, тем ниже стоимость бита;
чем выше емкость, тем больше время доступа.
Теперь ясна дилемма, стоящая перед конструктором. Вследствие возрастания требований к ресурсам конструктор стремится использовать те технологии, которые обеспечивают производство устройств с большой емкостью. Однако чтобы удовлетворить потребности в высокой производительности, конструктор должен использовать дорогую память с меньшей емкостью (зато и с меньшим временем доступа).
Чтобы найти выход из сложившейся ситуации, необходимо опираться не на отдельно взятый компонент памяти или технологию, а выстроить иерархию запоминающих устройств. На Рис. 2 .6 показана типичная иерархическая пирамида, при спуске к ее основанию происходит следующее:
снижается стоимость бита;
возрастает емкость памяти;
возрастает время доступа к памяти;
снижается частота обращений процессора к памяти.
Рис. 2.6. Иерархия запоминающих устройств
Таким образом, к более дорогим устройствам с меньшей емкостью и более высокой производительностью добавляются более емкие, дешевые, но менее производительные. При такой организации ключом к успеху является снижение частоты обращения к последним.
Регистры, кэш и основная память являются обычно временными (при отключении питания находящаяся в них информация исчезает) и производятся на основе полупроводниковой технологии. Наличие этих уровней основано на том, что существуют различные по скорости и стоимости виды полупроводниковой памяти. Постоянными являются внешние устройства хранения большого объема данных, наиболее часто встречающиеся из которых – жесткий диск и такие съемные устройства, как переносные диски, ленты и оптические запоминающие устройства. Внешнюю, постоянную память называют также вторичной или вспомогательной памятью. Такие устройства используются для хранения файлов с программами и данными и доступны программисту чаще всего (но не всегда) только на уровне файлов и записей, а не отдельных слов или байтов.