IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Железо (http://www.imho.ws/forumdisplay.php?f=31)
-   -   конвеер в памяти и процессоре (http://www.imho.ws/showthread.php?t=103699)

kasha 15.05.2006 20:09

конвеер в памяти и процессоре
 
Люди помогите пож., завтра работу писать, там может попасть такой вопрос, в НЭТЕ ничего не могу найти про это!
(понял из найденного только одно, что конвеер ускоряет работу памяти и проца. Ну если кто чего знает , может от себя!??? :молись:

Warchief 15.05.2006 21:53

Где-то в интернете я видел хорошую статью на эту тему, не помню только где(давно это было).Попрубую объяснить как могу(за возможные ошибки не отвечаю :contract: )

Действительно процессорный конвейер ускоряет работу. Проиходит это следующим образом:

Для примера возьмём конвейер с 3 функциональными блоками(чтение, выполнение, запись). Из этого следует, что выполнение какой-либо команды происходит в 3 этапа: чтение, выполнение, запись.

Допустим, что выполнение каждой команды проихсодит за 3 такта.
Мы имеем например последовательность команд Ком1,Ком2,Ком3

Код:

Такты    Чтение            Выполнение                        Запись.
1            Ком1
2                                  Ком1
3                                                                Ком1
4            Ком2
5                                  Ком2
6                                                                Ком2
7            Ком3
8                                  Ком3
9                                                                Ком3

Из этого следует, что на выполнение всех 3 последовательностей, процессору требуется 9 тактов.

Использование конвейера предполагает, что после освобождение блока
в него загружается следующая команда программы.


Код:

Такты    Чтение            Выполнение                        Запись.
1            Ком1
2            Ком2                    Ком1
3            Ком3                    Ком2                      Ком1
4                                    Ком3                      Ком2
5                                                                Ком3

На 3-ем такте, конвейер загружен на 100%, так как все три блока заняты. Если теперь посмотреть на первый вариант, то видно, что в каждый момент времени конвейер загружен только на треть.
Получается, что теперь на выполнение тех-же 3 последовательностей команд, процессору требуется только 5 тактов.Производительность почти удваивается.

Объяснил как мог.
Удачи!!! :)

kasha 16.05.2006 03:47

пасибо огромное! нашел кое что , кому интересно почитает !

КОНВЕЙЕР В ПРОЦЕССОРЕ
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 обратно в регистр, тогда как другие стадии работают над следующими командами.

(рисунки не нашел времени вставлять, если интересно , то пишите, выложу) :yees:


Часовой пояс GMT +4, время: 12:15.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.