Jump to content

ИЛЛИАК IV

(Перенаправлено из Илиака IV )
Блок управления параллельным компьютером ILLIAC IV (БУ)

ILLIAC IV был первым компьютером с массовым параллелизмом . [1] Первоначально система была спроектирована так, чтобы иметь 256 64-битных блоков с плавающей запятой (FPU) и четыре центральных процессора (ЦП), способных обрабатывать 1 миллиард операций в секунду. [2] Из-за бюджетных ограничений был построен только один «квадрант» с 64 FPU и одним CPU. Поскольку все FPU обрабатывали одну и ту же инструкцию – ADD, SUB и т. д. – в современной терминологии под проектом понимают одну инструкцию, несколько данных или SIMD. [3]

Идея создания компьютера с использованием массива процессоров пришла к Дэниелу Слотнику , когда он работал программистом на машине IAS в 1952 году. Официальное проектирование началось только в 1960 году, когда Слотник работал в Westinghouse Electric и организовал финансирование разработки в рамках программы США. Контракт ВВС . Когда в 1964 году это финансирование закончилось, Слотник перешел в Университет Иллинойса в Урбане-Шампейне и присоединился к команде автоматического компьютера штата Иллинойс (ILLIAC). При финансовой поддержке Агентства перспективных исследовательских проектов (ARPA) они начали разработку новой концепции с 256 64-битными процессорами вместо исходной концепции с 1024 1-битными процессорами.

собирал машину Пока Берроуз , университет начал строительство нового помещения для ее размещения. Политическая напряженность по поводу финансирования со стороны Министерства обороны США привела к тому, что ARPA и университет начали опасаться за безопасность машины. Когда в 1972 году был завершен первый 64-процессорный квадрант машины, его отправили в Исследовательский центр Эймса НАСА в Калифорнии. После трех лет тщательной модификации с целью исправления различных недостатков ILLIAC IV был подключен к ARPANET для распределенного использования в ноябре 1975 года, став первым суперкомпьютером , доступным в сети , опередив Cray-1 почти на 12 месяцев.

Одноквадрантный двигатель ILLIAC IV, работающий на половине проектной скорости, выдавал пиковую производительность 50 MFLOP. [4] что делало его самым быстрым компьютером в мире на тот момент. Ему также приписывают то, что он был первым большим компьютером, использующим твердотельную память , а также самым сложным компьютером, созданным на тот момент, с более чем 1 миллионом вентилей. [5] Обычно считается провалом из-за огромного перерасхода бюджета. [5] [6] этот дизайн сыграл важную роль в разработке новых методов и систем программирования параллельных систем. В 1980-х годах было успешно поставлено несколько машин на базе концепций ILLIAC IV.

Происхождение

[ редактировать ]

В июне 1952 года Дэниел Слотник начал работу над машиной IAS в Институте перспективных исследований (IAS) Принстонского университета . [7] Машина IAS имела побитово-параллельный математический блок, который оперировал 40-битными словами . [8] Первоначально оснащенный ламповой памятью Уильямса , позже был добавлен магнитный барабан от Engineering Research Associates . Этот барабан имел 80 дорожек, поэтому одновременно можно было прочитать два слова, и каждая дорожка хранила 1024 бита. [9]

Размышляя о механизме барабана, Слотник начал задаваться вопросом, правильный ли это способ построить компьютер. Если бы биты слова записывались последовательно на одну дорожку, а не параллельно на 40 дорожек, тогда данные можно было бы побитно подавать в компьютер с побитовой последовательностью непосредственно с барабана. Барабан по-прежнему будет иметь несколько дорожек и головок, но вместо того, чтобы собирать слово и отправлять его в одно ALU, в этой концепции данные на каждой дорожке будут считываться понемногу и отправляться в параллельные ALU. Это будет компьютер с параллельным и последовательным побитовым кодированием. [7]

Слотник выдвинул эту идею в IAS, но Джон фон Нейман отверг ее, поскольку она требует «слишком большого количества трубок». [7] Слотник покинул IAS в феврале 1954 года, чтобы вернуться в школу и защитить докторскую диссертацию , и об этом забыли. [7]

После защиты докторской степени и некоторой постдокторской работы Слотник оказался в IBM . К этому времени, по крайней мере для научных вычислений, лампы и барабаны были заменены транзисторами и памятью на магнитных сердечниках . Идея параллельных процессоров, работающих с разными потоками данных с барабана, больше не имела такой очевидной привлекательности. Тем не менее, дальнейшее рассмотрение показало, что параллельные машины все же могут обеспечивать значительную производительность в некоторых приложениях; Слотник и его коллега Джон Кок (более известный как изобретатель RISC ) написали статью об этой концепции в 1958 году. [10]

