
- •Основные понятия.
- •Понятие архитектуры и организации эвм.
- •Обобщенное понятие архитектуры.
- •Виды архитектуры эвм и их составные элементы.
- •Краткое представление основных элементов прикладной архитектуры компьютеров. Типы, форматы и способы представления данных, аппаратно поддерживаемых в эвм.
- •Для числовых данных необходимо представлять диапазон и точность. Программная модель (регистровая структура) процессора.
- •1) Полная специализация регистров, когда каждый регистр используется только по одному специальному назначению.
- •2) Полная универсализация, когда каждый регистр можно использовать по любому назначению.
- •Регистр ip (Instruction Pointer).
- •Регистр fr (Flag Register).
- •If (Interrupt Flag) – Флаг Прерывания
- •Адресная структура основной памяти и принципы размещения информации в ней. Принципы формирования физического адреса.
- •Режимы адресации.
- •Структура и форматы машинных команд.
- •Базовая система команд.
- •1. Поддержка защищённого режима (i286).
- •3. Включение в Pentium блока mmx (Multimedia Extension), система команд, которая содержит порядка 60 команд для поддержки принципа векторной обработки на уровне целочисленных данных.
- •Внедрение в кристалл процессора блока sse (sse2)
- •Cisc- и risc – архитектура.
- •Основные особенности risc – архитектуры.
- •Стремление к выполнению большинства машинных команд за 1 машинный такт (машинный цикл).
- •Широкое использование принципов суперскалярной и суперконвейерной обработки.
- •Команды загрузки и сохранения системных регистров.
- •Команды ввода/вывода: in/out, ins/outs.
- •Команда останова процессора - hlt.
- •Упрощенная структура компьютера (эвм).
- •1. Центральную;
- •2. Периферийную.
- •Организация ввода/вывода. Понятие, основные характеристики и уровни представления интерфейса.
- •1) Совокупность линий, шин, обеспечивающих обмен информацией между устройствами.
- •2) Алгоритм (протокол) обмена, определяющий последовательность организации передачи информации по линиям интерфейса.
- •3) Разделение интерфейса на ряд уровней представлений.
- •Основные характеристики интерфейса:
- •Пропускная способность определяется максимальным количеством бит или байт данных, передаваемых по интерфейсу за одну секунду.
- •Информационная ширина (количество бит или байт данных, передаваемых параллельно по шине данных, т.Е. Разрядность линии).
- •Максимально возможное удаление устройств, подключаемых к интерфейсу.
- •Шины (интерфейсы) персональных компьютеров на базе процессоров Pentium.
- •Основные аспекты организации ввода/вывода.
- •1.Структура компьютера в плане организации связей между ядром и периферийными устройствами:
- •2. Адресация к ву или пу. Основным аспектом, связанным с адресацией ву, является объединение или разделение адресных пространств памяти и ввода/вывода.
- •3.Способ организации ввода/вывода:
- •Адресация ву.
- •Способы адресации портов ввода/вывода и их сравнительный анализ.
- •Раздельное адресное пространство.
- •Единое адресное пространство.
- •Организация ввода/вывода с отображением на память обладает следующими достоинствами:
- •Недостатками использование совмещенного адресного пространства являются:
- •Способы организации ввода/вывода.
- •Ввод/вывод по прерыванию.
- •Прямой доступ к памяти – dma (Direct Memory Access).
- •2) Стандартные контроллеры dma позволяют реализацию следующих видов обмена:
- •В современных моделях пк для обмена с жесткими дисками наряду с dma также используется и pio. Канальный ввод/вывод (квв).
- •Основные функции квв:
- •Функции по установлению логической связи между ву и оп.
- •2) Функции, связанные с непосредственной передачей данных между ву и оп.
- •3) Функции, связанные с завершением обмена и разрушением логической связи между ву и оп.
- •Участие цп в организации квв сводится к выполнению следующих функций:
- •Классификация квв.
- •Сравнение Канального вв с pio и с dma.
- •Организация прерываний. Основные отличия организации прерываний в защищенном режиме по сравнению с реальным режимом.
- •Программируемый контроллер прерываний (pic i8259a).
- •Основные функции pic.
- •Внутренняя структура pic.
- •Шифратор выделенного запроса.
- •Основные режимы работы pic.
- •1) Fnm (Fully Nested Mode – Режим вложенных прерываний).
- •Взаимодействие между cpu и ведущим pic.
- •Основы программирования pic.
- •Приказы инициализации.
- •Icw1 имеет следующий формат:
- •Icw2 определяет базовый адрес последовательности векторов прерываний, размещаемых в таблице векторов прерываний. Собственно, под базовый адрес отводятся старшие 5 битов приказа(3-7).
- •Icw4 Наиболее важным битом приказа icw4 является бит 1, именуемый aeoi – Automatic End Of Interrupt.
- •Слова рабочих приказов.
- •Установка и отмена так называемого режима специального маскирования;
- •Установка и сброс режима опроса (полинга);
- •Разрешение чтения регистров irr и isr контроллера.
- •Организация центральных процессоров.
- •Как обрабатывающее устройство: цп осуществляет выполнение программ, связанных с какой-либо обработкой данных.
- •Как управляющее устройство: цп осуществляет координацию остальных устройств компьютера, а также связь компьютера с внешним миром.
- •Принципы построения и функционирования конвейеров команд.
- •Сравнение производительности последовательного процессора (без конвейера команд) и «параллельного» процессора (с конвейером команд).
- •Наличие в программах зависимостей по данным (конфликты по данным).
- •Использование различными блоками конвейера одного и того же ресурса (структурные конфликты).
- •Наличие при выполнении программы особых случаев, приводящих к прерыванию.
- •Различное время выполнения отдельных фаз машинных команд.
- •Большой разброс длительности фазы ех для различных машинных команд. Основные действия, выполняемые процессором на различных фазах (этапах) команды.
- •Санкт-Петербург
- •1. Принципы построения и функционирования компьютеров
- •1.1. Назначение компьютеров и принцип программного управления
- •1.2. Неймановский принцип программного управления
- •1.3. Структура компьютеров
- •1.4. Запоминающие устройства и организация памяти
- •1.5. Организация ввода-вывода данных
- •1.6. Принцип многоуровневой реализации функций
- •Программа
- •Аппаратура компьютера
- •2. Характеристики и классификация компьютеров
- •2.1. Характеристики компьютеров
- •2.2. Программно-аппаратный интерфейс и интерфейс прикладных программ
- •2.3. Быстродействие и производительность компьютеров
- •2.4. Емкость памяти
- •2.5. Надежность компьютеров
- •2.6. Стоимость компьютеров
- •2.7. Классификация компьютеров
- •Оглавление Предисловие 3
- •Принципы построения и функционирования компьютеров 7
- •Характеристики и классификация компьютеров 25
- •3.Архитектура компьютеров
- •3.1.Машинные слова и байты
- •3.2.Коды с обнаружением и исправлением ошибок
- •3.3. Представление данных в компьютерах
- •3.4. Способы адресации данных
- •3.5. Операции, выполняемые компьютерами
- •3.6. Системы команд компьютеров
- •3.7. Режимы работы компьютеров
- •3.8. Средства мультипрограммирования
- •3.10. Привилегированные операции и состояния процессора
- •3.11. Организация прерывания программ
- •3.12. Средства защиты памяти
- •4. Структура операционных устройств компьютера
- •4.1. Принцип микропрограммного управления операционными устройствами
- •4.2. Каноническая структура процессора
- •4.3. Конвейерные процессоры
- •5. Организация памяти компьютеров
- •5.1. Организация виртуальной памяти
- •5.2. Организация кэш-памяти
- •5.3. Организация raid – массивов
4.3. Конвейерные процессоры
Разработчики компьютеров стремятся увеличивать быстродействие и, следовательно, производительность процессоров в той степени, в которой эти характеристики процессоров могут быть улучшены в данных исторических условиях: при существующих и прогнозируемых ограничениях на площадь сверхбольших интегральных схем; при ограничениях на минимальных размер элементов, из которых строятся интегральные схемы; при известных оценках различных архитектурных решений процессоров – эффективности различных систем команд, способов адресации данных, многообразий типов данных и т.д. Главным препятствием в повышении быстродействии процессоров является большое время обращения к оперативной памяти, составляющее сейчас, как правило, от 5 до 20 нс. Еще в 1959 году при разработке компьютера IBM Stretch было предложено разделить процесс выполнения команд на два процесса: выборку команд из оперативной памяти в буфер выборки с упреждением и выполнение команд, выбираемых из регистров буфера, в порядке, определяемом программой. При этом процесс выборки команд в буфер отделялся от процесса выполнения команд с помощью буфера, в котором собиралось несколько команд, если оперативная память работала быстрее процессора, и оставалась одна команда, когда процессор работал быстрее оперативной памяти. Идея многоэтапной обработки команд получила дальнейшее развитие и привела к появлению конвейерных процессоров.
К
онвейерные
процессоры. Конвейерный процессор
– совокупность операционных устройств,
обеспечивающих поэтапный процесс
выполнения команд программы, который
может состоять из 2, 3, 4 и более этапов.
Каждый этап выполнения команды
реализуется самостоятельным операционным
устройством, состоящим из операционного
и управляющего автоматов и обеспечивающего
выполнение только одного этапа выполнения
команды: выборку команды, дешифрирование
кода операции, выборку первого операнда
операции, выборку второго операнда
операции и т.д. На рис. 4.6, а представлена
временная диаграмма 5-этапного процесса
выполнения команд с номерами 1, 2, 3, …
совокупностью операционных устройств
ОУ1, ОУ2, …, ОУ5,
образующих конвейерный процессор (рис
4.6, ). Операционные
устройства процессора ОУ1, ОУ2, …, ОУ5 выполняют следующие функции. Устройство ОУ1 выбирает команды в порядке их размещения в памяти и передает выбранную команду для ее исполнения в устройство ОУ2. По окончании выборки команды с номером 1 устройство ОУ1 начинает выбирать следующую команду с номером 2, и т.д. Устройство ОУ2 декодирует код операции поступившей команды, определяет тип выполняемой операции и передает адреса операндов и тип операции в следующее устройство ОУ3. Устройство ОУ3 обеспечивает выборку операндов, хранимых в основной памяти компьютера – в сверхоперативной памяти или в оперативной памяти. Выбранные операнды, адреса операндов, адрес команды и прочие данные о команде передаются для выполнения в следующее устройство ОУ4, которое служит для выполнения заданной командой операции: сложить, вычесть, умножить и т.д. После выполнения в устройстве ОУ4 заданной операции результат операции и все адресные данные поступают в устройство ОУ5, которое обеспечивает запись результата в заданные регистры общего назначения или в сверхоперативную и оперативную память компьютера. Таким образом обеспечивается параллельная во времени обработка линейной последовательности команд с номерами 1, 2, 3, …
Однако выполнению линейной последовательности команд препятствуют следующие обстоятельства: 1) наличие в программе команд условного перехода, реагирующих на признак результата операции (нулевой, положительный, отрицательный); 2) наличие в программах операционной системы команд условного перехода, реагирующих на признак готовности внешних устройств и команд ввода-вывода (выключено, работает, хранит прерывание, доступно); 3) возможность записи результата операции в память в то время, когда последующие команды только проходят первые этапы конвейерной обработки. По этим причинам исполнительные адреса команд, операндов и результатов передаются в конвейерных процессорах с первого этапа обработки команд до последнего этапа записи результата. Если в конвейере возникает одна из представленных ситуаций – условный переход или запись результата по адресу, совпадающему с ранее поступившим исполнительным адресом, производится сброс конвейера, чтобы исключить возможность некорректной обработки данных.
Таким образом конвейерный процессор – способ повышения пропускной способности процессора за счет использования последовательно соединенных операционных устройств. Количество таких устройств в составе процессора изменяется от пяти до двенадцати, в результате чего процессор может параллельно во времени обрабатывать от пяти до двенадцати команд программы. Если длительность такта процессора составляет Т нс и конвейер разделяется на n этапов, то длительность выполнения команды равна nТ нс, а пропускная способность конвейера, определяемая предельным количеством команд, обрабатываемых за секунду, будет равна 1000/Т миллионов команд в секунду. Дополнительно отметим, что здесь речь идет только о пропускной способности конвейера, но не о фактической производительности конвейера, которая зависит от вероятностей появления различных команд в смеси задач, выполняемых компьютером, и от информационной связанности в программах, т.е. о записи результатов в память, когда последующие команды только начали обрабатываться на конвейере.
Суперскалярные процессоры. Термин суперскалярный процессор появился в 1987 году и определяет структуру процессора более производительную, чем конвейерный процессор, построенный на основе схемы последовательной обработки совокупности команд (см. рис. 4.6, б). Пример структуры суперскалярного процессора приведен на рис. 4.7. Этот процессор состоит из девяти операционных устройств ОУ1, …, ОУ9, пять из которых ОУ4, …, ОУ8 выполняют самые продолжительные этапы выполнения команд – операции загрузки слов из памяти в регистры общего назначения, записи слов из регистров общего назначения в память, операции над целыми числами и операции над числами с плавающей запятой. Именно потому, что операционные устройства ОУ4, …, ОУ8 реализуют самые продолжительные операции над данными, сумма вероятностей параллельной работы нескольких устройств из числа ОУ4, …, ОУ8 оказываются весьма значительной и лежит в диапазоне
1 <
pi
< 5, (4.2)
г
де
5 – предельное количество устройств,
реализующих в схеме рис. 4.7 операции
над
данными. Естественно, что трансляторы с языков высокого уровня должны обеспечивать оптимизацию машинных кодов программ, чтобы по возможности исключить информационные связи между командами программы и увеличить сумму вероятностей параллельной работы устройств обработки данных (4.2).
Е
ще
один вариант схемы суперскалярного
процессора представлен на рис. 4.8,
который соответствует процессору
класса Pentium, производимых корпорацией
Intel. Выборка команд производится парами.
При этом одна команда поступает на
выполнение в главный конвейер, а вторая
команда – в конвейер целочисленной
арифметики. Существуют достаточно
сложные правила для определения
совместимости команд, которые должны
выполняться параллельно во времени.
Если команды в информационном отношении
несовместимы, то выполняется только
одна команда, которая использует ресурсы
главного конвейера. Оставшаяся команда
будет выполняться в паре со следующей
командой, выбираемой из памяти. Для
обеспечения высокопроизводительной
работы процессора используются
специальные компиляторы, обеспечивающие
формирование пар команд, которые могли
быть выполнены параллельно во времени.
Измерения производительности компьютеров
Pentium показали, что производительность
компьютеров Pentium увеличивается почти
в два раза при выполнении задач
целочисленной арифметики, что является
хорошим подтверждением эффективности
конвейерной обработки программ.
