- •Организация эвм и систем
- •Глава 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 Построение «безотказных» систем питания Вопросы для самопроверки
- •Список литературы
Контроллер памяти Контроллер pci
Рисунок 5.х Структурная схема процессора Alpha 21066
Кэш-память выполнена как кэш прямого отображения. При выполнении операции записи в память данные одновременно записываются и в кэш, и буферный регистр записи. Контроллер памяти реализует алгоритм отложенного копирования. При обнаружении промаха контроллер обращается к ОП для загрузки соответствующих строк кэш-памяти. Предусмотрен контроллер прямого доступа к шине PCI. К этой шине подключаются адаптеры для сопряжения с шиной прежнего стандарта ISA для возможности использования «старых» периферийных устройств и шиной SCSI для подключения дисковых накопителей.
Этот процессор Alpha имеет две модификации, построенные по технологии RISC; в них предусматривается кэш-память первого уровня объемом 16 Кбайт и кэш-память второго уровня объемом 96 Кбайт. Для ускорения обменов с памятью в них реализована 128-разрядная шина, позволяющая передавать из памяти два двойных слова, что значительно повышает пропускную способность памяти.
Одной из наиболее интересных RISC-архитектур служит многопроцессорная архитектура SPARC (Scalable Processor Architecture) фирмы Sun. Процессоры с такой архитектурой изготавливаются уже несколькими фирмами. В настоящее время с такой архитектурой выпускаются 64-разрядные процессоры. Основными особенностями такой архитектуры служат:
Регистровые окна в качестве механизма передачи параметров между программами,
Механизмы отложенных переходов и аннулирования команд,
Широкое использование принципов суперскалярной обработки,
Многоступенчатые конвейеры целочисленной арифметики и арифметики с плавающей точкой,
Отделение подсистемы ввода-вывода от подсистемы процессора.
Теперь рассмотрим структуру современного CISC-процессора на примере наиболее распространенного в нашей стране процессора Pentium IY. В основу этого микропроцессора положена идея суперскалярной обработки и он обладает следующими особенностями:
двухпотоковой (или четырехпотоковой) суперскалярной организацией, допускающей одновременное выполнение двух (или четырех) простых команд,
наличием двух независимых кэш-памятей первого уровня для команд и данных, построенных по множественно-ассоциативному принципу,
динамическим прогнозированием переходов,
конвейерной 8-ступенчатой организацией блока для выполнения операций над числами с плавающей точкой.
Все команды распределяются по двум (а в более поздних версиях Pentium IY– по четырем) исполнительным устройствам, реализующим конвейерный принцип обработки. Конвейер U способен выполнять любые команды из системы команд x86, в том числе команды целочисленной арифметики и команды над числами с плавающей точкой. Конвейер V предназначен для выполнения простых целочисленных команд. В эти конвейеры команды направляются одновременно, причем более сложная поступает в конвейер U, а более простая – в конвейер V.
Такая одновременная выдача двух команд возможна только для ограниченного подмножества целочисленных команд и только при отсутствии зависимости команд по регистрам. При любой остановке выполнения команды в первом конвейере останавливается и второй конвейер.
В этом процессоре используются раздельные кэш-памяти данных и команд емкостью по 16 Кбайт (в последних моделях PentiumIY). За один такт из них может считываться по два слова, записанных в одну строку. В кэш-памяти записываются три тега, позволяющие производить считывание данных из одной или двух смежных строк и следить за когерентностью кэш-памяти. Для ускорения загрузки кэш-памяти служит 64-битовая шина данных. Число адресных линий составляет 32.
Для реализации механизмов динамического прогнозирования переходов в процессоре предусмотрены буфер целевых адресов переходов и два буферных регистра предварительной выборки. В буфер целевых адресов переходов заносятся адреса команд, находящихся в буферных регистрах предварительной выборки. При обнаружении в потоке команд операции перехода указанный в ней адрес сравнивается с адресами, помещенными в буфер целевых адресов.
Шина
Кэш-память
команд L1
Буфер
предварительной выборки Буфер
целевых адресов переходов
АЛУ
U АЛУ
V
Устройство
обработки с плавающей точкой
Регистры
Кэш
данных L1
Рисунок 5.х Упрощенная структурная схема процессора Pentium
При их совпадении считается, что данный переход будет выполнен, и начинают выдаваться команды в соответствующий конвейер. Естественно, окончательное решение о направлении перехода принимается на основании анализа кода условия. При неправильном прогнозе содержимое конвейеров теряется, что приводит к приостановке их работы на 3-4 такта.
Помимо механизмов, предназначенных для ускорения операций над числами с фиксированной точкой и управляющих операций, в этом процессоре осуществляется конвейерная 8-ступенчатая обработка чисел с плавающей точкой.
В последних моделях этого процессора используются механизмы, рассмотренные выше, а именно:
механизм выполнения команд с нарушением их последовательности в программе, что во многих случаях сокращает приостановку конвейеров на ожидание операндов, и
механизм переименование регистров, что позволяет увеличить число используемых регистров сверх восьми и тем самым ускорить продвижение команд по конвейеру.
Эти механизмы, а также возможности суперскалярной обработки реализованы во многих процессорах фирмы Intel. Архитектура процессоров Pentium IY оптимизирована для 32-разрядных прикладных программ; это значит, что все внутренние регистры и средства передачи информации рассчитаны на работу с 32-разрядными словами. Для полной реализации всех возможностей таких процессоров требуется 32-разрядная операционная система и 32-разрядные прикладные программы. В системах, построенных на основе процессора Pentium IY, передача данных осуществляется по 64-разрядной магистрали, имеющей дополнительно 8 разрядов для использования корректирующих кодов; передача адреса выполняется по 36-разрядной магистрали. В настоящее время процессоры Xeon фирмы Intel, предназначенные для работы в качестве высокопроизводительных серверов сетей, рассчитаны на обработку 64-разрядных данных. Но процессоры Xeon и Pentium IY имеют практически одинаковые процессорные ядра, поэтому в Pentium IY также предусмотрены блоки для обработки 64-бит данных, но пока они отключены.
При выполнении прежних прикладных программ, рассчитанных на 16-разрядную обработку, возникают значительные задержки:
В процессоре Pentium IY высокая производительность достигается благодаря методу исполнения с изменением последовательности команд, который обеспечивает максимальную загрузку конвейеров; однако 16-разрядные команды не могут выполняться вне очереди, что превращает их в серьезную помеху, вынуждая конвейерный процессор останавливать выполнение всех других операций до завершения этой команды.
Особенно вредное влияние на производительность Pentium IY оказывают команды загрузки сегментных регистров (например, регистров, в которых хранится «сегментная» часть адреса) и команды ввода-вывода. Они не только задерживают выборку и обработку следующих за ними команд, но и требуют полной очистки всех ступеней конвейера.
Это приводит к тому, что для достижения высокой производительности этих процессоров необходимы соответствующие 32-разрядные, а в будущем и 64-разрядные программы.
Быстродействие процессора определяется не только принципиальной схемой, но также технологией и конструкцией, наличием или отсутствием кэш-памяти, ее объемом и скоростью работы. Объем кэш-памяти L2 может составлять 512 Кбайт, 1 или 2 Мбайт. В современных процессорах имеются расширения системы команд MMX (Multimedia Extensions для реализации функций мультимедиа) и SSE (Streaming SIMD Extensions для реализации мультипроцессорных конфигураций). Эти команды предназначены для многопроцессорных конфигураций, которые все чаще используются в сетях при построении серверов. Очень немногие обычные пользователи что-либо реально выигрывают от таких расширений, но, во-первых, сегодня машины используются не столько для решения сугубо производственных задач, сколько для игр, и, во-вторых, современные компьютеры содержат множество иных средств, обеспечивающих более высокую производительность при работе с деловыми программами.
Увеличению скорости работы процессора способствует и уменьшение ширины перехода, которое сопровождается снижением напряжения питания. Так питание процессора Xeon осуществляется от 1,8 В, что способствует снижению потребляемой мощности, а рабочая частота составляет свыше 2,0 ГГц. Тактовая частота процессоров Pentium IY составляет свыше 3,5 ГГц, а напряжение питания – менее 1,5 В. При переходе с 0,13-мкм на 0,09-мкм технологию можно ожидать, что будут достигнуты значения тактовой частоты порядка 4,5 ГГц. Кроме того, повышению частоты в процессорах Pentium IY способствует фактическое объединение двух кристаллов в одном корпусе: собственно процессора и кэш-памяти L2 объемом 512 Кбайт (или 1 Мбайт).