Проработав некоторое время в IBM, а затем еще раз в Aeronca Aircraft , Слотник оказался в подразделении Air Arm компании Westinghouse , которое работало над радарами и аналогичными системами. [11] По контракту с ВВС США Слотник RADC смог создать команду для разработки системы с 1024 последовательными битовыми ALU, известными как «процессорные элементы» или PE. Этому проекту было присвоено имя СОЛОМОН, в честь царя Соломона , который был очень мудрым и имел 1000 жен. [12]

PE будут получать инструкции от одного главного центрального процессора (ЦП), «блока управления» или CU. CU SOLOMON считывал инструкции из памяти, декодировал их, а затем передавал на обработку PE. Каждый PE имел собственную память для хранения операндов и результатов — модуль памяти PE, или PEM. CU мог получить доступ ко всей памяти через выделенную шину памяти , тогда как PE могли получить доступ только к своему собственному PEM. [13] Чтобы результаты одного PE можно было использовать в качестве входных данных для другого, отдельная сеть соединила каждый PE с восемью ближайшими соседями. [14]

Было построено несколько систем испытательного стенда, в том числе система 3 на 3 (9 PE) и модель 10 на 10 с упрощенными PE. В этот период некоторое внимание было уделено более сложным конструкциям PE, которые превратились в 24-битную параллельную систему, организованную по схеме 256х32. Единственный PE, использующий эту конструкцию, был построен в 1963 году. Поскольку проектные работы продолжались, основной спонсор в Министерстве обороны США погиб в результате несчастного случая, и дальнейшего финансирования не последовало. [15]

В поисках продолжения разработки Слотник обратился к Ливермору, который в то время был в авангарде закупок суперкомпьютеров. Они были очень заинтересованы в этом проекте, но убедили его обновить математические единицы текущей конструкции с фиксированной запятой до настоящей плавающей запятой , что привело к созданию SOLOMON.2. [16]

Ливермор не стал финансировать разработку, вместо этого они предложили контракт, по которому они сдадут машину в аренду после ее завершения. Руководство Westinghouse посчитало это слишком рискованным и закрыло команду. Слотник покинул Westinghouse, пытаясь найти венчурный капитал для продолжения проекта, но потерпел неудачу. Позже Ливермор выбрал на эту роль CDC STAR-100 , поскольку CDC была готова взять на себя расходы на разработку. [17]

ИЛЛИАК IV

[ редактировать ]

Когда проект SOLOMON прекратил свое существование, Слотник присоединился к команде разработчиков автоматических компьютеров штата Иллинойс (ILLIAC) в Университете штата Иллинойс в Урбана-Шампейн. Иллинойс проектировал и производил большие компьютеры для Министерства обороны США и Агентства перспективных исследовательских проектов (ARPA) с 1949 года. В 1964 году университет подписал контракт с ARPA на финансирование работ, которые стали известны как ILLIAC IV, поскольку четвертый компьютер, спроектированный и созданный в университете. Разработка началась в 1965 году, а первый проект был завершен в 1966 году. [18]

В отличие от последовательной побитовой концепции SOLOMON, в ILLIAC IV процессоры PE были модернизированы до полноценных 64-битных (параллельных битов) процессоров, использующих 12 000 вентилей и 2048 слов тонкопленочной памяти . [19] PE имели пять 64-битных регистров, каждый из которых имел специальное назначение. Один из них, RGR, использовался для передачи данных соседним PE, перемещаясь на один «скачок» за такт. Другой регистр, RGD, указывал, активен ли в данный момент PE. «Неактивные» PE не могли получить доступ к памяти, но передавали результаты соседним PE, используя RGR. [14] PE были разработаны для работы как один 64-битный FPU, два 32-битных FPU половинной точности или восемь 8-битных процессоров с фиксированной запятой. [19]

Вместо 1024 PE и одного CU в новой конструкции было в общей сложности 256 PE, распределенных в четыре «квадранта» по 64 PE, каждый со своим собственным CU. CU также были 64-битными, с шестьюдесятью четырьмя 64-битными регистрами и еще четырьмя 64-битными аккумуляторами. Система может работать как четыре отдельных машины с 64 PE, две машины с 128 PE или одна машина с 256 PE. Это позволило системе решать различные проблемы, когда данных было слишком мало, чтобы требовать весь массив 256-PE. [19]

