Исполнение инструкций Kдsu tдitmine
ИСПОЛНЕНИЕ ИНСТРУКЦИЙ В ПРОЦЕССОРЕ
Kдsu tдitmine protsessoris(Instruction Execution, fetch-decode-execute cycle)
Центральный процессор выполняет каждую команду за несколько шагов:
1) Процессор содержит регистр, называемый счетчиком команд (Program Counter, РС), в котором хранится адрес следующей команды. Из памяти извлекается команда, хранящаяся по адресу, указанному в этом регистре. Эта команда помещается в регистр команды (Instruction Register, IR);
2) Меняется положение счетчика команд, который теперь должен указывать на следующую команду. Это происходит после декодирования текущей команды, а иногда и после ее выполнения;
3) определяет тип вызванной команды;
4) если команда использует слово из памяти, определяет, где находится это слово;
5) переносит слово, если это необходимо, в регистр центрального процессора;
6) выполняет команду;
7)переходит к шагу 1, чтобы начать выполнение следующей команды.
Такая последовательность шагов (выборка—декодирование—исполнение) является основой работы всех компьютеров.
Ветвление с прогнозированием Siirete (hagnemiste) ennustamine (Branch Prediction)
В современных компьютерах содержится конвейеры с множеством стадий. Так как конвейеры лудше работают с линейным кодом, поэтому блок выборки команд может просто считывать последовательные слова из памяти и отправлять их в блок декодирования заранее, еще до того, как они понадобятся. В ходе выполнения программ, в них существуют множества команд переходов. Бывают такие длинные линейныей коды, вследствие чего вызывать команды с высокой скоростью для передачи в конвейер очень трудно. Сложность состоит в конвейеризации. Иногда возникают такие моменты, что блоку выборки команд приходится решать, откуда вызывать следующую команду еще до того, как он узнает, команду какого типа он только что вызвал. Для таких случаев и предназначены прогнозирования ветвлений.
Динамическое прогнозирование ветвления
Один из подходов прогнозирования ветвления – хранить специальную таблицу (в особом аппаратном обеспечении), в которую центральный процессор записывает условные переходы, когда они встречаются, и там их можно искать, когда они снова появятся. Это прогнозирование выполняются во время работы программы. Оно также приспосабливаются к текущему поведению программы.
Статическое прогнозирование ветвления
Существует такая технология прогнозирования, где имеется еще один набор команд условного перехода помимо обычных (которые нужны для обратной совместимости). Новые команды содержат бит, по которому компилятор определяет, совершать переход или не совершать. Когда встречается такой бит, блок выборки команд просто делает то, что ему сказано. Более того, для этих команд ненужно пространство в таблице предыстории переходов, что сокращает количество конфликтных ситуаций.
Профилированное ветвление
Другой тип технологии прогнозирования ветвления основан на профилировании. В данном случае программа не заставляет компилятор вычислять, какие переходы нужно совершать, а какие нет. Здесь программа действительно выполняется, а ветвления фиксируются. Эта информация поступает в компилятор, который затем использует специальные команды условного перехода для того, чтобы сообщить аппаратному обеспечению, что нужно делать.
Предсказание ветвлений (branch prediction) используется практически во всех процессорах, которые обладают конвейером. Это позволяет процессору заполнять конвейер инструкциями прежде, чем текущая инструкция будет выполнена. Варианты предсказания исполнения ветвления в системе инструкций, где ветвление происходит либо не происходит, такие:
Осуществлено предсказание ветвления, происходит ветвление – удачный исход; Осуществлено предсказание ветвления, ветвление не происходит – неудачный исход; Не осуществлено предсказание ветвления, происходит ветвление – неудачный исход. Не осуществлено предсказание ветвления, ветвление не происходит – удачный исход;
Общая схема:

(1 – pb) – вероятность, что инструкция не образует ветвления;
(1 – pt) – вероятность, что ветвление не произойдёт;
(1 – pc) – вероятность, что предсказание не верно.
Манипулируя этими вероятностями, можно прогнозировать ветвления.
Стратегии предсказания ветвлений:
Fixed Branch Prediction – фиксированное предсказание ветвления; Static Branch Prediction – статическое предсказание ветвления, определяет, будут ли ветвления происходить каждый раз, когда соответствующая инструкция будет обнаружена или же не будут; Dynamic Branch Prediction – динамическое предсказание ветвления, определяет вероятность ветвления на основе поведения выполняемой программы.
Кэш-память
Т. к. скорость процессора очень велика и для того чтобы, в ходе его работы не происходило задержек, существует кэш-память, которая содержит копии команд и данных наиболее часто используемых из основной памяти, что повышает скорость доступа к ним.

