| imho.ws |
![]() |
|
|
|
# 1 |
|
Member
Регистрация: 08.08.2005
Адрес: Прибалтика
Пол: Male
Сообщения: 217
![]() |
конвеер в памяти и процессоре
Люди помогите пож., завтра работу писать, там может попасть такой вопрос, в НЭТЕ ничего не могу найти про это!
(понял из найденного только одно, что конвеер ускоряет работу памяти и проца. Ну если кто чего знает , может от себя!???
|
|
|
|
|
# 2 |
|
::VIP::
Регистрация: 14.05.2003
Адрес: 127.0.0.1
Сообщения: 852
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Где-то в интернете я видел хорошую статью на эту тему, не помню только где(давно это было).Попрубую объяснить как могу(за возможные ошибки не отвечаю
)Действительно процессорный конвейер ускоряет работу. Проиходит это следующим образом: Для примера возьмём конвейер с 3 функциональными блоками(чтение, выполнение, запись). Из этого следует, что выполнение какой-либо команды происходит в 3 этапа: чтение, выполнение, запись. Допустим, что выполнение каждой команды проихсодит за 3 такта. Мы имеем например последовательность команд Ком1,Ком2,Ком3 Код:
Такты Чтение Выполнение Запись. 1 Ком1 2 Ком1 3 Ком1 4 Ком2 5 Ком2 6 Ком2 7 Ком3 8 Ком3 9 Ком3 Использование конвейера предполагает, что после освобождение блока в него загружается следующая команда программы. Код:
Такты Чтение Выполнение Запись. 1 Ком1 2 Ком2 Ком1 3 Ком3 Ком2 Ком1 4 Ком3 Ком2 5 Ком3 Получается, что теперь на выполнение тех-же 3 последовательностей команд, процессору требуется только 5 тактов.Производительность почти удваивается. Объяснил как мог. Удачи!!!
__________________
reality.sys corrupt Kernel panic - not syncing: Fatal exception halt life(y,n)? Последний раз редактировалось Warchief; 16.05.2006 в 00:06. Причина: Орфографические ошибки |
|
|
|
|
# 3 |
|
Member
Регистрация: 08.08.2005
Адрес: Прибалтика
Пол: Male
Сообщения: 217
![]() |
пасибо огромное! нашел кое что , кому интересно почитает !
КОНВЕЙЕР В ПРОЦЕССОРЕ Konveier protsessoris(Pipeline) Идея конвейера в том, что команда подразделяется на несколько этапов, каждый из которых выполняется определенной час¬тью аппаратного обеспечения, причем все эти части могут работать параллельно. На рис. 2.3, а изображен конвейер из 5 блоков, которые называются стадиями. Стадия С1 вызывает команду из памяти и помещает ее в буфер, где она хранится до тех пор, пока не будет нужна. Стадия С2 декодирует эту команду, определяя ее тип и тип операндов, над которыми она будет производить определенные действия. Стадия СЗ определяет местонахождение операндов и вызывает их или из регистров, или из памяти. Стадия С4 выполняет команду, обычно путем провода операндов через тракт данных. И наконец, стадия С5 записывает результат обрат¬но в нужный регистр. На рис. 2.3, б мы видим, как действует конвейер во времени. Во время цикла 1 стадия С1 работает над командой 1, вызывая ее из памяти. Во время цикла 2 ста¬дия С2 декодирует команду 1, в то время как стадия С1 вызывает из памяти коман¬ду 2. Во время цикла 3 стадия СЗ вызывает операнды для команды 1, стадия С2 декодирует команду 2, а стадия С1 вызывает третью команду. Во время цикла 4 стадия С4 выполняет команду 1, СЗ вызывает операнды для команды 2, С2 деко¬дирует команду 3, а С1 вызывает команду 4. Наконец, во время пятого цикла С5 записывает результат выполнения команды 1 обратно в регистр, тогда как другие стадии работают над следующими командами. (рисунки не нашел времени вставлять, если интересно , то пишите, выложу) |
|
|