Основанная на тактовой частоте 25 МГц и всех 256-PE, работающих в одной программе, машина была разработана для выполнения 1 миллиарда операций с плавающей запятой в секунду или, в современной терминологии, 1 гигафлопс . [20] Это сделало его намного быстрее, чем любая машина в мире; современный CDC 7600 имел тактовый цикл 27,5 наносекунд или 36 MIPS, [21] хотя по ряду причин он обычно обеспечивал производительность около 10 MIPS. [22] [а]

Для поддержки машины была построена пристройка к зданиям Лаборатории цифровых компьютеров. [23] [24] Выборочная работа в университете была в первую очередь направлена ​​на поиск способов эффективного наполнения ФП данными, тем самым проводя первый «стресс-тест» в компьютерной разработке. Чтобы максимально упростить это, несколько новых компьютерных языков было создано ; IVTRAN и TRANQUIL были распараллеленными версиями FORTRAN , а Glypnir был аналогичным преобразованием ALGOL . Как правило, эти языки обеспечивали поддержку загрузки массивов данных «через» PE для параллельного выполнения, а некоторые даже поддерживали развертывание циклов в операции с массивами. [25]

Строительство, проблемы

[ редактировать ]

В начале 1966 года университет разослал запрос предложений на поиск промышленных партнеров, заинтересованных в создании проекта. В июле было получено семнадцать ответов, ответили семь, из них были выбраны три. [26] В некоторых ответах, включая Control Data , вместо этого пытались заинтересовать их проектом векторного процессора , но, поскольку они уже разрабатывались, команда не была заинтересована в создании другого. В августе 1966 года [б] были предложены восьмимесячные контракты Компаниям RCA , Burroughs и Univac на участие в торгах на постройку машины. [19]

Берроуз в конечном итоге выиграл контракт, объединившись с Texas Instruments (TI). Оба предложили новые технические достижения, которые сделали их предложение наиболее интересным. Берроуз предлагал создать новую, гораздо более быструю версию тонкопленочной памяти , которая улучшила бы производительность. Компания TI предлагала создать 64-контактные с эмиттерной связью (ECL) интегральные схемы и 20 логическими вентилями в каждой. [с] В то время большинство микросхем использовали 16-контактные корпуса и имели от 4 до 7 вентилей. Использование микросхем TI сделало бы систему намного меньше. [19]

Компания Burroughs также поставляла специализированные дисковые накопители , которые имели отдельную стационарную головку для каждой дорожки и могли обеспечивать скорость до 500 Мбит/с и хранить около 80 МБ на 36-дюймовом диске. Они также предоставили мэйнфрейм Burroughs B6500 в качестве переднего устройства. Конечный контроллер, загружающий данные из вторичного хранилища и выполняющий другие служебные задачи. К B6500 был подключен лазерный оптический носитель записи стороннего производителя, система однократной записи, которая сохраняла до 1 Тбит на тонкой металлической пленке, нанесенной на полоску полиэфирного листа. осуществляется с помощью вращающегося барабана. Создание новой конструкции началось в лаборатории Берроуза в Грейт-Вэлли. [13] В то время предполагалось, что машина будет доставлена ​​в начале 1970 года. [27]

После года работы над микросхемами компания TI объявила, что им не удалось создать 64-контактные конструкции. Более сложная внутренняя проводка вызывала перекрестные помехи в схемах, и они попросили еще год на устранение проблем. Вместо этого команда ILLIAC решила перепроектировать машину на основе доступных 16-контактных микросхем. Это потребовало, чтобы система работала медленнее, используя тактовую частоту 16 МГц вместо исходных 25 МГц. [28] Переход с 64-контактного на 16-контактный обошелся проекту примерно в два года и в миллионы долларов. Компания TI смогла заставить работать 64-контактную конструкцию спустя чуть больше года и начала предлагать их на рынке до того, как ILLIAC был завершен. [28]

В результате этого изменения отдельные платы ПК выросли с площади примерно 1 дюйм (2,5 см) до примерно 6 на 10 дюймов (15 см × 25 см). Это обречено на провал усилия Берроуза по созданию тонкопленочной памяти для машины, потому что теперь для памяти больше не было достаточно места, чтобы поместиться в корпусах конструкции. Попытки увеличить размеры шкафов, чтобы освободить место для памяти, вызвали серьезные проблемы с распространением сигнала. [29] Слотник изучил потенциальные замены и выбрал полупроводниковую память от Fairchild Semiconductor . Берроуз настолько воспротивился этому решению, что последовала полная проверка со стороны ARPA. [19]

