?

Log in

No account? Create an account

Процессорно-архитектурное - Общество дровосеков Бердичева по изучению Мишны

Dec. 4th, 2013

04:09 pm - Процессорно-архитектурное

Previous Entry Share Next Entry

Эта штука будет посильнее Трансметы Дитцела!

tl;dr: длины индивидуальных инструкций не обязательно кратны байту; каждый обобщенный линейный участок (один вход, несколько выходов) состоит из заголовка, сообщающего размер участка, и двух кусков: набора инструкций с аргументами потенциально переменной длины — операции с константами, разнообразные обращения к памяти — и набора инструкций фиксированной длины ("регистровых" - в кавычках, потому что регистров в традиционном понимании нет, а есть конвейер результатов). Один из кусков записывается задом наперед, а переход происходит на границу между кусками. Это существенно облегчает декодирование, уменьшает длину конвейера инструкций и избавляет от необходимости переименовывать регистры, и т.п. Предсказание переходов тоже упрощается, поскольку нужно хранить предсказание не каждого условного перехода, а лишь какой именно из переходов в линейном участке сработает. Также планируется сохранять историю предсказаний переходов между запусками программ.

Tags:

Comments:

[User Picture]
From:amigofriend
Date:December 5th, 2013 12:16 am (UTC)
(Link)
Ох уж эта Трансмета, так дысали, так дысали...

Из бокса стелса он вышел, был Мельник силён!
(Reply) (Thread)
[User Picture]
From:spamsink
Date:December 5th, 2013 12:22 am (UTC)
(Link)
Трансмета налицензировала разных патентов и, хоть и не дышит, но существует в режиме зомби: кровушку сосёт себе.

А Из(вне)коробки пока еще не совсем из стелса вылез: вон, домашняя страничка какая позорная.
(Reply) (Parent) (Thread)
[User Picture]
From:b0p0h0k
Date:December 5th, 2013 12:26 am (UTC)
(Link)
Гхм...
Подождём ещё немного с вердиктом.
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:December 5th, 2013 12:50 am (UTC)
(Link)
С каким именно?
(Reply) (Parent) (Thread)
[User Picture]
From:b0p0h0k
Date:December 5th, 2013 01:01 am (UTC)
(Link)
По поводу ТМ.
Да ты и сам ниже говоришь.
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:December 5th, 2013 01:14 am (UTC)
(Link)
Как бы с ней не случилось то же, что с доменным именем моей первой работы.
(Reply) (Parent) (Thread)
[User Picture]
From:amigofriend
Date:December 5th, 2013 01:28 am (UTC)
(Link)
А какой тут может быть вердикт? Патенты могут быть у кого-то (причём там гораздо важнее была low power чем архитектура процессора), но компании такой давно не существует.
(Reply) (Parent) (Thread)
[User Picture]
From:b0p0h0k
Date:December 5th, 2013 03:44 am (UTC)
(Link)
Зайдите через полгодика. :)
(Reply) (Parent) (Thread)
[User Picture]
From:amigofriend
Date:December 5th, 2013 03:55 am (UTC)
(Link)
1. Куда заходить-то? Это будет опять Трансмета? "Нэ вэрю".
2 Акции мои мне вернут?
(Reply) (Parent) (Thread)
[User Picture]
From:b0p0h0k
Date:December 5th, 2013 04:11 am (UTC)
(Link)
1. Сюда.:) Нет. Ок.
2. Нет.
(Reply) (Parent) (Thread)
[User Picture]
From:amigofriend
Date:December 5th, 2013 04:23 am (UTC)
(Link)
Не, ну если Дитцль снова желает замутить какое мероприятие, флаг ему в руки, только при чём тут Трансмета? (Вы уже и ответили что ни при чём). Надеюсь, он научился на своих ошибках, хотя он-то и так и так в шоколаде.
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:December 5th, 2013 04:16 am (UTC)
(Link)
Заходить можно на http://transmeta.com/ Чего-то они там мутят.
(Reply) (Parent) (Thread)
[User Picture]
From:amigofriend
Date:December 5th, 2013 04:26 am (UTC)
(Link)
Айл би ба-ак, ога.
(Reply) (Parent) (Thread)
[User Picture]
From:sab123
Date:December 5th, 2013 02:40 am (UTC)
(Link)
Так она же вроде Интелу продалась со своими патентами, за что-то типа 200 лимонов. Уже после того, как перестала дышать (или может как раз в виде подготовки к этому событию перестала дышать).
(Reply) (Parent) (Thread)
[User Picture]
From:amigofriend
Date:December 5th, 2013 03:35 am (UTC)
(Link)
Она получила от Интела сеттлмент в 150 лимонов, а потом за почти те же самые 150 лимонов продалась крышующим частникам. Менеджмент наварился.
(Reply) (Parent) (Thread)
[User Picture]
From:amigofriend
Date:December 5th, 2013 12:31 am (UTC)
(Link)
Ни фига трансмета не существует, она в конце 2008-го продалась частникам со всеми пацентами, после получения сеттлмента он Интела.
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:December 5th, 2013 12:35 am (UTC)
(Link)
Ну я и говорю, что раз патентами пока торгуют, значит, "Трансмета умерла, но дело ее живет", прямо как тот дедушка.
(Reply) (Parent) (Thread)
[User Picture]
From:amigofriend
Date:December 5th, 2013 12:43 am (UTC)
(Link)
Они "на выходе из стелса". С вещами.
(Reply) (Parent) (Thread)
[User Picture]
From:amigofriend
Date:December 5th, 2013 12:35 am (UTC)
(Link)
Я понял - это секретные калевальцы нашли-таки волшебную мельницу Сампо!
(Reply) (Thread)
[User Picture]
From:spamsink
Date:December 5th, 2013 12:36 am (UTC)
(Link)
Это, скорее, в честь мысленной мельницы Бэббиджа. Вот кому надо петь "The Windmills of your Mind"!
(Reply) (Parent) (Thread)
[User Picture]
From:amigofriend
Date:December 5th, 2013 12:39 am (UTC)
(Link)
Бэббидж, сделай мне монтаж!
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:December 5th, 2013 01:11 am (UTC)
(Link)
Чарли, подержи мой паяльник!
(Reply) (Parent) (Thread)
[User Picture]
From:sab123
Date:December 5th, 2013 03:18 am (UTC)
(Link)
Непонятно, как оно что-то упрощает. В чем счастье от деления инструкций на две кучки? И как потом между этими кучками идет синхронизация?

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

Кстати, до зипования этих линейных кусков, которое мы недавно пережевывали, они еще не дошли?
(Reply) (Thread)
[User Picture]
From:spamsink
Date:December 5th, 2013 03:55 am (UTC)
(Link)
Когда большинство инструкций - фиксированного размера, и они не перемежаются ничем другим, можно сильно сэкономить на логике спекулятивного декодирования. Порядок выполнения обозначить тривиально: 1 бит на инструкцию "бери следующую из той же/другой кучки".
В идеале, конечно, нужно хранить собственно инструкции в одной кучке, а аргументы - в другой, но из слайдов мне так не показалось.

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

Зипование очень дорого при разборке, и соотношение цены и выигрыша быстро падает. Для практических применений достаточно отойти от байтовой границы: у них длина команды 17 бит.
(Reply) (Parent) (Thread)
[User Picture]
From:sab123
Date:December 5th, 2013 04:05 am (UTC)
(Link)
Так ить фокус в том, что на каждый линейный кусок будет все равно не более одного выполняемого условного перехода. То есть, результат точно такой же.

И непонятно, в чем экономия на спекулятивном декодировании. Так или иначе, декодировать или надо или не надо. Деление на две кучки только ухудшает локальность кэша инструкций, а заодно и затрудняет определение того, до какой точки надо декодировать (этих точек делается две, и найти точку для каждой стороны можно только просмотрев переключательные биты у всех предыдущих инструкций с обоих сторон).

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

Edited at 2013-12-05 04:08 am (UTC)
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:December 5th, 2013 04:15 am (UTC)
(Link)
Так ить фокус в том, что на каждый линейный кусок будет все равно не более одного выполняемого условного перехода. То есть, результат точно такой же.

Допустим, у нас есть линейный участок, из которого 8 выходов. В традиционной модели нам нужно поддерживать 8 независимых предсказателей, и некоторые комбинации предсказаний не будут иметь смысла (например, если предсказания исполненных переходов больше 1), т.е. модель явно избыточна. Если же предсказывать ожидаемый выход, то в ответе будет всего 3 бита, и они всегда будут иметь смысл.

Пересказывать 5 раз по 50-70 слайдов я сейчас не могу.
(Reply) (Parent) (Thread)
[User Picture]
From:sab123
Date:December 5th, 2013 04:26 am (UTC)
(Link)
Гм, логично.
(Reply) (Parent) (Thread)
[User Picture]
From:potan
Date:December 5th, 2013 03:21 am (UTC)
(Link)
Мультиклет напоминает.
(Reply) (Thread)
[User Picture]
From:spamsink
Date:December 5th, 2013 03:57 am (UTC)
(Link)
Вряд ли. Mill позиционируется как процессор общего назначения.
(Reply) (Parent) (Thread)