Конвейеризация и пакетирование



Предыдущая | Следующая

Конвейеризация и пакетирование
Для ускорения обращения к памяти в процессоре 386 применяется конвейеризация, т.е. возможность нескольких внутренних устройств процессора работать более или менее независимо и параллельно. В первых процессорах все действия выполнялись последовательно, и каждое устройство не могло начинать свою операцию до завершения операции в предыдущем устройстве. Конечно, конвейеризация повышает производительность процессора; она применяется в процессорах 286 и 386.
На практике конвейеризация оправдывает ожидания не полностью. При конвейерном обращении к памяти выдается адрес следующей команды в то время, когда все еще выполняется предыдущая команда. При этом память можно адресовать заранее и подготовить к передаче данных по окончании предыдущей команды, что экономит время на адресацию.
Однако при конвейеризации адреса перемешиваются с передачами данных и появляются ожидающие операции считывания и записи. В конце концов такая смесь «распутывается», но экономия времени оказывается не очень большой. Устройство предвыборки команд фактически действует как внутренняя кэшпамять процессора. При проектировании процессора 486 решено устранить этот недостаток процессора 386, конвейеризация шины и устройство предвыборки заменены настоящей кэш-памятью.
Конвейеризации не стало, ее заменил пакетный режим. Пакетирование уже давно применялось в больших компьютерах, так как при обращении к памяти самое значительное время расходуется на открывание конкретного адреса. Как только первый адрес открыт, данные по соседним адресам доступны очень легко и быстро. При правильной организации первая адресация открывает маршрут к множеству данных. Не нужно повторно адресовать адреса, находящиеся в непосредственной близости. Данные из соседних адресов можно передать без дальнейшей адресации. Наглядным примером этого способа служит обращение к видеоЗУПВ: ко всей области видеоЗУПВ можно обратиться, адресуя первый байт. Пакетирование — это средство блоковой передачи.
• Реализация пакетного режима в процессоре 486 опирается на представление памяти основной памяти компьютера с размером слова 64 бита (рис. 17.6). Здесь один адрес может открыть 64 бита. По сравнению с конвейеризацией процессора 386 пакетная передача в процессоре 486 осуществляется в два раза быстрее. В процессоре 386 конвейеризация требует два такта на передачу, а в процессоре 486 тот же объем данных передается за один такт. Если сравнить конвейерное обращение к четырем последовательным 16-битовым словам с пакетным обращением к этим же словам, то преимущество пакетирования над конвейеризацией становится очевидным (табл. 17.2).
В процессоре 386 память организована в 16-битовые слова, и при обращении к ней происходят следующие события. В первом такте процессор адресует первое слово. Во втором такте слово передается в процессор. В третьем такте адресуется второе слово, и в четвертом такте оно передается в процессор. В пятом такте адресуется третье слово, которое в шестом такте передается в процессор. В седьмом такте адресуется четвертое слово, и оно в восьмом такте передается в процессор. На этом обращение к четырем словам, состоящим из 64 бит,( заканчивается.
Процессор 486 при организации памяти в 64 бита обращается к тем же четырем 16-битовым словам за шесть тактов, а не за восемь. В первом такте процессор 486 адресует 64-битовую ячейку аналогично тому, как процессор 386 адресует 16-битовые ячейки. Второй такт пропадает, так как память еще не готова. В третьем такте память готова, и первое слово передается в процессор. В третьем же такте включается пакетирование. В четвертом такте в процессор передается второе слово, в пятом — третье слово и в шестом — четвертое слово из 64-битовой ячейки. После включения пакетирования 16-битовые слова автоматически пере-с даются в процессор 486 в каждом такте синхронизации. Адресацию нужно выполнять только один раз в первом такте.

 

 Поиск и устранение неисправностей в персональных компьютерах