В 1969 году эти проблемы в сочетании с перерасходом средств из-за задержек привели к решению построить только один квадрант с 64 PE, [19] тем самым ограничивая скорость машины примерно до 200 MFLOPS. [30] В совокупности эти изменения обошлись проекту в три года и 6 миллионов долларов. [19] К 1969 году на проект тратилось 1 миллион долларов в месяц, и его пришлось выделить из первоначальной команды ILLIAC, которая все активнее выступала против проекта. [31]

Переехать в Эймс

[ редактировать ]

К 1970 году машина, наконец, строилась разумными темпами и была готова к поставке примерно через год. 6 января 1970 года студенческая газета Daily Illini заявила, что компьютер будет использоваться для разработки ядерного оружия. [32] В мае в штате Кент произошли перестрелки , и антивоенное насилие вспыхнуло в университетских кампусах. [31]

Слотник стал выступать против использования машины в секретных исследованиях и объявил, что пока она находится на территории университета, все обработки, происходящие на машине, будут публично публиковаться. Он также все больше беспокоился о том, что машина может стать объектом атак со стороны более радикальных студенческих групп. [31] позиция, которая показалась мудрой после того, как местные студенты присоединились к общенациональной студенческой забастовке 9 мая 1970 года , объявив «День иллюзии», [33] и особенно взрыв 24 августа математического корпуса Университета Висконсин-Мэдисон . [34]

С помощью Ганса Марка , директора Исследовательского центра Эймса НАСА в месте, которое впоследствии стало Кремниевой долиной , в январе 1971 года было принято решение доставить машину Эймсу, а не университету. Расположенный на действующей базе ВМС США и охраняемый морской пехотой США , безопасность больше не будет вызывать беспокойства. В конце концов машина была доставлена ​​в Эймс в апреле 1972 года и установлена ​​в Центральном вычислительном комплексе в здании N-233. [35] К этому моменту он опоздал на несколько лет и значительно превысил бюджет при общей цене в 31 миллион долларов, что почти в четыре раза превышает первоначальную оценку в 8 миллионов долларов за всю машину 256-PE. [31] [2] [д] [и]

НАСА также решило заменить интерфейсную машину B6500 на PDP-10 , которая широко использовалась в Эймсе и значительно облегчила подключение к ARPAnet. [36] Это потребовало разработки нового программного обеспечения, особенно компиляторов, для PDP-10. Это привело к дальнейшим задержкам с вводом машины в эксплуатацию. [31]

Контракт на управление Illiac IV был заключен с ACTS Computing Corporation со штаб-квартирой в Саутфилде, штат Мичиган, компанией, занимающейся разделением времени и удаленным вводом заданий (RJE), которая недавно была приобретена конгломератом Lear Siegler Corporation . Министерство обороны заключило контракт с ACTS по контракту «затраты плюс 10%». Эта необычная договоренность была связана с тем, что ни один государственный служащий не мог получать больше, чем член Конгресса, а многие сотрудники Illiac IV зарабатывали больше этого лимита. Доктор Мел Пиртл, получивший образование в Калифорнийском университете в Беркли и в Berkeley Computer Corporation (BCC), был назначен директором Illiac IV.

Заставить это работать

[ редактировать ]
Процессор ILLIAC IV на выставке в Музее истории компьютеров

Когда машина впервые прибыла, ее не удалось заставить работать. Он страдал от всевозможных проблем, от растрескивания печатных плат до плохих резисторов и очень чувствительной к влажности упаковки микросхем TI. Эти проблемы постепенно решались, и к лету 1973 года в системе удалось запустить первые программы, хотя результаты были весьма сомнительными. Начиная с июня 1975 года начались согласованные четырехмесячные усилия, которые, среди прочего, потребовали замены 110 000 резисторов, перемонтажа деталей для устранения проблем с задержкой распространения, улучшения фильтрации в источниках питания и дальнейшего снижения тактовой частоты до 13 МГц. В конце этого процесса система, наконец, заработала должным образом. [31] [2]

