
- •1. Функциональные роли компьютеров в сети
- •2. Шины и интерфейсы.
- •3. Сегментная организация оп и виртуальная память.
- •5. Архитектура современных процессоров, проблемы роста производительности.
- •512 Кбайт
- •6. Связь компьютера с периферийным устройством.
- •7. Методы адресации
- •№9. Архитектура фон Неймана – основные признаки.
- •10. Регистры процессора и его программная модель.
- •11. Классификация архитектур по параллельной обработке данных
- •12. Интерфейсы жд, эволюция производительности.
- •13. Система команд и архитектура эвм.
- •14. Способы организации кэш-памяти.
- •1. Где может размещаться блок в кэш-памяти?
- •2. Как найти блок, находящийся в кэш-памяти?
- •3. Какой блок кэш-памяти должен быть замещен при промахе?
- •4. Что происходит во время записи?
- •15. Многопроцессорные системы, классификация Флинна.
- •16. Магистрально-модульный способпостроения эвм
- •17. Тракт данных типичного процессора, система команд
- •18. Синхронный и асинхронный обмен данными, обмен по прерыванию.
- •19. Конвейерная и суперскалярная обработка данных.
- •20.Связь двух компьютеров.
- •21. Структура современного пк, взаимодействие основных блоков.
- •Материнская плата - основные электронные компоненты, определяющие структуру компьютера (Mother board)
- •Основные внешние устройства компьютера
- •22. Архитектурные особенности современных процессоров, Hyper Threading и мультиядерность.
- •23. Smp архитектура и ее развитие
- •24.Логическая организация памяти эвм.
- •Виртуальная память
- •Страничная организация памяти
- •Сегментная организация памяти.
- •25. Структура кэш – памяти процессораi486.
- •26. Топология физических связей компьютеров в сети.
- •Простейшие виды связи сети передачи данных
- •27. АрхитектураNuma.
- •28. Формат команды процессораi486 и адресация операндов.
- •30. Кластерные архитектуры и проблема связи процессоров в кластерной системе Кластерная архитектура
- •Проблемы выполнения сети связи процессоров в кластерной системе.
- •33. Пропускная способность и ее связь с методами кодирования.
- •34. Конвейерная обработка данных
- •№36. Анализ производительности эвм, пути развития. Увеличение производительности эвм, за счет чего?
- •Параллельные системы
- •Использование параллельных вычислительных систем
- •Закон Амдала и его следствия
- •№37. Архитектура «клиент-сервер».
- •35. Когерентность кэШей.
- •37. Архитектура клиент-сервер
- •38. Отличительные особенностиRisc– архитектуры
- •№42. Основные принципы построения систем ввода/вывода.
- •Физические принципы организации ввода-вывода
- •Интерфейс
- •Магистрально-модульный способ построения эвм
- •Структура контроллера устройства
- •Опрос устройств и прерывания. Исключительные ситуации и системные вызовы
- •Организация передачи данных
- •Прямой доступ к памяти (Direct Memory Access – dma)
- •Логические принципы организации ввода-вывода
- •Структура системы ввода-вывода
- •Буферизация и кэширование
- •39. Оперативная память эвм, основные параметры.
- •45. Дисковые массивы и уровни raid
- •51. Внешняя память компьютера
- •54. Классификация компьютерных сетей
- •55. Содержание понятий – транслятор, интерпретатор, компилятор и их связь с организацией вычислительного процесса
- •56. Технология Hyper-Threading
- •59. Закон Амдала и его следствия.
- •61. Производительность процессора и методы ее увеличения
19. Конвейерная и суперскалярная обработка данных.
Конвейерный принцип обработкиинформации. Принцип подразумевает, что в каждый момент времени процессор работает над различными стадиями выполнения нескольких команд, причем на выполнение каждой стадии выделяются отдельные аппаратные ресурсы. По очередному тактовому импульсу каждая команда вконвейерепродвигается на следующую стадию обработки, выполненная команда покидаетконвейер, а новая поступает в него.
Конвейеризация (или конвейерная обработка) в общем случае основана на разделении подлежащей исполнению функции на более мелкие части, называемые ступенями, и выделении для каждой из них отдельного блока аппаратуры. Производительность при этом возрастает благодаря тому, что одновременно на различных ступенях конвейера выполняются несколько команд. Конвейерная обработка такого рода широко применяется во всех современных быстродействующих процессорах. Выполнение типичной команды можно разделить на следующие этапы:
С 1 – выборка команды (по адресу, заданному счетчиком команд, из памяти извлекается команда и помещается в буфер);
С 2 – декодирование команды (определение КОП и типа операндов);
С 3 – выборка операндов (определение местонахождения операндов и вызов их из регистров);
С 4 – выполнение команды;
С 5 – запись результата в нужный регистр.
Параллелизм нижнего уровня реализуется на однопроцессорных машинах. Название однопроцессорные предполагает, что подобные архитектуры выполняют только один поток команд. Классическим примером однопроцессорной архитектуры является архитектура фон Неймана со строго последовательным выполнением команд.
При конвейерной обработке часто возникают конфликты, которые препятствуют выполнению очередной команды в предназначенном для нее такте. Конфликты могут иметь различное происхождение, но в целом их можно охарактеризовать как структурные, поуправлениюи поданным.
Структурные конфликтывозникают в том случае, когда аппаратные средства процессора не могут поддерживать все возможные комбинации команд в режиме одновременного выполнения с совмещением.
Конфликты по даннымвозникают в случаях, когда выполнение одной команды зависит от результата выполнения предыдущей команды. Устранениеконфликтов по даннымтиповWARиWAWдостигается путем отказа от неупорядоченного исполнения команд, но чаще всего путем введения буфера восстановления последовательности команд.
Недостаточное дублирование некоторых ресурсов
Одним из типичных примеров служит конфликт из-за доступа к запоминающим устройствам. Борьба с конфликтами такого рода проводится путем увеличения количества однотипных функциональных устройств, которые могут одновременно выполнять одни и те же или схожие функции. Например, в современных микропроцессорах обычно разделяют кэш-память для хранения команд и кэш-память данных, а также используют много портовую схему доступа к регистровой памяти, при которой к регистрам можно одновременно обращаться по одному каналу для записи, а по другому - для считывания информации. Конфликты из-за исполнительных устройств обычно сглаживаются введением в состав микропроцессора дополнительных блоков. Так, в микропроцессоре Pentium-4 предусмотрено 4 АЛУ для обработки целочисленных данных. Процессоры, имеющие в своем составе более одного конвейера, называются суперскалярными.
Суперскалярные архитектуры
Смысл суперскалярной обработки - наличие в аппаратуре средств, позволяющих одновременно выполнять две и более скалярных операций, т.е. команд обработки пары чисел. В самом деле, суть этого метода довольно проста: имеется в виду дублирование устройств процессора. Этот метод хорош тем, что он "прозрачен" для программиста - составление программ для подобных процессоров не требует никаких специальных усилий, ответственность за параллельное выполнение операций возлагается в основном на аппаратные средства.
Второй способ реализации суперскалярной обработки заключается в кардинальной перестройке всего процесса трансляции и исполнения программ. Уже на этапе подготовки программы компилятор группирует не связанные операции в пакеты, содержимое которых строго соответствует структуре процессора. Например, если процессор содержит функционально независимые устройства сложения, умножения, сдвига и деления, то максимум, что компилятор может "уложить" в один пакет - это четыре разнотипные операции: сложение, умножение, сдвиг и деление. Сформированные пакеты операций преобразуются компилятором в командные слова.
Функции стадии С1 (выборка команд а также тезис – один конвейер хорошо, а два лучше) позволяют реализовать структуру с двойным конвейером.
С1 С2 С3 С4 С5
Блок Выборки
Команд Блок декодирования Блок Выб. опер. Блок Вып. команд Блок возврата
Блок
декодирования Блок Выб. опер. Блок Вып. команд Блок возврата
Рис. 12.4 Двойной конвейер из пяти стадий
Можно и дальше наращивать число конвейеров, но это значительно осложнило бы аппаратную часть. Вместо этого было предложено использовать один конвейер с большим количеством функциональных блоков (PentiumII– суперскалярный процессор).
С4
АЛУ
АЛУ
С1 С2 С3 С5
Блок Выборки команд Блок декодирования Блок
Выб. Опер. Блок Умнож. Блок
возврата
Блок с пл. точкой
Рис 12.5 Суперскалярный процессор с пятью функциональными блоками
Недостатком суперскалярных микропроцессоров является необходимость синхронного продвижения команд в каждом из конвейеров. К тому же, как мы уже отмечали, кроме параллелизма на уровне команд существует параллелизм на уровне данных, реализация этого вида параллелизма требует применения многопроцессорной архитектуры.