Архитектура фон Неймана, реконфигурируемые компьютерные системы и антимашина

Автор работы: Пользователь скрыл имя, 24 Ноября 2011 в 17:33, курсовая работа

Описание

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

Содержание

Введение……………………………………………………………….....5
Теория информации Клода Шеннона…………………………………..6
Аргументы сторонников искусственного интеллекта…………......…11
Многоядерность……...…………………………………………………15
Синдром фон Неймана и антимашина……………………………...…16
Реконфигурируемый компьютинг……………………………………..21
Заключение……………………………………………………………...26
Список использованной литературы…………………………………..28

Работа состоит из  1 файл

курсовая образец.doc

— 216.50 Кб (Скачать документ)

Многоядерность

Очевидно, что увеличение в десятки и  сотни раз числа все тех  же фон-неймановских ядер на одной подложке не является панацеей. В недавнем интервью не нуждающийся в представлении  Дональд Кнут сказал по поводу упрощенного подхода к увеличению числа ядер следующее: «Мне кажется, у проектировщиков процессоров иссякли идеи, и они хотят переложить ответственность за невозможность повышать производительность компьютеров в соответствии с законом Мура на тех, кто создает программы. Они предлагают процессоры, отлично работающие на отдельных тестах, но я не удивлюсь, что вся эта эпопея многоядерности закончится не меньшим провалом, чем Itanium, где все выглядело прекрасным, пока не выяснилось, что компиляторы с соответствующими ему возможностями предвидения невозможно написать.Сколько вы знаете программистов, относящихся с энтузиазмом к будущим многоядерным процессорам? У всех, кого я знаю, они лишь вызывают огорчение, хотя разработчики процессоров говорят, что я не прав. Я знаю приложения, адаптируемые к параллельному исполнению; это графический рендеринг, сканирование изображений, моделирование биологических и физических процессов, но все они требуют подходов, которые чрезвычайно специализированы. Моих знаний хватило, чтобы написать о них в ‘Искусстве программирования’, но я считаю время, затраченное на них, потерянным, в этой области все быстро меняется, и совсем скоро написанное мной никому не будет нужным. Мультиядерность в том виде, как ее представляют, сейчас не прибавляет мне счастья».                  Одноядерные процессоры бесперспективны, в этом убеждает пример Itanium. Но и многоядерные процессоры, если все сводится к размещению большего числа классических простых ядер на одной подложке, нельзя воспринимать как решение всех проблем. Их чрезвычайно сложно программировать, они могут быть эффективны только на приложениях, обладающих естественной многопотоковостью, таковых особенно много среди Web-приложений, но как быть со сложными задачами? Где же выход? Когда-то в моде была бионика, наука о применении в технических системах принципов организации, свойств, функций и структур живой природы. Пик бионических публикаций о промышленных аналогах форм живой природы пришелся на 60-е годы, потом о ней почти забыли. Многоядерность заставляет о ней вспомнить: из общих системных соображений понятно, что, если ядер будет много и количество их будет продолжать увеличиваться, то дальше все будет развиваться по сценарию биологической эволюции, когда вслед за одноклеточными организмами появились их многоклеточные преемники, а затем и еще более сложные создания. Однако остаются аргументы, высказываемые Кнутом. Какими должны стать эти ядра, чтобы не перекладывать ответственность на программистов? 