С тех пор система работала с утра понедельника до вечера пятницы, обеспечивая пользователям 60 часов бесперебойной работы, но требуя 44 часа планового простоя. [2] Тем не менее, его все чаще использовали по мере того, как программисты НАСА изучали способы повышения производительности сложной системы. Поначалу производительность была удручающей: большинство программ работали со скоростью около 15 MFLOPS, что примерно в три раза превышает средний показатель CDC 7600 . [37] Со временем ситуация улучшилась, особенно после того, как программисты Эймса написали свою собственную версию FORTRAN , CFD, и научились распараллеливать ввод-вывод в ограниченных PEM. В задачах, которые можно было распараллелить, машина по-прежнему оставалась самой быстрой в мире, превосходя CDC 7600 в два-шесть раз, и до 1981 года ее обычно считали самой быстрой машиной в мире. [31]

7 сентября 1981 года, после почти 10 лет эксплуатации, ILLIAC IV был выключен. [38] Машина была официально выведена из эксплуатации в 1982 году, вместе с ней прекратилось существование подразделения передовых вычислений НАСА. Один блок управления и одно шасси процессорного элемента теперь выставлены в Музее истории компьютеров в Маунтин-Вью, менее чем в миле от места его эксплуатации. [39]

Последствия

[ редактировать ]

ILLIAC был очень запоздалым, очень дорогим и так и не достиг своей цели по производству 1 GFLOP. Даже те, кто над ним работал, считали его провальным; один просто заявил, что «любой беспристрастный наблюдатель должен рассматривать «Иллиак IV» как неудачу в техническом смысле». [40] С точки зрения управления проектом он широко рассматривается как провал, поскольку смета расходов превышает его в четыре раза, и требуются годы усилий по исправлению ситуации, чтобы заставить его работать. Как позже выразился сам Слотник:

Я горько разочарован и очень рад... обрадован и огорчен. Рад, что общие цели в итоге были достигнуты. Разочарован тем, что это стоит слишком дорого, занимает слишком много времени, не дает достаточных результатов и мало людей его используют. [41]

Однако более поздний анализ отмечает, что проект оказал несколько долгосрочных последствий на компьютерный рынок в целом, как преднамеренно, так и непреднамеренно. [42]

Среди косвенных эффектов было быстрое обновление полупроводниковой памяти после проекта ILLIAC. Слотник подвергся большой критике, когда выбрал Fairchild Semiconductor для производства микросхем памяти, поскольку в то время производственная линия представляла собой пустое помещение, а проект существовал только на бумаге. [43] производства рабочего проекта Однако после трех месяцев интенсивных усилий Fairchild добилась массового . Как позже прокомментировал Слотник: «Fairchild проделала великолепную работу по вытаскиванию наших каштанов из огня. Воспоминания Fairchild были превосходны, и их надежность по сей день просто невероятно хороша». [29] Считается, что ILLIAC нанес смертельный удар памяти на магнитных сердечниках и связанным с ней системам, таким как тонкопленочная. [29]

Другой косвенный эффект был вызван сложностью печатных плат (PCB) или модулей. При исходной расчетной частоте 25 МГц импеданс заземляющей проводки оказался серьезной проблемой, требующей, чтобы печатные платы были как можно меньшего размера. По мере роста сложности печатных плат приходилось добавлять все больше и больше слоев, чтобы избежать увеличения размеров. В конце концов они достигли глубины 15 слоев, что оказалось далеко за пределами возможностей чертежников. В конечном итоге проект был завершен с использованием новых инструментов автоматизированного проектирования, предоставленных субподрядчиком, а для полного проектирования потребовалось два года компьютерного времени на мэйнфрейме Burroughs. Это был большой шаг вперед в области автоматизированного проектирования , и к середине 1970-х годов такие инструменты стали обычным явлением. [44]

ILLIAC также привел к масштабным исследованиям по теме параллельной обработки, которые имели широкий спектр последствий. В 1980-х годах, когда цены на микропроцессоры падали в соответствии с законом Мура, ряд компаний создали MIMD (множественные инструкции, множественные данные) для создания еще большего количества параллельных машин с компиляторами, которые могли бы лучше использовать параллелизм. Мыслящая машина CM-5 — отличный пример концепции MIMD. Лучшее понимание параллелизма в ILLIAC привело к созданию улучшенных компиляторов и программ, которые могли использовать преимущества этих разработок. Как выразился один программист ILLIAC: «Если кто-нибудь построит быстрый компьютер из множества микропроцессоров, Illiac IV внесет свою лепту в общую схему вещей». [45]

