История и методология информатики и вычислительной техники. Парфенов П.С. - 85 стр.

UptoLike

Составители: 

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