Составители:
87
программ в общей памяти с данными, была разработана в 1940-е гг. в
Пенсильванском и Принстонском университетах. По имени одного из
руководителей работы она также называется «фон Неймановской».
Совместное размещение инструкций и данных повысило гибкость
вычислительных систем в плане обработки данных. Кроме того, такая
архитектура была проще в реализации, поэтому она нашла повсеместное
применение.
В 1970-е гг. вновь обратились к гарвардской архитектуре, она стала
применяться в микроконтроллерах. Затем, вследствие возникновения т.н.
«бутылочного горлышка фон Неймана», её элементы стали появляться и
в микропроцессорах – например, в виде раздельной кэш-памяти для
команд и данных или в виде запрета на исполнение данных как
инструкций.
Конвейер для инструкций (pipelining) был впервые применен в
компьютерах ILLIAC II (1962 г.) и IBM 7030 Stretch (1961 г.), позже
С. Крей в суперкомпьютерах XMP применил его для операции
многократного умножения и сложения (1982 г.).
Конвейерная архитектура позволяет повысить быстродействие за
счет начала обработки команды до окончания обработки предыдущей.
Обычно для выполнения каждой команды требуется осуществить
некоторое количество однотипных операций, например: выборка кода
операции из памяти, дешифрация команды, адресация операнда и его
выборка из памяти, выполнение команды, запись результата в память.
Каждой из этих операций сопоставляют одну ступень конвейера. После
освобождения от выполнения элементарной операции одной команды
ступень конвейера сразу приступают к работе над следующей командой.
Так процессор обрабатывает одновременно несколько команд,
находящихся на разных стадиях выполнения. Быстродействие, в самом
оптимистичном случае, пропорционально длине конвейера.
Ряд факторов снижает эффективность конвейерной архитектуры –
это простой конвейера, когда некоторые ступени не используются,
ожидание, если следующая команда использует результат предыдущей, и
очистка конвейера при выполнении перехода. Для повышения
эффективности конвейера команды делают максимально схожего
формата, применяют внеочередное выполнение команд и предсказание
переходов. Последний способ особенно развит в современных
процессорах, некоторые из которых имеют более 30 ступеней.
Суперскалярность – это способность параллельного выполнения
нескольких машинных инструкций, которая обеспечивается работой
нескольких декодирующих блоков, нагружающих множество
исполнительных блоков.
Первым суперскалярным компьютером считается CDC 6600,
разработанный С. Креем в 1964 г., а первыми суперскалярными
Страницы
- « первая
- ‹ предыдущая
- …
- 83
- 84
- 85
- 86
- 87
- …
- следующая ›
- последняя »