Большинство суперкомпьютеров той эпохи использовали другой подход к повышению производительности, используя один высокоскоростной векторный процессор . В некотором смысле похожие на ILLIAC, эти конструкции процессоров загружали множество элементов данных в один специальный процессор вместо большого количества специализированных. Классическим примером такой конструкции является Cray-1 , характеристики которого аналогичны ILLIAC. В результате проект ILLIAC вызвал немалую «отрицательную реакцию», и в течение некоторого времени рынок суперкомпьютеров с пренебрежением смотрел на проекты с массовым параллелизмом, даже когда они были успешными. Как Сеймур Крей : «Если бы вы пахали поле, что бы вы предпочли использовать? Двух сильных волов или 1024 курицы?» пошутил [46]

Описание

[ редактировать ]

Физическое расположение

[ редактировать ]

Каждый сектор машины имел высоту 10 футов (3 м), глубину 8 футов (2,4 м) и длину 50 футов (15 м). [47] Рядом с квадрантом располагалась система ввода-вывода (I/O), чья дисковая система хранила 2,5 ГиБ и могла читать и записывать данные со скоростью 1 миллиард бит в секунду , а также компьютер B6700, который подключался к машине через тот же 1024-битный порт. битовый интерфейс как дисковая система. [48]

Машина состояла из ряда несущих шасси, содержащих ряд небольших модулей. Большинство из них представляли собой процессорные блоки (PU), которые содержали модули для одного PE, его PEM и логический блок памяти, который обрабатывал трансляцию адресов и ввод-вывод. ПУ были идентичными, поэтому их можно было заменить или перезаказать по мере необходимости. [49]

Подробности процессора

[ редактировать ]

В каждом CU было от 30 до 40 000 ворот. [50] CU имел шестнадцать 64-битных регистров и отдельный 64-битный «блокнот» с шестьюдесятью четырьмя слотами, LDB. Было четыре аккумулятора, от AC0 до AC3, программный счетчик ILR и различные управляющие регистры. Система имела короткий конвейер инструкций и реализовывала инструкции с упреждением . [51]

У ЧП было около 12 000 ворот. [50] Он включал четыре 64-битных регистра, использующие аккумулятор A, буфер операндов B и вторичную блокнот S. Четвертый, R, использовался для широковещательной передачи или приема данных от других PE. [52] PE использовали сумматор с упреждающим переносом , детектор с ведущей единицей для логических операций и бочкообразный сдвиг . 64-битное сложение заняло около 200 нс, а умножение — около 400 нс. PE были подключены к частному банку памяти PEM, в котором хранилось 2048 64-битных слов. Время доступа составляло порядка 250 нс. [53] PE использовали архитектуру загрузки/сохранения . [54]

Набор инструкций (ISA) содержал два отдельных набора инструкций: один для CU (или его модуля ADVAST), а другой для PE. Инструкции для PE не декодировались, а вместо этого отправлялись непосредственно в регистр FINST для отправки на обработку PE. Инструкции ADVAST были декодированы и поступили в конвейер обработки CU. [55]

Логическое расположение

[ редактировать ]

Каждый квадрант содержал 64 PE и одно CU. CU имел доступ ко всей шине ввода-вывода и мог обращаться ко всей памяти машины. PE могли получить доступ только к своему локальному хранилищу PEM, содержащему 2048 64-битных слов. И PE, и CU могут использовать операции загрузки и сохранения для доступа к дисковой системе. [48]

Шкафы были настолько большими, что требовалось 240 нс для прохождения сигналов от одного конца к другому . По этой причине CU нельзя было использовать для координации действий, вместо этого вся система была синхронной по часам, и все операции в PE гарантированно занимали одинаковое количество времени, независимо от того, какие операнды были. Таким образом, CU мог быть уверен, что операции были завершены, не дожидаясь результатов или кодов состояния. [47]

Чтобы повысить производительность операций, требующих использования результатов одного PE в качестве входных данных для другого PE, PE были подключены непосредственно к своим соседям, а также к тем, которые находились на расстоянии восьми шагов - например, PE1 был подключен напрямую. к PE0 и PE2, а также к PE9 и PE45. Восьмисторонние соединения позволили ускорить передачу данных, когда данные должны были передаваться между более удаленными PE. [48] Каждый сдвиг данных перемещал 64 слова за один такт длительностью 125 нс. [47]

В системе использовался одноадресный формат, в котором инструкции включали адрес одного из операндов, а другой операнд находился в аккумуляторе PE (регистр A). Адрес был отправлен PE по отдельной «широковещательной» шине. В зависимости от инструкции значение на шине может относиться к ячейке памяти в PEM PE, значению в одном из регистров PE или числовой константе. [56]

