Статус нашего сайта: |
ICQ Information Center |
ICQ SHOP 5-значные 6-значные 7-значные 8-значные 9-значные Rippers List ОПЛАТА СТАТЬИ СЕКРЕТЫ HELP CENTER OWNED LIST РОЗЫСК!New! ICQ РЕЛИЗЫ Протоколы ICQ LOL ;-) Настройка компьютера Аватарки Смайлики СОФТ Mail Checkers Bruteforces ICQTeam Soft 8thWonder Soft Other Progs ICQ Patches Miranda ICQ ФорумАрхив! ВАШ АККАУНТ ICQ LiveJournal
РекламаНаш канал:irc.icqinfo.ru |
Таненбаум Э.- Архитектура компьютера. стр.323IA-32 — это архитектура, ориентированная на двухадресные команды. В настоящее время популярны архитектуры команд типа загрузки/сохранения, в которых обращения к памяти выполняются только для того, чтобы поместить операнды в регистры, а все вычисления делаются с использованием трехадресных регистровых команд. Поскольку скорость работы процессора растет гораздо быстрее, чем памяти, положение дел с IA-32 со временем все больше ухудшается. Это второй недостаток. Архитектура IA-32 содержит небольшой и нерегулярный набор регистров. Из-за малого числа регистров общего назначения (четыре или шесть, в зависимости от того, куда отнести регистры ESI и EDI) постоянно приходится записывать в память промежуточные результаты, что ведет к дополнительным обращениям к памяти, даже когда они по логике вещей не нужны. Это третий недостаток. Из-за недостаточного числа регистров возникает множество ситуаций зависимостей, особенно WAR-зависимостей, поскольку промежуточные результаты нужно куда-то помещать, а дополнительных регистров нет. Из-за недостатка регистров постоянно требуется их подмена (то есть использование скрытых регистров). Во избежание слишком частых кэш-промахов команды приходится выполнять не по порядку. Однако семантика архитектуры IA-32 определяет точные прерывания, поэтому команды, выполняемые не по порядку, должны записывать результаты в выходные регистры в строгом порядке. Все это очень сложно реализовать аппаратно. Это четвертый недостаток. Чтобы скорость работы была высокой, система должна быть в значительной степени конвейеризирована. Однако это значит, что для выполнения любой команды требуется множество циклов. Следовательно, становится существенным точное предсказание переходов, поскольку в конвейер должны попадать только нужные команды. Однако даже если процент неправильных прогнозов невысок, существенно снижается производительность. Это пятый недостаток. Чтобы избежать проблем с неправильным прогнозированием переходов, процессору приходится осуществлять спекулятивное выполнение команд со всеми вытекающими отсюда последствиями. Это шестой недостаток. Мы не будем перечислять недостатки дальше, поскольку и так ясно, что за ними кроется реальная проблема. А ведь мы еще не упомянули, что 32-разрядные адреса архитектуры IA-32 ограничивают размер отдельных программ значением 4 Гбайт, что является серьезной проблемой для высокопроизводительных серверов. Допустим, эта проблема решается в архитектуре ЕМТ-64, но остальные недостатки остаются. Ситуацию с IA-32 можно сравнить с положением дел в небесной механике как раз перед появлением Коперника. В те времена в астрономии доминировала геоцентрическая теория, в соответствии с которой Земля является центром вселенной и неподвижна, а планеты движутся вокруг нее. Однако новые наблюдения показывали все больше и больше несоответствий этой теории действительности, что в конце концов привело к ее полной несостоятельности. Компания Intel находится приблизительно в таком же положении. Множество транзисторов в процессоре Pentium 4 предназначено исключительно для переделки CISC-команд в RISC-команды, разрешения конфликтов, прогнозирования переходов, исправления неправильных предсказаний и решения многих других задач подобного рода, а для реальной работы, которая собственно и нужна пользователю, остается лишь незначительная часть этих транзисторов. Поэтому компания Intel пришла к следующему выводу: нужно выбросить IA-32 на помойку и начать все заново (IA-64). Архитектура ЕМТ-64 призвана лишь выиграть некоторое время, оставляя проблему нерешенной. |