Синдром фон Неймана и антимашина

  Переход в новый мир с новыми истинами, в мир, каким его представляет Паттерсон, невозможен без понимания  фундаментальных причин кризиса  старого мира. Одной из наиболее интересных точек зрения на происхождение «стен» и других недостатков существующего компьютерного миропорядка обладает немецкий профессор Рейнер Хартенштайн. Он имеет огромный опыт преподавательской и научной работы в ведущих университетах Германии и в университете Беркли. С 1977 года возглавляющий лабораторию Xputer Lab, одну из немногих, где занимались тематикой, связанной с реконфигурируемым компьютингом (Reconfigurable Computing), Хартенштайн является создателем KARL, новаторского языка для проектирования аппаратного обеспечения. Профессор Хартенштайн— автор таких терминов, как «антимашина» (anti machine), «конфигурируемое аппаратное обеспечение» (сonfigware), «структурное проектирование аппаратного обеспечения» (structured hardware design) и ряда других. Реконфигурирование— это перепрограммирование аппаратуры; теоретически его можно применять к массивам, собранным из ядер с фон-неймановской архитектурой, но гораздо перспективнее— к ядрам, представляющим собой антимашины.               В последние годы Хартенштайна, как многих ветеранов, приглашают в качестве докладчика на многочисленные конференции и семинары. Основную тему, с которой он выступает, сегодня называют «синдромом фон Неймана». Авторство этого термина приписывают профессору из Беркли Чандуру Рамамути, однажды прослушавшему выступление Хартенштайна, а затем образно выразившему его взгляды. (Сам Рамамути в ряде своих работ показал, что чаще всего компьютеры с массовым параллелизмом, содержащие тысячи и десятки тысяч процессоров, оказываются менее продуктивными, чем ожидается при их проектировании. Основные причины этого эффекта, называемого самим Рамамути «суперкомпьютерным кризисом»,— наличие «стены памяти» и сложность программирования параллельных задач, что тоже является следствием фон-неймановской архитектуры.)       Целесообразно уточнить использование слова «синдром» в данном контексте. В русском языке его употребляют в медицинском смысле, как комплекс симптомов, но в данном случае его следует понимать шире, как цепь взаимосвязанных событий или сочетание явлений. В интерпретации Хартенштайна «синдром фон Неймана»— это цепочка событий, приведшая компьютерные технологии от изобретения архитектуры фон Неймана к нынешнему состоянию, хотя можно его понимать и в медицинском смысле, как застарелую болезнь. В качестве философской предпосылки для своих рассуждений Хартенштайн ссылается на Артура Шопенгауэра, писавшего: «Примерно каждые 30 лет наука, литература, искусство переживают период банкротства, коллапсируя под тяжестью накопленных ошибок». Хартенштайн считает, что в компьютерных технологиях и в компьютерных науках наступление кризиса было отложено лет на 30 благодаря опережающему развитию полупроводниковых технологий, зафиксированному в законе Мура. Главный вывод Хартенштайна состоит в том, что и энергетическая стена, и стена памяти, и стена параллелизма на уровне команд являются прямым следствием фон-неймановской архитектуры. Из-за технологических ограничений Джоном фон Нейманом была избрана схема, в основе которой лежит управляемый поток команд, программа, выбирающая необходимые для команд данные. Этим определяется канонический состав архитектурных компонентов, составляющих любой компьютер,— счетчик команд, код операции и адреса операндов; он остается неизменным по сей день. Все мыслимые и немыслимые усовершенствования архитектуры фон Неймана в конечном счете сводятся к повышению качества управления потоком команд, методам адресации данных и команд, кэшированию памяти и т.п. При этом последовательная архитектура не меняется, но сложность ее возрастает. Очевидно, что представление о компьютере как об устройстве, выполняющем заданную последовательность команд, лучше всего подходит для тех случаев, когда объем обрабатываемых данных невелик, а данные являются статическими. Но в современных условиях приходится сталкиваться с приложениями, где относительно небольшое количество команд обрабатывает потоки данных. В таком случае целесообразно предположить, что компьютером может быть и устройство, которое имеет каким-то образом зашитые в него алгоритмы и способно обрабатывать потоки данных. Такие компьютеры могли бы обладать естественным параллелизмом, а их программирование свелось бы к распределению функций между большим числом ядер.       Итак, можно допустить существование двух альтернативных схем. Одна, фон-неймановская, предполагает, что вычислительным процессом управляет поток команд, а данные, в основном статичные, выбираются из каких-то систем хранения или из памяти. Вторая схема основывается на том, что процессом вычислений управляют входные потоки данных, которые на входе системы попадают в подготовленную вычислительную инфраструктуру, обладающую естественным параллелизмом. С точки зрения реализации первая схема гораздо проще, кроме того, она универсальна, программы компилируются и записываются в память, а вторая требует специальной сборки нужной для определенной задачи аппаратной конфигурации. Скорее всего, эти две схемы должны сосуществовать, отражая две стороны компьютинга, своего рода ян и инь. Как ни странно, но вторая схема старше; пример тому— табуляторы, изобретенные Германом Холлеритом и с успехом использовавшиеся на протяжении нескольких десятилетий. Корпорация IBM достигла своего могущества и стала одной из самых влиятельных компаний в США, производя электромеханические табуляторы для обработки больших массивов информации, не требующей выполнения логических операций. Их программирование осуществлялось посредством коммутации на пульте, а далее устройство управления в соответствии с заданной программой координировало работу остальных устройств.                Антипод машины фон Неймана почти по всем своим свойствам (антисимметричен ей, поэтому Хартенштайн и назвал его антимашиной. От машины фон Неймана антимашина отличается наличием одного или нескольких счетчиков данных, управляющих потоками данных, она программируется с использованием потокового обеспечения (Flowware), а роль центрального процессора в ней играют один или несколько процессоров данных (Data Path Unit, DPU). Центральной частью антимашины может стать память с автоматической последовательностью (Auto-Sequence Memory).

Рисунок 3 – сравнение  машины Фон-Неймана с антимашиной.

  Антисимметрия между машиной и антимашиной  наблюдается во всем, за исключением  того, что антимашина допускает параллелизм внутренних циклов, а это значит, что в ней решается проблема параллельной обработки данных.  В антимашине доступ к памяти обеспечивается не по адресу команды или фрагмента данных, записанному в соответствующий регистр, а посредством универсального генератора адресов (Generic Address Generator, GAG). Его преимущество в том, что он позволяет передавать блоки и потоки данных. В то же время компиляция, посредством которой создается специализированная под определенную задачу система, заключается в объединении нужного количества настроенных процессоров данных в общий массив (Data Process Array, DPA), на котором выполняются алгоритмы Flowware и который может быть реконфигурируемым.                Методология GAG непоследовательна, а потому обладает такими достоинствами, как возможность работы с двухмерными адресами, что дает неоспоримые преимущества при работе с видеоданными и при выполнении параллельных вычислений. Счетчик данных (data counter)— альтернатива счетчику команд в машине фон Неймана; его содержимым управляет Flowware. Для новой методологии придумано и новое название— twin.paradigm; оно отражает симбиоз вычислительных ядер двух классов, как обычных центральных процессоров, построенных по фон-неймановской схеме, так и процессоров данных, реализующих антимашины. 

Реконфигурируемый компьютинг

  Главные отличия антимашины от машины фон  Неймана в том, что антимашина по природе своей параллельна  и к тому же нестатична— ее нужно  саму программировать, а не просто загружать  различные программы в универсальную машину. К счастью, существуют наработки, которые хотя бы могут дать представление о том, как и из чего можно собрать антимашину. Реализовать ее можно средствами реконфигурируемого компьютинга (впрочем, следует заметить, что антимашина и реконфигурируемый компьютинг — это не одно и то же).                       О реконфигурируемом компьютинге активно заговорили в последние годы, но сама идея адаптации аппаратного обеспечения под конкретную задачу далеко не нова. Ее выдвинул в 1959 году физик и математик Джон Паста, который был, что удивительно, коллегой Джона фон Неймана и вместе с Энрико Ферми работал над созданием атомной бомбы. Помимо других своих достижений он известен тем, что был первым, кто использовал компьютер в качестве инструмента для моделирования физических процессов. Полученный им опыт позволил прийти к выводу о том, что производители коммерческих компьютеров с самых первых шагов потеряли интерес к разработке альтернативных компьютерных архитектур, целиком сосредоточившись на архитектуре фон Неймана. И тогда Паста решил, что сначала необходимо выполнить определенный объем академических исследований и тем самым создать стимул для продолжения аналогичных работ в частном секторе. Своими соображениями относительно адаптируемых компьютерных архитектур он поделился с сотрудником Калифорнийского университета в Лос-Анджелесе Джеральдом Эстрином, который к тому времени обладал неплохим послужным списком, успев построить первый израильский компьютер WEIZAC (Weizmann Automatic Computer). Через год, в 1960 году, Эстрин выступил на известной в те годы конференции Western Joint Computer Conference с докладом «Организация вычислительной системы, состоящей из постоянной и переменной структур». Цель работы Эстрина состояла в разработке вычислительных систем, отличающихся от традиционных тем, что они представляли собой набор модулей для сборки специализированных компьютеров под определенную задачу. Впоследствии была предпринята попытка создать модульный комплект, из которого можно было бы собирать реконфигурируемые компьютеры, но на технологическом фундаменте начала 60-х она оказалась неудачной, однако тем не менее теоретические основы были сформулированы.                 Технологический мэйнстрим отодвинул работу Эстрина на обочину, но периодически о ней вспоминали. Так, в экспериментальном компьютере PDP-16, предназначенном для управления технологическими процессами, который построили в корпорации Digital Equipment в 70-е годы, была реализована модульная схема Register-Transfer Modules. PDP-16 представлял собой своего рода конструктор, из которого можно было собирать компьютер, адаптированный к конкретным алгоритмам управления.     Теоретически возможно существование трех подходов к созданию реконфигурируемых процессоров.

  • Специализированные процессоры (Application-Specific Standard Processor). Процессоры, имеющие набор команд, адаптированный к определенным приложениям.
  • Конфигурируемые процессоры (Configurable Processor). Своего рода «заготовки» для создания специализированных процессоров, содержат в себе необходимый набор компонентов, адаптируемый к требованиям приложений. В таком случае проектирование специализированного процессора оказывается проще, чем с чистого листа.
  • Динамические реконфигурируемые процессоры (Dynamically Reconfigurable Processor). Процессоры, содержащие стандартное ядро и расширяющее его возможности устройство, которое может быть запрограммировано в процессе исполнения, обычно это бывает программируемая логическая матрица (Field Programmable Gate-Array, FPGA).

  Первые  две категории приобретают свою специфику в процессе изготовления, а третья может программироваться; мы подробнее остановимся именно на ней. 

Реконфигурируемые сигнальные процессоры

  Лет 15-20 назад было предпринято несколько  попыток создания гибридного процессора, состоящего из переменной и постоянной частей. Тогда и вспомнили про Эстрина; ему даже была посвящена специальная публикация в журнале The Economist «Реконфигурируемые системы готовятся к реанимации». Возможность для реконфигурации создали появившиеся к тому времени программируемые логические матрицы компании Xilinx, а непосредственный интерес был вызван появлением архитектуры PRISM (Processor Reconfiguration through Instruction-Set Metamorphosis), где для ускорения отдельных приложений возможности ядра могли быть расширены дополнительными операциями. Одним из наиболее известных процессоров с возможностями реконфигурации был Garp, разработанный в Беркли, который сочетал в себе ядро MIPS и инфраструктуру на основе FPGA.       Из этой волны выросло поколение реконфигурируемых сигнальных процессоров. Самым интересным из современных проектов является разрабатываемый в Италии процессор XiRiх (Extended Instruction Set Risc). Тем, кто серьезно заинтересуется программированием таких процессоров, стоит обратиться к выложенной в Сети диссертации Каудио Муччи).    Горячие головы увлеклись идеей реконфигурации. В 1995 году аналитик из Gartner Йордан Селбурн предположил, что за десять последующих лет рынок реконфигурируемых чипов составит 50 млрд долл., но этот прогноз не оправдался?— скорее всего, потому, что и тогда уровень развития полупроводниковых технологий оказался недостаточным. Но уроки извлекать следует и из неудачных прогнозов, в частности из того, чему могут научить встраиваемые процессоры.

  Как правило, сигнальные процессоры строятся по гарвардской архитектуре, с разделением памяти команд и данных, поэтому их реконфигурирование проще и естественнее. Эти процессоры всегда составляли отдельное подмножество, в силу своей специфики не пересекающееся с основным множеством вычислительных процессоров. Но стоит задуматься над тем, почему такое разделение сложилось и сохранится ли оно навсегда. Разработчики сигнальных процессоров были поставлены в условия, когда им нужно соответствовать требованиям окружающего мира, и они предложили свое «микрорешение». «Всепроникающие» (pervasive) компьютерные системы распространяют аналогичные требования на более широкий спектр приложений. Складывается впечатление, что какие-то подходы, в том числе и реконфигурация, которые зародились при разработке встраиваемых процессоров, будут распространены на макроуровень.         За всеобщим увлечением высокопроизводительными кластерами остается не слишком заметной деятельность компаний Cray, SGI и SRC, которые активно используют ускорители вычислений на базе FPGA. Такими устройствами снабжены машины Cray XD1 и сервер SGI Reconfigurable Application-Specific Computing (RASC). По мнению аналитиков, эти решения представляют собой примеры, свидетельствующие о возможности применения FPGA за пределами традиционных встраиваемых приложений.          Компания SRC, созданная Сеймуром Креем незадолго до его гибели, связывает всю свою производственную программу с реконфигурируемыми компьютерными системами. Она разрабатывает архитектуру Implicit+Explicit, состоящую из традиционных компонентов Dense Logic Device и реконфигурируемых устройств Direct Execution Logic. Программная среда SRC Carte Programming Environment поддерживает программирование на Си и Фортране, не требуя от программиста знаний, связанных с программированием аппаратного обеспечения. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ЗАКЛЮЧЕНИЕ 
 
 

    Джон  фон Нейман внес огромный вклад в  развитие первых ЭВМ и разработку методов их применения. Разработанные  фон Нейманом основы архитектуры  вычислительных устройств оказались  настолько фундаментальными, что получили в литературе название «фон-неймановской архитектуры». Принципы этой архитектуры широко используются и сегодня. Подавляющее большинство вычислительных машин на сегодняшний день – фон-неймановские машины. Исключение составляют лишь отдельные разновидности систем для параллельных вычислений, в которых отсутствует счетчик команд, не реализована классическая концепция переменной и имеются другие существенные принципиальные отличия от классической модели (примерами могут служить потоковая и редукционная вычислительные машины).                     Устройство управления и арифметико-логическое устройство в современных компьютерах объединены в один блок – процессор, являющийся преобразователем информации, поступающей из памяти и внешних устройств (сюда относятся выборка команд из памяти, кодирование и декодирование, выполнение различных, в том числе и арифметических, операций, согласование работы узлов компьютера).

Информация о работе Архитектура фон Неймана, реконфигурируемые компьютерные системы и антимашина