Поскольку каждый PE имел собственную память, а формат инструкций и CU видели все адресное пространство, система включала индексный регистр (X) для смещения базового адреса. Это позволило, например, одному и тому же потоку инструкций работать с данными, которые не были выровнены в одних и тех же местах в разных PE. Типичным примером может быть массив данных, загруженный в разные места в PEM, которые затем можно было бы сделать унифицированными, установив индекс в разных PE. [56]

В традиционных компьютерных конструкциях инструкции загружаются в ЦП по одной по мере чтения из памяти. Обычно, когда ЦП завершает обработку инструкции, счетчик программ (PC) увеличивается на одно слово и считывается следующая инструкция. Этот процесс прерывается ветвями , которые заставляют ПК переходить в одно из двух мест в зависимости от теста, например, содержит ли данный адрес памяти ненулевое значение. В схеме ILLIAC каждый PE будет применять этот тест к разным значениям и, следовательно, получать разные результаты. Поскольку эти значения являются личными для PE, следующие инструкции необходимо будет загрузить на основе значения, известного только PE. [57]

Чтобы избежать задержек при перезагрузке инструкций PE, ILLIAC загружал инструкции PEM с обеих сторон ветки. Логические тесты не изменили ПК, вместо этого они установили «биты режима», которые сообщали PE, следует ли запускать следующую арифметическую инструкцию. Чтобы использовать эту систему, программа должна была быть написана так, чтобы один из двух возможных потоков инструкций следовал за тестом и заканчивался инструкцией по инвертированию битов. Затем следует код для второй ветви, заканчивающийся инструкцией по установке всех битов в 1. [57]

Если тест выберет «первую» ветвь, PE продолжит работу в обычном режиме. Когда он достигнет конца этого кода, инструкция оператора режима перевернет биты режима, и с этого момента PE будет игнорировать дальнейшие инструкции. Это будет продолжаться до тех пор, пока не будет достигнут конец кода второй ветви, где инструкция сброса режима снова включит PE. Если в результате конкретного теста PE была выбрана вторая ветвь, он вместо этого установил бы биты режима игнорировать дальнейшие инструкции до тех пор, пока не достигнет конца первой ветви, где оператор режима перевернул бы биты и заставил бы вторую ветвь начать обработку. , еще раз включив их все в конце этой ветки. [57]

Поскольку PE могут работать в 64-, 32- и 8-битных режимах, флаги режима имели несколько битов, поэтому отдельные слова можно было включать или выключать. Например, в случае, когда PE работал в 32-битном режиме, на одной «стороне» PE тест мог оказаться истинным, а на другой стороне — ложным. [57]

Терминология

[ редактировать ]
  • ТС: единый контроль
  • ЦП: центральный процессор
  • ISA: архитектура набора команд
  • MAC: умножение и накопление
  • ПК: счетчик программ
  • PE: обрабатывающий элемент
  • PEM: модуль памяти обрабатывающего элемента
  • ПУ: блок обработки

См. также

[ редактировать ]
  • Закон Амдала , который предполагает, что существуют пределы повышения производительности параллельных компьютеров.
  • ILLIAC III — SIMD-машина специального назначения, построенная примерно в то же время, что и ILLIAC IV.
  • Ансамбль параллельной обработки элементов , еще одна массово-параллельная машина Берроуза, на этот раз Bell Labs. разработанная
  • Bull Gamma 60 — ранний параллельный компьютер, выпущенный в 1960 году.

Примечания

