Возможно вы искали: 'Impossible Game, The'

May 12 2025 12:25:32
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96030355
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18346
• Обзор The Walking ... 18789
• Обзор DMC: Devil M... 19864
• Обзор на игру Valk... 15867
• Обзор на игру Stars! 17754
• Обзор на Far Cry 3 17935
• Обзор на Resident ... 16012
• Обзор на Chivalry:... 17495
• Обзор на игру Kerb... 17970
• Обзор игры 007: Fr... 16604
Превью о играх
• Превью к игре Comp... 17946
• Превью о игре Mage... 14451
• Превью Incredible ... 14706
• Превью Firefall 13462
• Превью Dead Space 3 16325
• Превью о игре SimC... 14717
• Превью к игре Fuse 15432
• Превью Red Orche... 15532
• Превью Gothic 3 16334
• Превью Black & W... 17345
Главная » Статьи » Разное » Микропроцессор Hobbit: на каком языке говорили полурослики

Микропроцессор Hobbit: на каком языке говорили полурослики

Микропроцессор Hobbit: на каком языке говорили полурослики
Четверть века назад в исследовательском центре Bell Labs разрабатывали C-машину - безрегистровую процессорную архитектуру, оптимизированную для выполнения С-программ.



Автор: Евгений Лебеденко, Mobi.ru
| Раздел: Статьи |
Дата: 24 октября 2011 года




Сердце большинства нынешних персональных компьютеров и их старших братьев, серверных систем, кластеров и суперЭВМ, - это процессор, относящийся к типу CISC (Complex Instruction Set Computing). Апологеты CISC'остроения отлично известны - это компании Intel и AMD, "заклятые друзья", ведущие бесконечный бой за потребителя.

Мобильные гаджеты - совсем другое дело. Почти в каждый из них "имплантирован" процессор типа RISC (Redused Instruction Set Computing) с сокращённым набором команд. Чаще всего такие процессоры базируются на архитектуре, разработанной компанией ARM и лицензируемой великим множеством производителей.

Считается, что CISC-процессоры весьма производительны, но при этом далеко не идеальны в плане энергопотребления и рассеиваемой кристаллом мощности. Их конкуренты с архитектурой RISC пусть и послабее в вычислительном плане, но зато куда умереннее тратят заряд батареи и способны трудиться без лишних охлаждающих "примочек".

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

Эта история об одном из таких процессорных "чебурашек" - уникальном во многих отношениях процессоре по имени Hobbit, который был рождён... нет, не в Средиземье, а в исследовательской лаборатории Bell Labs компании AT&T.

Си-машина. Попытка создать Утопию

Восьмого октября сего года ушёл из жизни Деннис Ритчи – человек, которого весь мир знал как создателя языка программирования С и соавтора операционной системы Unix.

Вклад, который внёс этот компьютерный гений в облик нынешнего мира цифровых вычислений, трудно переоценить. Язык С, выросший из исследовательских проектов Ритчи, сегодня используется в качестве инструмента для создания кода ядер большинства операционных систем, а его синтаксические и семантические отголоски в той или иной степени присутствуют во многих языках программирования.

Появление же произвело настоящую революцию в программистских умах, сделав возможным написание программ с помощью весьма простых и элегантных правил процедурного программирования, совмещенных со свежепредложенной Эдсгером Дейкстрой структурной методологией создания программ.

Конечно, программисты были влюблены в этот инструмент создания программ, представленный С и его последователями. А вот с исполнением полученного кода на конкретном "железе" всё было далеко не так гладко. Перефразируя поэта, можно сказать: "Любовная лодка эффективности языка программирования разбилась о быт процессорных архитектур". В чём же крылась причина этого кораблекрушения?

Вспомним в общих чертах, как процессор выполняет программу. Все необходимые для работы программы компоненты, а именно код и данные, располагаются в определённом адресном пространстве оперативной памяти. Процессоры, как правило, избегают обращаться к оперативной памяти напрямую, поскольку считается, что это сильно замедляет их работу. Поэтому в состав процессора входит специальный модуль вызова команд, который занимается выборкой инструкций программы из оперативной памяти и передаёт найденные инструкции исполнительному устройству процессора. В подавляющем большинстве случаев модуль вызова команды размещает найденную инструкцию и данные для обработки в специальные регистры процессора, к которым имеет доступ исполнительное устройство.

Процессоры с традиционной архитектурой хранят инструкции и данные в регистрах

