![](/user_photo/2706_HbeT2.jpg)
- •Организация эвм и систем
- •Глава 6 Организация памяти
- •Глава 1. Структура современного компьютера
- •1.1 Основные понятия
- •1.2 Принцип действия компьютера
- •Цикл работы компьютера
- •1.3 Программное обеспечение компьютера
- •1.4 Надежность, производительность и показатели быстродействия
- •Производительность компьютера
- •Технико-эксплуатационные характеристики
- •1.5 Вычислительные системы и сети
- •Вопросы для самопроверки
- •Глава 2 представление информации в компьютере
- •5.2 Система команд. Форматы команд и способы адресации
- •5.3 Система прерываний и приостановок, состояние процессора
- •Характеристики системы прерываний
- •Организация перехода к прерывающей программе
- •5.4 Режимы работы процессора: однопрограммный, пакетный, разделения времени, реального времени
- •5.5 CisCиRisCкомпьютеры
- •Процессоры персональных компьютеров
- •5.6 Устройства управления
- •Устройства управления с хранимой в памяти логикой
- •5.7 Методы и средства повышения производительности процессоров персональных компьютеров
- •Суперскалярная обработка
- •Переименование регистров
- •Динамическое прогнозирование условных переходов
- •Контроллер памяти Контроллер pci
- •Вопросы для самопроверки
- •Глава 6. Организация памяти
- •6.1 Адресное пространство
- •6.2 Виды памяти
- •6.3 Оперативная память
- •Статическая и динамическая память
- •6.5 Внешняя память
- •6.6 Организация виртуальной памяти
- •Страничное, сегментное и странично-сегментное распределение
- •Свопинг
- •6.7 Защита памяти
- •Вопросы для самопроверки
- •Глава 7. Интерфейсы
- •7.1 Понятие интерфейса и его характеристики
- •7.1 Состав линий системной шины
- •Передача данных по проводным линиям связи По линиям связи современных интерфейсов преимущественно передаются низкочастотные дискретные одно - и биполярные сигналы (рисунок 7.Х).
- •Адрес верный
- •7.2 Подключение устройств
- •7.4 Интерфейсы внешней памяти
- •7.5 Малые интерфейсы (usb,ide,rs-232c,scsi)
- •Вопросы для самопроверки
- •Глава 8. Периферийные устройства компьютеров
- •8.1 Организация систем ввода-вывода. Каналы, контроллеры
- •Основные функции свв
- •Программный ввод-вывод
- •Прямой доступ в память
- •8.2 Клавиатура и мышь
- •8.3 Дисплеи
- •8.4 Принтеры
- •8.5 Накопители на магнитных дисках
- •Структура накопителя на жестких дисках
- •Структура и особенности накопителя на гмд
- •8.6 Накопители на компакт-дисках (cd-rom, cd-r, cd-rw, dvd)
- •8.7 Другие виды периферийных устройств
- •Вопросы для самопроверки
- •Какие особенности пу делают возможным организацию параллельной обработки и ввода-вывода?
- •Закон Амдала
- •Совместно используемая и распределенная память
- •Когерентность кэш-памяти
- •Наибольшее распространение получили следующие аппаратные механизмы, реализующие протокол когерентности кэш-памяти: это протоколы наблюдения и на основе справочника.
- •9.2 Конвейерные системы
- •Векторные регистры
- •9.3 Симметричные системы
- •9.4 Вычислительные системы со сверхдлинным командным словом
- •9.5 Другие виды мультипроцессорных систем
- •Машины с массовым параллелизмом
- •Нейрокомпьютеры
- •9.6 Проблемно-ориентированные системы
- •Вопросы для самопроверки
- •Глава 10. Организация вычислительного процесса
- •12.2 Системы автоматического контроля и диагностики
- •Контроль передач информации
- •Контроль арифметических операций
- •12.3 Защита памяти. Raid-массивы
- •12.4 Построение «безотказных» систем питания Вопросы для самопроверки
- •Список литературы
5.5 CisCиRisCкомпьютеры
Как уже отмечалось, существует два подхода к повышению производительности компьютера; это создание машин с архитектурой CISC (Complex Instruction Set Computer – компьютер со сложным набором команд) и RISC (Reduced Instruction Set Computer - компьютер с сокращенным набором команд). Оба подхода обладают определенными достоинствами и недостатками. Поэтому в последних процессорах, например, Pentium IY, принято компромиссное решение. Однако вначале остановимся на особенностях этих архитектур.
В компьютерах с архитектурой CISC увеличение производительности достигается расширением числа аппаратно и микропрограммно реализуемых операций. Считалось, что расширение системы команд за счет включения в нее все более сложных операций представляет один из признанных архитектурных принципов повышения быстродействия процессора. Поэтому все мощные компьютеры строились с архитектурой CISC. Для такой архитектуры характерно:
Большое число машинных операций (именно поэтому архитектура и названа CISC), некоторые из которых для своего выполнения требуют нескольких тактов, так как для реализации этих операций широко используется принцип микропрограммирования,
Большое разнообразие способов адресации, часто приводящих к необходимости нескольких обращений в память при выполнении одной команды,
Преобладание двухадресных команд, причем в команде прямо указывается адрес памяти (или регистра), куда следует поместить результат,
Наличие сравнительно небольшого числа регистров общего назначения, что вызвано ограничениями на длину команды,
Широкое использование микрокомандного принципа управления.
Однако введение в систему команд таких команд, которые для своего выполнения требуют нескольких машинных тактов, имеют различную длину и используют разные способы адресации, сильно усложняет логику управления и весь процессор в целом. На пути повышения производительности машины за счет расширения системы ее команд возникает, таким образом, ряд трудностей.
Во-первых, реализовать сложную систему команд с помощью только аппаратных средств довольно трудно и поэтому для ее реализации почти всегда используют микропрограммные средства, т.е. дополнительную память с соответствующими каждой сложной операции микропрограммами. В этом случае каждая команда выполняется как бы за два этапа: первый этап связан с получением команды и операндов из памяти, а второй – с выполнением микропрограммы, хранящейся в памяти микропрограмм. Такое двухэтапное выполнение команды существенно замедляет ее выполнение.
Во-вторых, микропрограммы «сложных» команд занимают значительную часть управляющей памяти.
В-третьих, аппаратная реализация редко встречающихся операций не приводит к заметному увеличению быстродействия процессора, но приводит к значительному усложнению его структуры и отдельных интегральных схем.
В четвертых, усложнение ИС означает увеличение числа вентилей и длины проводников, т.е. ведет к увеличению задержек сигналов, а, следовательно, и к снижению скорости выполнения операций.
Все это привело к появлению архитектуры с сокращенным набором команд – RISC-архитектуры, в которой команды извлекаются из памяти в виде равномерного потока, и процессор остается постоянно загруженным. Основными предпосылками для повышения быстродействия при сокращении набора команд служат следующие:
Подавляющее большинство команд (более 90%) при решении определенной задачи образует компактное множество; команды, не входящие в это множество, при решении данной задачи встречаются чрезвычайно редко,
Сравнительно небольшой набор команд можно эффективно реализовать аппаратными средствами так, что каждая операция реализуется за один такт,
Для современного этапа развития технологии характерно заметное уменьшение различия в быстродействии оперативной и постоянной памяти микропрограмм, что делает многоуровневый принцип программирования нецелесообразным.
Современный уровень развития технологии позволяет на одном кристалле микропроцессора размещать большое число регистров, так называемого регистрового пула, а это делает возможным обращение к регистрам, а не к оперативной памяти.
Для RISC-процессоров характерно:
Малое число операций, причем каждая из них выполняется аппаратными средствами строго за один такт,
Постоянный формат команд, что ускоряет расшифровку команд и делает возможным быстро получать их из памяти (обычно количество форматов команд составляет не более четырех, а количество способов адресации также не превышает 4);
Преобладание трехадресных команд,
Неразрушающий принцип обращения к основной памяти, т.е. полученный результат выполненной операции не затирает значения операнда в памяти, а помещается в отдельный регистр,
Разделение команд обработки (эти команды имеют формат RR) и обмена с памятью (формат RS), причем команды обмена с памятью выполняются независимым блоком,
Наличие большого регистрового пула, т.е. количество регистров общего назначения составляет не менее 32, а в большинстве современных RISC-компьютеров 256 (известны компьютеры и с большим числом регистров),
Устройство управления RISC-процессора строится по принципу «жесткой» логики, т.е. отсутствует промежуточный микропрограммный уровень.
Система команд RISC-процессора включает небольшое (по сравнению с CISC) число операций и использует ограниченное число способов адресации; в число этих команд входят команды работы с памятью, копирования и некоторых арифметических операций. Поскольку число команд небольшое, то длина программы увеличивается, и как показали исследования, она становится примерно на 30% длиннее аналогичной программы CISC-компьютера.
Команды обращения к памяти выполняются отдельным блоком и служат для загрузки регистров процессора, число которых может достигать нескольких десятков и даже сотен. Очень важно, что загрузка регистров из памяти, а также передача их содержимого в память осуществляется совершенно независимо от работы собственно процессора. Все регистры объединены в несколько перекрывающихся окон – регистры одного из окон подвергаются загрузке из памяти, в то время как регистры из другого окна служат для работы с процессором. Перекрытие окон обеспечивает возможность непрерывного размещения команд и взаимодействия процессора со средствами загрузки. Большое число регистров дает неоспоримые преимущества, но усложняет схемы декодирования номера регистра, что приводит к некоторому увеличению времени обращения к ним.
Команды RISC-процессора обычно имеют фиксированный формат, что позволяет извлекать команду из памяти за одно обращение. Однако фиксированный формат исключает прямую адресацию памяти. Дешифрация кода операции, осуществляемая исключительно аппаратными средствами, также выполняется за один такт. Как уже отмечалось, процессор использует трехадресные операционные команды типа RR. Помимо этого, RISC-процессоры содержат кэш-памяти достаточно большого объема.
Все это приводит к ускорению выполнения программ, несмотря на то, что их длина (т.е. число команд) несколько увеличивается.
В RISC-процессорах реализуются средства повышения производительности, характерные для CISC-систем: суперскалярность, т.е. несколько команд выполняются за один машинный такт, и предсказание переходов. Эти средства рассмотрены позднее. Для RISC-процессоров характерно наличие средств поддержки мультипроцессности и компиляторов, позволяющих выполнять оптимизацию программ. Кроме того, на компилятор возлагается ряд дополнительных функций по контролю за вычислительным процессом, в том числе:
распределение регистров, уменьшающее число команд пересылки данных между регистрами и памятью,
защита памяти,
контроль переполнения,
предотвращение блокировок конвейеров и т.п.
Компилятор должен так формировать программу, чтобы признаки результата использовались не следующей по порядку командой, а через одну (или две).