Читаем Журнал «Компьютерра» №37 полностью

На практике это привело к тому, что подобные инструкции оказалось сложно не только выполнять, но и просто декодировать (выделять из машинного кода новую инструкцию и отправлять ее на исполнительные устройства). Чтобы машинный код CISC-компьютеров из-за сложных инструкций не разрастался до огромного размера, машинные инструкции в большинстве этих архитектур имели неоднородную структуру (разное расположение и размеры кода операции и ее операндов) и сильно отличающуюся длину (в x86, например, длина инструкций варьируется от 1 до 15 байт). Еще одной проблемой стало то, что при сохранении приемлемой сложности процессора многие инструкции оказалось принципиально невозможно выполнить «чисто аппаратно», и поздние CISC-процессоры были вынуждены обзавестись специальными блоками, которые «на лету» заменяли некоторые сложные команды на последовательности более простых. В результате все CISC-процессоры оказались весьма трудоемкими в проектировании и изготовлении. Но что самое печальное, к моменту расцвета CISC-архитектур стало ясно, что все эти конструкции изобретались в общем-то зря - исследования программного обеспечения того времени, проведенные IBM, наглядно показали, что даже программисты, пишущие на ассемблере, все эти «сверхвозможности» почти никогда не использовали, а компиляторы языков высокого уровня - и не пытались использовать.

К началу 80-х годов классические CISC полностью исчерпали себя. Расширять набор инструкций в рамках этого подхода дальше не имело смысла, наоборот - технологи столкнулись с тем, что из-за высокой сложности CISC-процессоров оказалось трудно наращивать их тактовую частоту, а из-за «тормознутости» оперативной памяти тех времен зашитые в память процессора расшифровки сложных инструкций зачастую работают медленнее, чем точно такие же цепочки команд, встречающиеся в основной программе. Короче говоря, стало очевидным, что CISC-процессоры нужно упрощать - и на свет появился RISC, Reduced Instruction Set Computer.


Регистровые окна SPARC

При построении RISC-процессоров принимается во внимание медлительность оперативной памяти. Обращения к ней (даже с учетом различных кэшей) - «дорогостоящи» и требуют дополнительных вычислений, а потому, насколько это возможно, их следует избегать. Но Load/Store-архитектура и большое число регистров - не единственное, что можно сделать.

В любом программном коде можно встретить немало вызовов функций - фактически требований к процессору перейти в заданное место программы, продолжить выполнение программы до специальной инструкции возврата, после чего - вернуться к тому месту, где произошел вызов, почти полностью восстановив свое состояние до вызова функции. Чтобы это можно было сделать, при вызове функции процессор должен «запомнить» свое текущее состояние - в частности, содержимое некоторых регистров общего назначения и значительной части специальных регистров. Традиционное решение - «запихнуть» все необходимые данные в специальную конструкцию - стек[ Стек можно условно представить как запаянную с одного конца трубку, в которую по одному кладутся и по одному же извлекаются шарики (данные). Первый положенный в трубку шарик извлекается последним, так что если мы, скажем, по очереди положим (push) в стек числа 1, 2, 3, то извлекая (pop) данные, мы поочередно достанем 3, 2, 1.], которую процессор поддерживает на аппаратном уровне и которая в большинстве процессоров реализована в виде пары служебных регистров и выделенного участка оперативной памяти, куда все складываемые в стек данные и записываются. Поэтому любой вызов функции в традиционной схеме неявным образом приводит к записи в оперативную память десятков, а то и сотен байт информации. Есть даже целый ряд модельных задачек на эту тему - как написать компилятор, минимизирующий количество сохраняемой информации; причем кое-какие из этих наработок поддерживаются популярными компиляторами (например, соглашение __fastcall в некоторых компиляторах C/C++). Но оказывается, что всего этого можно избежать.

Перейти на страницу:

Похожие книги

«Если», 1998 № 01
«Если», 1998 № 01

ФАНТАСТИКАЕжемесячный журналСодержание:Сьюзи МакКи Чарнас. СЛУШАЯ БРАМСА, рассказАлександр Громов. СЧАСТЛИВАЯ ЗВЕЗДА, рассказБилл Джонсон. ВЫПЬЕМ, ГОСПОДИН ПОСОЛ! рассказАлексей Васильев. БЛИЖЕ К ТЕЛУ!ФактыДжеймс Типтри-младший. МИМОЛЕТНЫЙ ПРИВКУС БЫТИЯ, повестьЛитературный портрет*Вл. Гаков. В ТЕНИ ЧУЖОЙ СУДЬБЫФактыДжеффри Лэндис. БЕСКОНЕЧНЫЕ СОБЛАЗНЫ ЭНИГМЫ, повестьВиктор Комаров. Наш главный собеседникФантариум ЗВЁЗДНЫЙ ПОРТПРЯМОЙ РАЗГОВОР*Кир Булычёв. Будем уважать друг другаЕвгений Харитонов. За великой стенойКУРСОРРЕЦЕНЗИИPERSONALIAВИДЕОДРОМ*Адепты жанра— Дмитрий Караваев. Светлые идеи рыцаря «черного юмора»*Рецензии*Герой экрана— Станислав Ростоцкий. Черный ворон Голливуда*Рейтинг— Сергей Кудрявцев. Лидеры 1997. Самые кассовые фантастические фильмы*Сериал— Александр Алексеев. «Вавилон-5». Подготовка к пятому запуску*Внимание, мотор!— Евгений Зуенко. Компьютерные игры на экранеПремия читательских симпатий (лист для голосования)Обложка Мура К. (Chris Moore).Иллюстрации О. Васильева, О. Дунаевой, А. Жабинского, А. Филиппова.

Виктор Ноевич Комаров , Журнал «Если» , Александр Николаевич Громов , Владимир Гаков , Станислав Иосифович Ростоцкий

Журналы, газеты / Фантастика / Научная Фантастика
«Если», 2012 № 02
«Если», 2012 № 02

Раджнар ВАДЖРА. ПЯТЬ КОРОБОК ДЛЯ ДОКТОРАУже знакомый нашим читателям доктор для чужаков должен решить, казалось бы. неразрешимую задачу.Адам-Трой КАСТРО. УБЕЖИЩЕА вот не менее запутанная проблема. И хотя на этот раз юридическая, но столь же драматичная для всех героев.Леонид КУДРЯВЦЕВ, Дмитрий ФЕДОТОВ. МУСОРЩИКИ ВРЕМЕНИА может быть, дворники? Все зависит от точки зрения.Павел АМНУЭЛЬ. ЧАЙКАЭтих мужчину и женщину не связывает более ничего. Электрон с Земли и атом железа из звезды Барнарда и те ближе.Пол КОРНЕЛЛ. АРГУМЕНТ ПО-ДАТСКИСуществование подобного альтернативного мира вызывает вопросы. Но детектив развивается в полном соответствии с его законами.Джо ХОЛДЕМАН. НЕ БУДИ ЛИХО…Бывший солдат прибывает на планету, где тридцать лет назад участвовал в боевых действиях.Крейг ДЕЛЭНСИ. ТРИ ДЖУЛИИТак сколько же их, в конце концов?!Александр ТИМОФЕЕНКО. КУДА УЖ РЕАЛЬНЕЕ…«Лукоморья больше нет, все, о чем писал поэт, — это бред».Аркадий ШУШПАНОВ. ЛЮДИ ТЕЛА…Или актеры без лиц.Сергей КУДРЯВЦЕВ. ЛИДЕРЫ-2011Неожиданностей мало: кто больше всех хотел прорваться в лидеры, тот и стал им.ВИДЕОРЕЦЕНЗИИА ведь кому-то такой юмор нравится…Глеб ЕЛИСЕЕВ. «Я — СЕМЬЯ…»«…во мне как в спектре живут семь "я" — этот отрывок из поэтической миниатюры Андрея Вознесенского отлично описывает тему статьи.Мария ГАЛИНА. КАК ЭТО ДЕЛАЛОСЬ В АНК-МОРПОРКЕВ Одессе это делалось по-другому, но все революции в чем-то похожи.РЕЦЕНЗИИИ фэнтези, и НФ, и альтернативная история, и фантастиковедение, и новеллизация, и даже феминистская НФ.КУРСОРКак Байконур вдруг очутился в Астане…Валерий ОКУЛОВ. ЗНАМЕНИТЫЙ НЕУДАЧНИКБывают такие странные книги, которые наперебой ругают и одновременно взахлеб читают.Вл. ГАКОВ. ЗАПОВЕДНИК ПРИМАТОВЭтот писатель серьезно пошатнул авторитет Дарвина, доказав возможность обратной эволюции.Сергей СЛЮСАЙЕНКО. ТЕОРИЯ УПУЩЕННЫХ ВОЗМОЖНОСТЕЙНастоящий научный вопрос задал читателям журнала самый настоящий ученый.ПЕРСОНАЛИИМногие критики полагают, что житейская биография писателя неизбежно отражается в его творчестве. В таком случае авторы нашего журнала, как минимум, гости из будущего, а возможно, и вовсе маскирующиеся под людей пришельцы.

Сергей Кудрявцев , Валерий Окулов , Дмитрий Федотов , Наталья Щерба , Крэйг Делэнси

Проза / Журналы, газеты / Фантастика / Фэнтези / Современная проза / Эссе
«Если», 2001 № 06
«Если», 2001 № 06

ФАНТАСТИКАЕжемесячный журналСодержание:Александр Шалганов. ЗДРАВСТВУЙТЕ, УВАЖАЕМЫЕ ЧИТАТЕЛИ!Вл. Гаков. СОЗДАТЕЛИ ЖАНРАМарина и Сергей Дяченко. КОН, повестьАндрей Столяров. КАК ЭТО ДЕЛАЕТСЯ, рассказЭдуард Геворкян. ВОЗВРАЩЕНИЕ МЫТАРЯ, повестьВладимир Михайлов. ТРИАДА КУРАНТА, повестьЕвгений Лукин. ТРУЖЕНИКИ ЗАЗЕРКАЛЬЯ, повестьСергей Лукьяненко. ОТ СУДЬБЫ…, рассказМАСТЕР*Кир Булычев. ВЫ МЕНЯ ЕЩЁ НЕ ЗНАЕТЕ!ВИДЕОДРОМ*Адепты жанра-- Наталья Милосердова. КУ, РОДНЫЕ!..*Хит сезона-- Дмитрий Караваев. ГДЕ ДРАКОН?*Рецензии*Фестиваль-- Дмитрий Байкалов. ПОБЕДНОЕ ФИАСКОЕвгений Харитонов. «РУССКОЕ ПОЛЕ» УТОПИЙКРУПНЫЙ ПЛАН*Наталия Мазова. ПОИСКИ ХАОСА, рецензия на несуществующий роман Алины Лещининой «Путь, уводящий в облака»РЕЦЕНЗИИКУРСОРАНКЕТА «ЕСЛИ»ПЕРСОНАЛИИОформление обложки: Игорь Тарачков (с. 1, 4); Алексей Филиппов (с. 2, 3)Иллюстрации: О. Васильев, С. Голосов, А. Филиппов, А. Балдин, С. Шехов

Дмитрий Львович Караваев , Евгений Викторович Харитонов , Журнал «Если» , Наталия Михайловна Мазова , Владимир Гаков

Журналы, газеты / Фантастика / Научная Фантастика / Фэнтези