Чтение онлайн

на главную - закладки

Жанры

Компьютерра PDA N142 (22.10.2011-28.10.2011)

Компьютерра

Шрифт:

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

Одним словом, стековая идиллия

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

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

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

Именно об этой нестыковке и задумался коллектив исследователей (в его состав входил и Деннис Ритчи, и другие сотрудники 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.

Поделиться:
Популярные книги

На границе империй. Том 4

INDIGO
4. Фортуна дама переменчивая
Фантастика:
космическая фантастика
6.00
рейтинг книги
На границе империй. Том 4

Имя нам Легион. Том 4

Дорничев Дмитрий
4. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 4

Барон устанавливает правила

Ренгач Евгений
6. Закон сильного
Старинная литература:
прочая старинная литература
5.00
рейтинг книги
Барон устанавливает правила

Начальник милиции. Книга 5

Дамиров Рафаэль
5. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 5

Пенсия для морского дьявола

Чиркунов Игорь
1. Первый в касте бездны
Фантастика:
попаданцы
5.29
рейтинг книги
Пенсия для морского дьявола

Низший - Инфериор. Компиляция. Книги 1-19

Михайлов Дем Алексеевич
Фантастика 2023. Компиляция
Фантастика:
боевая фантастика
5.00
рейтинг книги
Низший - Инфериор. Компиляция. Книги 1-19

Мастер 4

Чащин Валерий
4. Мастер
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Мастер 4

Студиозус

Шмаков Алексей Семенович
3. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Студиозус

Безумный Макс. Ротмистр Империи

Ланцов Михаил Алексеевич
2. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
4.67
рейтинг книги
Безумный Макс. Ротмистр Империи

Ветер перемен

Ланцов Михаил Алексеевич
5. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Ветер перемен

По дороге пряностей

Распопов Дмитрий Викторович
2. Венецианский купец
Фантастика:
фэнтези
героическая фантастика
альтернативная история
5.50
рейтинг книги
По дороге пряностей

Убивать чтобы жить 2

Бор Жорж
2. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 2

Решала

Иванов Дмитрий
10. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Решала

Повелитель механического легиона. Том I

Лисицин Евгений
1. Повелитель механического легиона
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Повелитель механического легиона. Том I