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