Фактически процессор классической архитектуры (неважно, CISC или RISC) общается только с этими регистрами, знать не зная о том, что же происходит в памяти. Конечно же, у такой схемы обработки есть варианты. Например, регистры могут быть заменены или дополнены аппаратно реализованным пулом в виде очереди FIFO или же специальной кэш-памятью. Эти изменения и дополнения позволяют модулю вызова команды осуществлять предварительную выборку сразу нескольких инструкций, подыгрывая суперскалярности исполнительного устройства. Однако регистровая суть работы процессора при этом не меняется.

Беда же заключается в том, что языки программирования высокого уровня, подобные С (ассемблеры, вплотную приближенные к архитектуре процессора, не в счёт), создавая программу, используют совершенно другую методологию. Они размещают необходимые программе локальные переменные и иные структуры, необходимые для выполнения основной ветви программы и вызываемых из неё процедур, в области памяти, называемой "стек". Стек устроен по принципу оружейного магазина и на своей вершине содержит наиболее актуальные в данный момент данные.



Одним словом, стековая идиллия программ, которую создаёт компилятор, сталкивается с суровыми регистровыми буднями реальных процессорных архитектур. В этом не было бы ничего страшного, если бы не вызовы процедур.

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

А если процедур много и вызываются они довольно часто? Нетрудно догадаться, кто в этом случае работает больше, модуль вызова команды или исполнительное устройство процессора. Вот и выходит, что в реальности архитектура процессора, основанная на регистрах, буксует при выполнении сложных программ с кучей процедур.

Именно об этой нестыковке и задумался коллектив исследователей (в его состав входил и Деннис Ритчи, и другие сотрудники Bell Labs), разрабатывая С-машину – гипотетическую безрегистровую процессорную архитектуру, оптимизированную для выполнения С-программ со множеством процедур и стековой организацией хранения данных.

К разработке С-машины учёные подошли основательно. Предварительно была выполнена трассировка исполнения разных типов С-программ, позволившая собрать уникальную статистику, связанную с обращением к памяти и вызовом процедур. Кстати, позже эта статистика "стрельнула" в проекте виртуальной памяти, без которой немыслимо нынешнее поколение операционных систем.

Приступая к разработке С-машины, исследователи провели трассировку десятков С-программ

Согласно идеологии С-машины, инструкции программы получали доступ к необходимым им данным так, как это задумывалось компилятором языка С, то есть непосредственно обращаясь к находящимся в памяти стекам программы и её процедур и, например, таким элементам, как массивы. Такое неэффективное с точки зрения скорости доступа решение на практике оказывалось более продуктивным, чем постоянное перезаписывание более шустрых регистров.

В основе архитектуры С-машины лежит использование специальной кэш-памяти для отображения в ней стека программы

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

Проект С-машины стал активно развиваться в начале восьмидесятых годов прошлого столетия. Возможно, он так и остался бы эдакой игрой разума, если бы не "железные" амбиции компании AT&T, в недрах которой появился язык С и операционная система Unix.

Архитектура CRISP. С-машина в "железном" исполнении

Восьмидесятые годы прошлого столетия были настоящим Клондайком для разработчиков микропроцессоров. Твори, выдумывай, пробуй! Трудись в поте лица и не забывай скрестить пальцы "на удачу". Глядишь, баловница Судьба и подбросит тебе самородок в виде признания рынком именно твоей процессорной архитектуры.

Именно поэтому в процессорной гонке принимала участие и до мозга костей коммуникационная компания AT&T. Её исследовательский центр Bell Labs заслуженно считался кузницей гениальных идей и решений. Именно там получили путёвку в жизнь забытые ныне AT&T-процессоры.

Как и большинство компаний, AT&T начинала с четырёх и восьмиразрядных CISC-процессоров. Первым процессором, разработанным Bell Labs, был Mac-8 – восьмиразрядный процессор общего назначения, представленный 17 февраля 1977 года. В отличие от большинства конкурентов (например, Intel), использовавших для производства технологию NMOS, AT&T в содержащем всего 7500 транзисторов процессоре, MAC-8 применила более сложную для того времени, но эффективную технологию CMOS.

Процессор Mac-8 не нашёл признания на массовом рынке, но широко использовался в коммуникационном оборудовании, выпускаемом AT&T. И именно в нём проклюнулись первые ростки С-машины. Уникальной особенностью Mac-8 была возможность прямого отображения его регистров на адреса оперативной памяти и зачатки оптимизации процессорной архитектуры под особенности языка С.

Наследником Mac-8 стал процессор BellMac-32, который AT&T решила пустить в серию. Этот тридцатидвухразрядный процессор содержал сто пятьдесят тысяч транзисторов и имел в своём составе модуль управления памятью (MMU – Memory Management Unit). В модификации BellMac-32B, которая вышла на рынок под именем WE32100, впервые в истории микропроцессров на микросхему была интегрирована кэш-память на 256 команд.

Дэйв Дитцель