Одной из самых эффективных технологий одновременного увеличения пропускной способности и уменьшения времени ожидания является применение нескольких блоков кэш-памяти, введение отдельной кэшпамяти для команд и отдельной для данных (разделенной кэш-памяти). В различных системах, также используются многоуровневые кэши. Например существуют системы из трёх кэшев.

Обычно все содержимое кэш-памяти первого уровня находится в кэш-памяти второго уровня, а все содержимое кэш-памяти второго уровня находится в кэш-памяти третьего уровня. По мере увеличения уровня кэша увеличиваетя его объем, но уменьшается функциональная скорость. Дополнительные уровни кэша используются в целях избежания медленного обращения процессора к основной памяти. В случае когда из первого кэша удаляется строка во второй кэш, то быстрее будет обратиться к кэшу второго уровня, чем к основной памяти.
Модель кэш-памяти:
Основная память разделяется на блоки фиксированного размера, которые называются строками кэшпамяти. В любой момент несколько строк находится в кэш-памяти. Когда происходит обращение к памяти, контроллер кэш-памяти проверяет, есть ли нужное слово в данный момент в кэш-памяти. Если есть, то можно сэкономить время, требуемое на доступ к основной памяти. Если данного слова в кэш-памяти нет, то какая-либо строка из нее удаляется, а вместо нее помещается нужная строка из основной памяти или из кэш-памяти более низкого уровня. Идея кэш-памяти как можно больше держать часто используемых строк, чтобы число успешных обращений к кэш-памяти было максимальным.
Иерархия памяти в процессоре
Иерархическая структура памяти является традиционным решением проблемы хранения большого количества данных. На самом верху находятся регистры процессора. Доступ к регистрам осуществляется быстрее всего. Дальше идет кэшпамять, объем которой сейчас составляет от 32 Кбайт до нескольких мегабайт. Затем следует основная память, которая в настоящее время может вмещать от 16 Мбайт до десятков гигабайтов. Далее идут магнитные диски и, наконец, накопители на магнитной ленте и оптические диски, которые используются для хранения архивной информации.

По мере продвижения по структуре сверху вниз возрастают три параметра. Во-первых, увеличивается время доступа. Доступ к регистрам занимает несколько наносекунд, доступ к кэш-памяти – немного больше, доступ к основной памяти – несколько десятков наносекунд. Дальше идет большой разрыв: доступ к дискам занимает по крайней мере 10 мкс. Во-вторых, увеличивается объем памяти. Регистры могут содержать в лучшем случае 128 байтов, кэш-память – несколько мегабайтов, основная память – десятки тысяч мегабайтов, магнитные диски – от нескольких гигабайтов до нескольких десятков гигабайтов. Магнитные ленты и оптические диски хранятся автономно от компьютера, поэтому их объем ограничивается только финансовыми возможностями владельца.
Классификация памяти
К устройствам хранения информации относят:
- ОЗУ (оперативная память);
- жесткий диск (винчестер);
- компакт-диск (CD-ROM);
- дискета;
- магнитооптические диски;
- ZIP-диски – устройства внешнего хранения информации;
- видеокассета, данные на которую записываются с помощью стримера.
Память компьютера делится на внутреннюю и внешнюю. К внутренней памяти компьютера относятся:
- оперативное запоминающее устройство (ОЗУ);
- постоянное запоминающее устройство (ПЗУ);
- кэш-память.
К внешней памяти компьютера относятся дисковые устройства: жесткий диск, дискета, компакт диск.
Внутренняя память компьютера: ОЗУ, ПЗУ, КЭШ. Назначение и характеристики.
ОЗУ (оперативное запоминающее устройство) – оперативная память, предназначенная для хранения данных, работа с которыми идет в данный момент времени. Её преимущества: высокое быстродействие. Недостатки: хранение информации только при наличии электропитания, высокая стоимость.
ПЗУ (постоянное запоминающее устройство) – память, предназначенная для хранения микропрограмм, которые используются при включении компьютера (когда оперативная память ещё не задействована) для тестирования его компонентов. Также микропрограммы из ПЗУ могут вызываться из программ, работающих в ОЗУ, для своих нужд. Достоинства: хранит данные при отсутствии электропитания. Недостатки: низкое быстродействие.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |


