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

Да-да, именно так называется этот странный блок! Но «гадание на кофейной гуще» здесь ни при чем - переходы предсказываются на основе вполне научных соображений. Обычно используется очень простой способ: в процессоре ведется табличка ранее совершенных переходов - для каждого условного перехода подсчитывается, сколько раз он «сработал», а сколько - «был проигнорирован». Поэтому, скажем, когда процессор встречает переход, замыкающий какой-нибудь цикл, то он быстренько начинает считать: раз переход сработал, два сработал, три сработал - ну, значит, наверное, он всегда будет срабатывать, вот так и будем предсказывать, что переход всегда происходит. То, что мы один раз в конце цикла ошибемся, - не беда, зато ценой максимум двух ошибок мы добьемся точного предсказания во всех остальных случаях. Кстати, на простых циклах процессор, как правило, ошибается еще реже - не более одного раза: по умолчанию, когда не из чего выбирать, считается, что условный переход всегда происходит.

При неправильном предсказании конвейер обычно приходится «сбрасывать», каким-то образом восстанавливая состояние процессора, предшествующее моменту неправильного перехода. А ведь пока исполнялась неправильная ветка, там ого-го сколько всего могло случиться! Неправильный опкод (нераспознаваемая машинная инструкция), обращение к виртуальной памяти (провоцирующее исключение в процессоре), некстати распознанное деление на ноль (тоже ошибка). Все это приходится тщательно отслеживать и проверять, причем это не шутки: одно время из-за ошибки в реализации конвейера процессора AMD K5, программист, написавший конструкцию если x A 0, то y = 1/x, иначе y = 0, запросто мог получить при x @ 0 на, казалось бы, ровном месте ошибку «деление на ноль», вызванную неправильным предсказанием перехода. А в OoO-процессорах ситуация еще сложнее - пока «тормозит» не вовремя отправившаяся за операндами в оперативную память инструкция, процессор успевает пропустить вперед, выполнить и едва ли не сохранить результат вычисления десятков инструкций неправильной ветки: попробуй за всем этим уследить!

Но бороться здесь есть за что: для современных процессоров каждая ошибка предсказания - это десятки вхолостую израсходованных тактов. Сущая катастрофа, если учитывать, что за каждый такт можно было бы исполнить до трех x86-инструкций и совершить кучу вычислений. Если бы блока предсказания не было, то так «тормозил» бы каждый условный переход.

Точность предсказания современных блоков составляет на тестах SPEC порядка 98-99%. Может показаться, что совершенствовать блок не имеет смысла, но это не совсем так. Дело в том, что на производительности гораздо больше сказывается процент ошибок, а не верных предсказаний. А переход от 98-процентной точности к 99-процентной означает двукратное снижение ошибок - с 2% до 1%! Поэтому если вы внимательно почитаете пресс-релизы о новых CPU, то заметите, что «усовершенствованный блок предсказания переходов» упоминается в них почти всегда.

В архитектуре IA-64 техника предсказания переходов сделала значительный шаг вперед - эти процессоры умеют одновременно вычислять несколько веток программного кода. То есть, встретив инструкцию условного перехода, процессор начинает «охотиться за двумя зайцами» - просчитывать оба варианта развития событий вплоть до того момента, пока не станет ясно, какой из них правильный. Поскольку инструкции «разных вариантов» практически не зависят друг от друга, а исполнительные устройства Itanium обычно загружены далеко не полностью, то исполнять побочную ветку нередко удается практически с той же скоростью, что и основную, так что даже при неправильном предсказании условного перехода происходит не остановка процессора на пару десятков тактов, а всего лишь снижение производительности на небольшом участке кода.

Архитектура PowerPC

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

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

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

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

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

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

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

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

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

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

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

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