Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_-_Petrov.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
778.36 Кб
Скачать

12. Принцип работы микропроцессора

Микропроцессор координирует работу всех устройств цифровой системы с помощью шины управления (ШУ). Помимо ШУ имеется 16-разрядная адресная шина (ША), которая служит для выбора определенной ячейки памяти, порта ввода или порта вывода. По 8-разрядной информационной шине или шине данных (ШД) осуществляется двунаправленная пересылка данных к микропроцессору и от микропроцессора. Важно отметить, что МП может посылать информацию в память микроЭВМ или к одному из портов вывода, а также получать информацию из памяти или от одного из портов ввода. Постоянное запоминающее устройство (ПЗУ) в микроЭВМ содержит некоторую программу (на практике программу инициализации ЭВМ). Программы могут быть загружены в запоминающее устройство с произвольной выборкой (ЗУПВ) и из внешнего запоминающего устройства (ВЗУ).

1. Условно говоря, работа процессора начинается с запроса очередной команды. Блок выборки, зная, по какому адресу расположена команда, пытается найти ее в кэше L1. Не обнаружив ее там, он обращается к кэшу L2 (который больше по объему и хранит больше ранее запрошенных команд и данных), если и там ее нет - к еще более вместительному L3. Если же искомая команда отсутствует и в кэше L3, она загружается через шину данных процессора из системной памяти, по пути попадая во все три кэша. Сходным образом запрашиваются и данные, требующиеся для выполнения этой команды.

2. Блок выборки передает команду в декодер. Этот узел нужен для того, чтобы разложить сложную команду системы команд х8б на несколько микроопераций, каждая из которых выполняется исполнительными устройствами за один такт. Получившуюся последовательность микроопераций декодер помещает в кэш декодированных команд. Блоку выборки нужна следующая команда. Для того чтобы узнать, откуда брать следующую команду и данные для нее, задействуется блок предвыборки. Анализируя последовательность микроопераций, он определяет, какая команда понадобится далее.

3. Планировщик забирает из кэша декодированных команд несколько микроопераций и определяет, в какой последовательности их можно выполнять. Команды, результаты выполнения которых не зависят от результатов выполнения других команд, могут исполняться параллельно на разных исполнительных устройствах. Таких устройств в ядре современного процессора немало: ALU для целых чисел, FPU для чисел с плавающей запятой, ALU для команд SSE и множество других.

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

5. Если команда на выходе с конвейера признана выполненной корректно (то есть ошибки предвыборки не было), ее результат помещается в кэш и далее попадает в системную память компьютера.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]