И именно этот процессор послужил прототипом для создания "железной" реализации С-машины – архитектуры CRISP (C-language Redused Instruction Set Computing). Закоперщиком стал инженер Дэйв Дитцель (Dave Ditzel). Его энтузиазм помог убедить коллег в перспективности не очень популярной в то время RISC-архитектуры применительно к идеям С-машины.

В период с 1983 по 1985 группа Дитцеля разработала фотолитографические матрицы первого варианта CRISP-процессора исключительно для исследовательских целей. В 1986 году CRISP был реализован в кремнии. Среди его уникальных особенностей были функция предсказания ветвлений и способность осуществлять ветвление одновременно с исполнением другой инструкции. Как и положено RISC-процессору, прототип CRISP выполнял большинство инструкций за один такт и, конечно же, в лучших традициях С-машины содержал специальную кэш-память для стека программы.

Архитектура тридцатидвухразрядного процессора CRISP была во многом уникальна.

Эксперименты с лабораторными вариантами CRISP показали, что, выигрывая в производительности, CRISP-аритектура была весьма энергоэкономичной.

Дитцель начал активно искать пути внедрения своей разработки. Первой откликнулась… компания Apple.

Hobbit. Рождение и недолгое путешествие полурослика

В 1988 году Apple, впечатлённая разрекламированными Дитцелем результатами тестирования прототипа CRISP-процессора, официально заказала AT&T партию этих микросхем. В недрах "яблочной компании" вызревал легендарный Newton - устройство, которое можно считать предшественником карманных компьютеров и даже современных планшетов. Именно в нём предполагалось использовать процессор CRISP.

Hobbit так и не стал процессором Newton MessagePad

Два года потребовалось команде Дэйва Дитцеля, чтобы наладить промышленное производство CRISP. Результат был назван Hobbit. Вероятнее всего, потому, что в сравнении с CISC-процессорами RISC-микросхемы казались полуросликами. К тому же Hobbit даже среди RISC-собратьев был странным С-говорящим созданием.

Полурослик содержал 413 000 транзисторов, размещённых на площади 95 квадратных миллиметров. Для его производства использовалась самая прогрессивная в то время 0,9 микронная технология. Идеология С-машины, на которой базировалась логика работы Hobbit, обеспечивала достаточно высокую производительность и беспрецедентно низкое энергопотребление.

Первая модель нового процессора официально именовалась AT&T 92010 и содержала три килобайта кэш-памяти для инструкций. В её модификации 92020, выпущенной в 1994 году, кэш был увеличен до четырёх килобайт. Вместе с процессором общего назначения AT&T выпустила и обвязку: контроллер дисплея и периферийного оборудования (клавиатура, мышь, коммуникационные порты) и контроллер карт расширения PCMCIA.

Готовый комплект был предложен Apple, которая... благополучно от него отказалась, отдав предпочтение своему новому инвестиционному проекту – молодой компании ARM. Как выяснилось позже, решение это было из числа провидческих. Инвестировав в ARM в 1990 году всего два с половиной миллиона долларов, спустя десять лет Apple заработала почти миллиард.

А что же Hobbit? Брошенным полуросликом заинтересовалась британская компания Go, которая и сделала его основой своего уникального коммуникационного планшета EO Personal Communicator. AT&T на правах создателя Hobbit даже приобрела Go Сorporation вместе с её детищем, но быстро забросила. В девяностых рынок ещё не был готов к планшетной революции.

Устройство EO Personal Communicator можно смело называть прообразом современных планшетов

Чуть позже Hobbit чуть было не нашёл пристанище в уникальной персоналке BeBox. Hobbit-конфигурации BeBox тестировались, но в серийное производство так и не пошли.

Процессор Hobbit в недрах тестового варианта BeBox.

Создатель Hobbit Дэйв Дитцель вскоре покинул AT&T, чтобы основать собственную компанию Transmeta. К разработке его нового детища, процессора Crusoe, приложил руку главный линуксоид планеты Линус Торвальдс. Позже Дитцель стал одним из вице-президентов Intel.

Хотя Hobbit зачах на складах AT&T, заложенные в нём идеи не пропали. Архитектурные решения CRISP-процессора Hobbit были применены компанией Lucent для первых вариантов цифровых сигнальных процессоров. Развитие этого направления привело к созданию специализированного процессора CPP (Communication Protocol Processor), вариант которого имеется в подавляющем большинстве современных мобильников. Вот так странный С-говорящий Hobbit из девяностых продолжает жить в современных цифровых гаджетах.
1167 Прочтений •  [Микропроцессор Hobbit: на каком языке говорили полурослики] [24.04.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Микропроцессор Hobbit: на каком язы... Ukraine Vova 24.04.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка