
- •Общая структура и функции компьютера.
- •Базовые электронные элементы компьютера.
- •Многоуровневая компьютерная организация.
- •Развитие многоуровневых машин.
- •Физическая и функциональная схема микропроцессора.
- •Устройство управления.
- •Арифметико - логическое устройство.
- •Организация набора регистров (Программно доступные регистры).
- •Организация набора регистров (Регистры условия и состояния).
- •Технологии повышения производительности процессоров.
- •Конвейерная обработка команд (pipelining).
- •Классы конфликтов конвейерной обработки команд. (Структурные конфликты).
- •Классы конфликтов конвейерной обработки команд. (Конфликты по данным).
- •Классы конфликтов конвейерной обработки команд (Конфликты по управлению).
- •Методы решения проблемы условного перехода. (Конвейер с буферами предвыборки команд).
- •Методы решения проблемы условного перехода. (Конвейер с множественными потоками).
- •18.Суперскалярная архитектура.(общая характеристика)
- •19. Суперскалярные архитектуры. (Двойной конвеер из пяти стадий с общим отделом вызова команд).
- •20.Суперскалярные архитектуры. (Конвейер с шестью функциональными блоками).
- •21. Суперскалярные архитектуры.( Сравнение суперскалярной и суперконвейерной схем).
- •22. Особенности реализации суперскалярных процессоров.
- •23. Динамическое исполнение команд (множественное предсказание ветвлений, анализ потока данных, спекулятивное (по предположению) исполнение).
- •24.Концепции вычисления на основе явного параллелизма команд. (Предикация).
- •25.Концепции вычисления на основе явного параллелизма команд. (Опережающее чтение).
- •26.Технология Hyper-Threading (Многоядерные процессоры).
- •27.Функции и характеристики подсистемы памяти.
- •Внутренние интерфейсы (Hyper Transport).
- •Иерархия и организация подключений компонентов компьютера.
- •Последовательный интерфейс (сом-порт стандарта rs-232-c).
- •Прямой доступ к памяти.
- •Внешние интерфейсы (usb).
- •Классы архитектур вычислительных систем.
- •Многопроцессорная вс с раздельными кэШами и общей памятью.
- •Внешние запоминающие устройства (Магнитные диски).
- •Внешние запоминающие устройства (Накопители на cd).
- •Внешние запоминающие устройства (Накопители на dvd).
- •Многопроцессорные вс с общей памятью и с общим кэШем.
- •Внешние запоминающие устройства (Классификация).
- •Внешние запоминающие устройства (Магнитные ленты их характеристики и структура).
- •Кластерные или numa-архитектуры вс.
Физическая и функциональная схема микропроцессора.
Схем нету в интернете которые он давал
Устройство управления.
Устройство управления (УУ) является функционально наиболее сложным устройством ПК — оно вырабатывает управляющие сигналы, поступающие по кодовым шинам инструкций (КШИ) во все блоки машины. Упрощенная функциональная схема УУ показана на рис. 8.1.
Рис 8.1. Укрупненная функциональная схема УУ
На рис. представлены:
регистр команд — запоминающий регистр, в котором хранится код команды: код выполняемой операции (КОП) и адреса операндов, участвующих в операции. Регистр команд расположен в интерфейсной части МП, в блоке регистров команд;
дешифратор операций — логический блок, выбирающий в соответствии с поступающим из регистра команд кодом операции (КОП) один из множества имеющихся у него выходов;
постоянное запоминающее устройство (ПЗУ) микропрограмм хранит в своих ячейках управляющие сигналы (импульсы), необходимые для выполнения в блоках ПК процедур обработки информации. Импульс по выбранному дешифратором операций в соответствии с кодом операции проводу считывает из ПЗУ микропрограмм необходимую последовательность управляющих сигналов;
узел формирования адреса (находится в интерфейсной части МП) — устройство, вычисляющее полный адрес ячейки памяти (регистра) по реквизитам, поступающим из регистра команд и регистров МПП;
кодовые шины данных, адреса и инструкций — часть внутренней интерфейсной шины микропроцессора.
Арифметико - логическое устройство.
Рис. 8.2. Функциональная схема АЛУ
Схемы управления принимают по кодовым шинам инструкций управляющие сигналы от устройства управления и преобразуют их в сигналы для управления работой регистров и сумматора АЛУ.
АЛУ выполняет арифметические операции « + », « – », « » и « ÷ » только над двоичной информацией с запятой, фиксированной после последнего разряда, то есть только над целыми двоичными числами. Выполнение операций над двоичными числами с плавающей запятой и над двоично-кодированными десятичными числами осуществляется с привлечением математического сопроцессора или по специально составленным программам.
Организация набора регистров (Программно доступные регистры).
Организация набора регистров (Регистры условия и состояния).
Технологии повышения производительности процессоров.
функции, которые увеличивают производительность современных процессоров.
Суперскалярная архитектура
Программные инструкции (команды) обрабатываются электронными схемами, называемыми операционными блоками или исполнительными устройствами. Термин суперскалярная архитектура означает одновременное использование нескольких операционных блоков, что позволяет центральному процессору выполнять несколько инструкций за один машинный такт (цикл). Например, в процессоре Pentium Pro используются два операционных конвейера (их называют «U» и «V»). Это является формой многопроцессорности внутри самого центрального процессора, поскольку несколько часто выполняемых операций выполняются параллельно несколькими устройствами. Большинство современных процессоров являются суперскалярными на том или ином уровне. За счет сочетания конвейерной обработки команд с несколькими операционными блоками в суперскалярной архитектуре центрального процессора удается достигать чрезвычайно эффективного использования каждого машинного такта.
Конвейерная обработка
Суперконвейер
Как было сказано выше, команды обрабатываются в конвейере, каждая часть которого выполняет определенную операцию над командой. Если сделать конвейер более длинным (увеличить количество шагов обработки команды), то на каждом шаге обработки будет выполняться меньше работы (а значит и за меньший промежуток времени) и можно будет увеличить тактовую частоту процессора. Такая технология известна под названием суперконвейера и является усовершенствованием простого конвейера. Длина суперконвейера составляет до 10 шагов. Процессоры Intel Pentium 4 используют гиперконвейер длиной в 20 шагов. Увеличение длины конвейера накладывает ограничение на программу — чтобы исполняться наиболее эффективным образом, компиляторы должны учитывать особенности конвейерной архитектуры процессоров.
Спекулятивное выполнение и предсказание переходов
Некоторые процессоры обладают способностью одновременного выполнения нескольких команд. В ряде случаев не все результаты обработки этих команд будут использоваться, поскольку ветвление программы может привести к тому, что часть уже загруженных в конвейер команд не должна была исполняться. Такое часто наблюдается на участках программ вблизи команд условных переходов — где проверяется некоторое условие, и дальнейшее выполнение программы зависит от проверки выполнения этого условия (условный оператор в любом языке программирования). Ветвление программы представляет реальную проблему для конвейера команд, поскольку нет гарантии в том, что программа будет далее выполняться линейно (т.е. не будет выполнена команда перехода на другую часть программы). Менее «интеллектуальные» процессоры останавливают конвейер до того момента, когда будет известен результат проверки условия ветвления программы, что приводит к падению производительности. Более совершенные процессоры будут продолжать обрабатывать конвейер команд в предположении, что выполнение программы продолжится без ветвления.
Еще более совершенные процессоры обладают способностью предсказывать ветвление программы (с достаточно хорошей точностью) на основе анализа предыдущей истории выполнения данного участка программы. Механизм предсказания программных переходов улучшает обработку ветвлений программы. При этом используется специальная небольшая кэш-память, называемая целевым буфером ветвлений. Когда процессор обрабатывает команду перехода, то он запоминает информацию о ней в этой памяти. Если процессор в следующий раз встретит эту команду перехода, то он может уже «догадаться» (на основе записанной информации) о направлении ветвления программы в этом месте. Это позволяет не останавливать конвейер и повышает производительность процессора.
Динамическое выполнение команд
Даже самый быстрый процессор выполняет команды в том порядке, в котором они располагаются в конкретной программе. Это означает, что неправильно или неэффективно написанная программа будет снижать производительность центрального процессора. Во многих случаях даже хорошо написанная программа ухудшается в процессе ее трансляции в машинные команды. Метод динамического исполнения позволяет процессору оценивать последовательность команд программы и «выбирать» лучшую последовательность обработки команд. Например, команда 2 может быть выполнена раньше окончания обработки команды 1. Результаты же выполнения команд располагаются в первоначальномпорядке для обеспечения правильного выполнения программы. При неграмотном написании программы такое выборочное переупорядочивание команд позволяет процессору лучше использовать свои ресурсы, что повышает его производительность.
Переименование регистров и буфера записи
Методика переименования регистров используется для организации нескольких процессов обработки команд различными операционными блоками, пытающимися использовать одни и те же регистры. Вместо того чтобы довольствоваться единственным набором регистров, используется несколько наборов регистров. Это позволяет различным операционным блокам работать одновременно, без ненужных приостановок в работе конвейера. Буфера записи используются для хранения результатов выполнения команд до тех пор, пока эти результаты не будут опять переписаны в регистры или в память. Чем больше буферов записи, тем больше команд могут выполняться без остановки конвейеров.
Многопроцессорность
Многопроцессорность — это методика организации работы нескольких процессоров в одной системе. Идея состоит в удвоении производительности системы при использовании двух процессоров вместо одного, или повышении производительности в 4 раза при использовании 4-х процессоров и т.д. На практике дело обстоит не так просто, но в определенных условиях многопроцессорность улучшает производительность системы.