Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Модернизации схемы фон Неймана




На самом деле фон-неймановская архитектура компьютера не является единственно возможной, пространство допустимых решений гораздо шире. Так, исходя из способов организации последовательности выполнения команд и обмена данными между процессором и памятью, все компьютеры можно разделить на четыре класса:

SISD (Single Instruction Single Data) — «один поток команд, один поток данных»;

SIMD (Single Instruction Multiple Data) — «один поток команд, много потоков данных»;

MISD (Multiple Instruction Single Data) — «много потоков команд, один поток данных»;

MIMD (Multiple Instruction Multiple Data) — «много потоков команд, много потоков данных»;

Класс SISD предполагает, что в один момент времени может быть выполнена одна команда, и она может оперировать только теми порциями данными, адреса которых непосредственным образом присутствуют в операндах этой команды. Напротив, в класс MIMD попадают машины, которые могут одновременно выполнять множество команд, используя при этом множество фрагментов данных. Эта классификация известна как «таксономия Флинна», она названа так по имени предложившего ее Майкла Флинна, выдающегося инженера и ученого, ныне являющегося профессором Стэндфордского университета. Из нее следует, что фон-неймановская машина является частным случаем, попадающим в класс SISD. Большинство современных компьютеров построено именно по этой схеме; между тем все суперкомпьютеры из первой десятки TOP500 построены по схеме MIMD.

Было бы некорректно объяснять рост производительности процессоров только наращиванием количественных показателей, вполне естественно, что на протяжении десятилетий было предложено несколько серьезных модернизаций, являющихся отступлениями от схемы фон Неймана, но ограниченными масштабом.

Исторически первым оказалось изобретение процессоров, способных выполнять операции не над содержимым одного или нескольких регистров, а над более крупными фрагментами данных; по классификации Флинна они попадают в класс SIMD. Их появление связывают с проектом Solomon (1962 год, компания Westinghouse).

Позднее аналогичный принцип работы с данными был реализован в самой производительной машине своего времени ILLIAC IV (1972). Если процессор, используя одну команду, может выполнять действия над векторами, то его называют векторным процессором (vector processor), а если над массивами, то процессором массивов (array processor). Впоследствии Сеймур Крей использовал векторные принципы при разработке своих суперкомпьютеров, начиная с Cray-1. Сегодня схема SIMD широко используется в специализированных процессорах, предназначенных для игровых консолей.

После введения нового класса векторных процессоров обычные процессоры стали вынужденно, чтобы различать, называть «скалярными»; именно поэтому на следующем шаге появились решения со странным названием «суперскалярные процессоры». Идея суперскалярности заключается в том, что процессор просматривает приближающиеся к исполнению команды и выбирает из них те последовательности, которые могут быть выполнены параллельно. Такие процессоры способны выполнять несколько инструкций за один такт, а такой вид параллелизма стали называть параллелизмом на уровне команд (Instruction-Level Parallelism, ILP). Очевидно, что при заданной частоте суперскалярный процессор будет производительнее скалярного, поскольку он способен выделить в подмножество и одновременно выполнить несколько команд, распределив их по своим функциональным устройствам. Родоначальником идеи ILP был тот же Крей; он реализовал ее в 1965 году в компьютере CDC 6600, затем ILP была воспроизведена в процессоры Intel i960 (1988 год) и AMD 29050 (1990), особенно «впору» суперскалярный подход пришелся для RISC-процессоров с их упрощенной системой команд. Позже, начиная с Pentium II, обрели ILP и процессоры с архитектурой CISC.

Примерно в то же время — сначала на мэйнфреймах, а позже и на мини-ЭВМ — появилась кэш-память; в дальнейшем идея кэширования получила развитие в многоуровневых решениях, предполагавших наличие кэшей первого и второго, а затем и третьего уровня.

Еще одним существенным изобретением, ускорившим работу процессоров, оказалось внеочередное исполнение (out-of-order execution, OoO), представляющее собой ограниченную реализацию идеи обработки потока данных (data flow computation). Хотя первые попытки в этом направлении были предприняты еще при проектировании компьютеров CDC, но реально первые внедрения были в IBM 360, а затем в процессорах Power1. Одно из важнейших достоинств внеочередного исполнения состоит в том, что данная технология позволяет согласовать более высокую скорость работы процессоров с менее быстродействующей памятью, сняв часть нагрузки с кэш-памяти.

Заметной вехой в ряду усовершенствований фон-неймановской архитектуры стоит распараллеливание потоков (Thread Level Parallelism, TLP). Данная технология существует в нескольких версиях; среди них — одновременная многопоточность (Simultaneous Multithreading, SMT) и многопоточность на уровне кристалла (Сhip-level Multithreading, CMT). Эти два подхода в основном различаются представлением о том, что есть «поток», иначе говоря, по уровню гранулярности потоков.

Хронологически первым процессором, поддерживающим многопоточность, был процессор DEC Alpha EV4 21064. Драматическая судьба этого процессорного семейства была и остается предметом серьезных обсуждений, и, хотя на версии EV7 производство прекратилось, а EV8 и EV9 остались на бумаге, есть основания полагать, что ядро EV7 может возродиться в одном из готовящихся к выпуску многоядерных процессоров. Типичным представителем лагеря SMT является Pentium 4 с его технологией HTT (Hyper-Threading Technology). Процессор поддерживает деление на два потока команд, выбираемых из одной задачи в режиме SMT, что обеспечивает суммарное повышение производительности примерно на 30%. В процессоре UltraSPARC T1, известном прежде под кодовым названием Niagara, потоки образуются из разных задач; никакой одновременности в данном случае нет, каждый поток представляет собой виртуальное ядро процессора.

 

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

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 437; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.