[ редактировать ]
  1. ^ Обратите внимание, что термин «FLOP» в то время широко не использовался, MIPS и FLOPS были синонимами.
  2. ^ Чен говорит июль. [26]
  3. ^ Позже известный как интеграция среднего масштаба .
  4. Слотник и другие утверждали, что первоначальная оценка в 8 миллионов долларов была специальной цифрой, которая была такой же, как и гонорар в бою Клэй-Листон . [2]
  5. ^ Он разрабатывался в период исторически высоких темпов инфляции, и, по крайней мере, частичное увеличение цен связано с этим увеличением. [2]
  1. ^ Хорд 1982 , с. 1.
  2. ^ Jump up to: а б с д и ж Хорд 1982 , с. 14.
  3. ^ Хорд 1982 , с. 5.
  4. ^ Хокни и Джессхоп 1988 , с. 24.
  5. ^ Jump up to: а б Хорд 1982 , с. 8.
  6. ^ Хокни и Джессхоп 1988 , с. 25.
  7. ^ Jump up to: а б с д Слотник 1982 , с. 20.
  8. ^ Уэр, штат Вашингтон (10 марта 1953 г.). История и развитие компьютера IAS (PDF) (Технический отчет). Рэнд.
  9. ^ Маккензи 1998 , с. 295.
  10. ^ Слотник 1982 , с. 21.
  11. ^ Слотник 1982 , стр. 21–22.
  12. ^ Маккензи 1998 , с. 105.
  13. ^ Jump up to: а б Букнайт и др. 1972 , с. 371.
  14. ^ Jump up to: а б Слотник 1982 , с. 23.
  15. ^ Слотник 1982 , с. 24.
  16. ^ Маккензи 1998 , с. 118.
  17. ^ Маккензи 1998 , с. 119.
  18. ^ Слотник 1982 , с. 25.
  19. ^ Jump up to: а б с д и ж г час Слотник 1982 , с. 26.
  20. ^ Барнс и др. 1968 , с. 746.
  21. ^ Левеск, Джон; Уильямсон, Джоэл (2014). Путеводитель по Фортрану на суперкомпьютерах . Академическая пресса. п. 14.
  22. ^ Паркинсон, Деннис (17 июня 1976 г.). «Компьютеры тысячами». Новый учёный . п. 626.
  23. ^ Хорд 1982 , с. 9.
  24. ^ Литару, Калев (2010). «Лаборатория цифровых компьютеров/ДКЛ» . Истории пользовательского интерфейса / Университет Иллинойса .
  25. ^ Хорд 1982 , с. 15.
  26. ^ Jump up to: а б Чен 1967 , с. 3.
  27. ^ Барнс и др. 1968 , с. 747.
  28. ^ Jump up to: а б Хорд 1982 , с. 11.
  29. ^ Jump up to: а б с Фальк 1976 , с. 67.
  30. ^ Берроуз 1974 , с. 3.
  31. ^ Jump up to: а б с д и ж г Слотник 1982 , с. 27.
  32. ^ Фальк 1976 , с. 65.
  33. ^ «Байт истории: вычисления в Университете Иллинойса» . Университет Иллинойса . Март 1997 г. Архивировано из оригинала 10 июня 2007 г.
  34. ^ «Взрыв в Стерлинг-холле в 1970 году» . Университет Висконсина-Мэдисона .
  35. ^ «Научно-информационный бюллетень» (PDF) . Азиатский офис военно-морских исследований. Декабрь 1993. с. 51. Архивировано (PDF) из оригинала 24 сентября 2015 года . Проверено 25 марта 2024 г.
  36. ^ Хорд 1982 , с. 7.
  37. ^ Фальк 1976 , с. 69.
  38. ^ «Этот день в истории: 7 сентября», Музей истории компьютеров.
  39. ^ «Блок управления ILLIAC IV» . Музей истории компьютеров .
  40. ^ Фальк 1976 , с. 68.
  41. ^ Хорд 1990 , с. 9.
  42. ^ Хорд 1990 , с. 10.
  43. ^ Хорд 1990 , с. 12.
  44. ^ Хорд 1990 , с. 13.
  45. ^ Фальк 1976 , с. 66.
  46. ^ Роббинс, Кей; Роббинс, Стивен (2003). Системное программирование UNIX: коммуникация, параллелизм и потоки . Прентис Холл. п. 582 . ISBN  9780130424112 .
  47. ^ Jump up to: а б с Берроуз 1974 , с. 5.
  48. ^ Jump up to: а б с Берроуз 1974 , с. 4.
  49. ^ Берроуз 1974 , стр. 11–12.
  50. ^ Jump up to: а б Чен 1967 , с. 9.
  51. ^ Технический 1968 , с. 2.10.
  52. ^ Технический 1968 , с. 2.7.
  53. ^ Технический 1968 , с. 2.8.
  54. ^ Технический 1968 , с. 2.11.
  55. ^ Технический 1968 , с. 2.12.
  56. ^ Jump up to: а б Берроуз 1974 , с. 7.
  57. ^ Jump up to: а б с д Берроуз 1974 , с. 6.

Библиография

[ редактировать ]

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 61cfdd0920677bc2c3f83f40c33ac979__1722244140
URL1:https://arc.ask3.ru/arc/aa/61/79/61cfdd0920677bc2c3f83f40c33ac979.html
Заголовок, (Title) документа по адресу, URL1:
ILLIAC IV - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)