Многим технология Hyper-Threading запомнилась, как технология созданная компанией INTEL. Хотя истории создания самой технологии я не нашел, нашлась небольшая подсказка, ведущая к другой, более мелкой компании. И здесь я решил разобраться.



Введение


Как мы помним технология Hyper-threading(далее HT), принадлежит Интел, и используется в широком спектре процессоров, допустим она использовалась в процессорах Pentium 4, Core i3/i5/i7, а также в линейке серверных процессорах. Википедия говорит про данную технологию «технология, разработанная компанией Intel для процессоров на микроархитектуре NetBurst», а также английская википедия отсылается к Intel, говоря расплывчато.

Как многие помнят, HT это «программный комплекс»(информация взята с форума в 201х году, к сожалению ссылка утеряна прим. авт.). Хотя он реализован в железе, о истории создания этой технологии практически ничего не известно. И тут стоит разобраться.

Начало поиска


Итак, благодаря сервису Google, я могу искать патенты не напрягаясь. И первым мы вписываем HT, результат удивляет, а именно:



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

Поиск информации


И логично обратится к истории создания HT, но тут тоже фиаско, все ведет к Интелу, никаких догадок. И наконец я ввел в гугле «hyper threading patent» и выдало несколько статей:



Из этих результатов меня заинтересовал третий. Я решил сделать его перевод в вольном стиле:

«Еще в 1999 году AMD подала заявку на патент, который дает им право выпустить процессор с технологией Hyper-Threading. Название технологии имело иное наименование, но это дает полное понимание технологии: „Microprocessor configured to execute multiple threads including interrupt service routines“ (Конфигурация процессора для выполнения нескольких потоков, включающее прерывание). Патент, как несложно догадаться, описывает как процессор может выполнять несколько потоков одновременно.

В рамках этого патента мы могли-бы увидеть технологию Hyper-Threading в процессорах Athlon, ожидающихся в 2003 году. В ином случае AMD может не выдержать конкурентной борьбы с INTEL.»


Меня заинтересовала эта новость. А именно технология указанная в этой статье.

Разрыв покрова


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



При клике на первый результат, как и сказано в новости, мы получаем дату патента со стороны АМД 1999 год, а технология заявлена в 1996 году.



А теперь пройдемся по истории покупок патента:



Меня заинтересовала лицензирование патента в 2002 году «Анонимным» игроком на рынке, немного загуглив, любой может выведать информацию о том, с какой технологией в тот месяц вышел процессор серии Pentium 4. И ему понравилось настолько, что он решил продлить патент еще на 8 лет, а потом на 12. Думаю выводы более менее очевидны.

Выводы


Ничего точно сказать я не могу, ибо мои знания английского не позволяют мне переводить этот патент, длинною в жизнь. Но данная статья заставила меня задуматься, о некоторых аспектах HT, допустим, что «изначальная» реализация данной технологии лежит на красном гиганте, а вот последующая, имеющая название «Hyper-threading», уже лежит на другой небезызвестной компании.

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

Комментарии (45)


  1. SergeyGrigorev
    28.09.2015 13:52
    +1

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


    1. baldr
      28.09.2015 14:43
      +9

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


      1. Revkov
        28.09.2015 18:56
        +18

        Жжение


      1. DrPass
        28.09.2015 23:16
        +3

        Учитывая особенности мира, в котором мы живем, намного вероятнее, что завтра кому-то приснится кубик с кнопками на боку, и после этого на следующие 10 лет для изготовления девайсов в форме кубика все будут должны платить этому товарищу лицензионные отчисления. Поэтому лично я обеими руками за запрет патентования идеи. На одного изобретателя, который в таком случае не станет миллиардером, зато подарит идею всему миру, приходится легион патентных троллей.


        1. baldr
          29.09.2015 00:01
          -6

          А здесь очень тонкая граница.
          Вот например: форма iPhone на самом деле — это прямоугольник со скругленными краями, но благодаря ей — телефон узнаваем сразу и с расстояния, это играет компании на руку, это узнаваемый бренд. С точки зрения компании это нормально, что она хочет его защитить. Потому что они вбухали дофига сил чтобы это стало узнаваемым брендом.

          Кто должен определять — можно это патентовать или нет?


          1. DrPass
            29.09.2015 09:26
            +3

            Дело в том, что количество «вбуханных сил и денег» не является критерием для определения, патентовать или нет. Есть понятие «промышленный образец» у нас, есть «design patent» у них, и с точки зрения здравого смысла под этим механизмом защиты должен быть прямоугольник со скругленными краями (sic!), но с серебристой металлической гранью, нижней и верхней поверхностью из черного стекла, и на верхней поверхности дисплей и внизу посередине черная кнопка. Вот такая штука, детально описывающая одно конкретное изделие, имеет право на существование. И только при наличии реально выпускаемого устройства.
            А то, что крупные корпорации вбухивают огромные средства на разработку дизайна — это вообще не показатель стоимости разработки дизайна. Это просто показатель размеров их бюджетов и общей раздутости рынка дизайнерских услуг.


            1. baldr
              29.09.2015 12:42

              Отчасти я с вами согласен, конечно — патентовать цифру «8» нельзя, это абсурд. И спецификация должна описывать более конкретное устройство — тоже согласен.
              Но я хотел донести мысль, что количество вложенных средств для компании является стимулом защищать свои усилия, чтобы эти средства приносили прибыль самой компании, а не всем вокруг.
              Никому не нужен был прямоугольник с идеально скругленными краями и не было вокруг него никакого фетиша раньше — 10 лет назад мимо девайса такой формы прошли бы все равнодушно.
              Но Apple вложила огромные деньги на рекламу и вбивание в мозги юзеров, что это очень крутостильно и теперь все считают что это вершина дизайна и даже холодильник такой формы будет продаваться гораздо лучше.
              Но почему компания должна делать косвенную рекламу чужому холодильнику за свои деньги (большие деньги!)?
              Вот это и является стимулом для нее патентовать форму.
              Я совершенно не оправдываю патентных троллей — я также считаю что они тормозят прогресс и не дают развиваться. Но порой бывает трудно отличить их вот так просто.

              Я понимаю, что для потребителя эти аргументы могут быть не совсем близки, но вы попробуйте взглянуть на эту позицию как, например, директор корпорации?


              1. DrPass
                29.09.2015 14:40

                Я с вами полностью согласен в том, что любая компания имеет право как-то защищать свои вложенные средства. Это их инвестиции, и все хотят получить доход от инвестиций. Но я считаю, что патентное законодательство не должно бездумно становиться на сторону патентодержателей (как действующих, так и потенциальных). Сейчас наблюдается явный перекос в этом направлении.
                Если сейчас убрать механизм патентования прямоугольников, точнее, параллелепипедов, :) что по факту потеряет Apple? Да по сути ничего. Точное копирование айфона по-прежнему будет незаконным, а параллелепипед от Самсунга или от китайского noname — это все равно другой продукт, с другим рекламным бюджетом, и по сути, с другой аудиторией. Если убрать механизм патентования абстрактных идей, вроде «методов печати через Интернет», то тем более, кроме патентных троллей, никто не пострадает. Наоборот, это будет стимулировать здравую конкуренцию между разработчиками практических реализаций, и инженерную, и дизайнерскую.


      1. laphroaig
        29.09.2015 11:42

        Я не специалист по технологиям дешевого термоядерного синтеза, возможно там все проще, но при попытке реализовать любую идею в жизнь, вы столкнетесь, как бы это сказать попроще — с реальностью (ну не возможно все предусмотреть на бумаге). И вот кто-то вбухивает сотни миллионов в этот проект, ученые проводят многолетние исследования, доработки и пр… И тут появляетесь вы со своим патентом. Угадайте, кто Вы?


        1. DrPass
          29.09.2015 12:31
          +3

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


        1. baldr
          29.09.2015 12:31

          То есть, даже если вы изобрели саму технологию, но не можете сам организовать ее реализацию — вы не можете претендовать ни на что? А тот, кто просто пришел и стукнул мешком с деньгами об пол — может вернуть себе еще три мешка? Я правильно вас понял?


          1. khim
            29.09.2015 22:23

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

            А тот, кто просто пришел и стукнул мешком с деньгами об пол — может вернуть себе еще три мешка?
            Мешок сам по себе вряд ли заставит какую-либо идею работать, а так — да, если на деньги из этого мешка было уплочено, скажем, сотне учёных, чтобы они корпели код и заставили-таки аппарат «взлететь» — то вот за это вот и выдаётся патент, чтобы потом можно было получить три мешка. Ну а «не взлетело», значит «не взлетело» — мешок денег просрали и ладно.


            1. baldr
              29.09.2015 22:35

              Извините, но я вам не верю. Мне кажется что вы теоретизируете, но если бы сами попали в ситуацию, когда на вашем изобретении кто-то сделал состояние — тоже захотели бы себе долю.


              1. khim
                30.09.2015 00:21

                Извините, но я вам не верю.
                Что значит «не верю»? Вы можете с тем же успехом «не верить» в восход солнца или во вращение Земли. Это просто требование, это не то, что нужно (или можно) обсуждать. Reduction to practice просто утверждает, что «правильный патент» может достаться только тому, чьё изобретение реально работает. Если заявку на патент на одно и то же изобретение подаст сначала Вася, а через месяц — Петя, то у Пети — вполне есть шанс получить патент, если он докажет, что в момент подачи Петиной заявки у Васи ещё ничего не работало. Васю похлопают по плечи и скажут «молодец, конечно, да… но „почти работает“ — не считается». А до 1870го года патент вообще нельзя было получить не предъявив действующую модель патентному ведомству! То есть нужно было не просто чтобы изобретение работало «где-то там у меня в подвале», а чтобы патентные экзаминаторы могли сами лично убедиться в том, что ваше изобретение действительно работает!

                Конечно кое-кому это было невыгодно и после долгих баталий эту систему таки отменили — но произошло это не «когда-то давным-давно», а, я извиняюсь, уже в XXI веке. Это отнюдь не значит, что «всё стало хорошо» — наоборот, это уже агония.
                Мне кажется что вы теоретизируете, но если бы сами попали в ситуацию, когда на вашем изобретении кто-то сделал состояние — тоже захотели бы себе долю.
                Фиг его знает, возможно. Но мои хотелки к делу отношения не имеют. Правда заключатеся в том, что если
                вдруг завтра вам приснится технология дешевого термоядерного синтеза, причем во всех деталях, но реализовать ее можно будет только лет через 10, скажем?
                то вы, увы и ах, не имеете права на патент.

                Патенты выдаются только и исключительно на работающие изобретения — и, если задуматься, иначе и быть не может. Потому как в противном случаи патенты почти на все «серьёзные» изобретения принадлежали бы Голливуду. В фильмах какие только вещи, которые «можно будет только лет через 10» реализовать не показаны. Но, увы, все знают, что то, что там показано — это фикция, бутафория, ингра света и тьмы, так что на на патенты пока Голливуд не зарится.


                1. baldr
                  30.09.2015 00:27

                  Вы меня не поняли :)
                  Я имел в виду что не верю что вы на самом деле считаете что патенты не нужны для того, чтобы защитить идею.


                  1. khim
                    30.09.2015 13:14

                    Я на самом деле считаю, что патенты не нужны вообще. Несмотря на то, что сам вхожу в список людей, которые фигурируют среди авторов патентов.

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

                    Сейчас же всё перевёрнуто с ног на голову: никто и никогда не смотрит в ту груду бумаги, которую порождает патентное ведомство. Кроме юристов. Которые пытаются превратить новые разработки в набор патентов и/или пытаются придумать как можно с кого-нибудь слупить денег за патенты и/или пытаются придумать как избежать того или иного патента. Избежать этой деятельности нельзя: если ты не будешь оформлять патенты, то тебе нечем будет «отбиваться» от остальных и ты быстро окажешься в состоянии, когда тебе нужно всем платить за всякую откровенную фигню, но к реальному выпуску реальных изделий всё это не имеет ни малейшего отношения.

                    Возможно в каких-то других областях (химия, фармацевтика) патенты и работают, я не знаю (не специалист), но в разработке ПО и во многих случаях в разработке железа — это кормушка для адвокатов и всё.


                    1. baldr
                      30.09.2015 13:28

                      Ок, я вас понял, спасибо за объяснение.
                      Я совершенно согласен, что в такой реализации это все ужасно мешает, отвлекает и раздражает.
                      Тем не менее, идея патентов мне кажется достаточно справедливой в части защиты авторского права.
                      Но давайте не будем спорить, я не обладаю достаточными аргументами, а вам, кажется, эта тема слишком близка.

                      Вообще с подобной бюрократией везде проблемы. Например те же суды, особенно прецедентная система… Та же кормушка и очень скользкое место…


                      1. khim
                        30.09.2015 15:14
                        +2

                        Дьявол, как известно, в деталях. А тем, кто рассуждает о патентах неплохо было бы вспомнить с чего всё начиналось.

                        Краткий пересказ (если вы вдруг не знаете английского): современная патентная система началась не с того, что патенты ввели, а с того, что их отменили. До XVII-XVIII веков патенты раздавались королями кому попало и за бог знает что: владельцы исправно платили королю, а взамен получали монополию на ту или иную область деятельности. Что фактически привело к заморозке развития всего общества. После того как патенты отменили и оставили только потенты на новые, действующие, изобретения началась Индустриальная Революция — причём лидером была как раз страна, которая первой обуздала патенты.

                        «После того», конечно, не значит «вследствие того», но с тех пор наблюдается странная тенденция: по «непонятной науке причине» страны, которые озабачиваются «патентной защитой» через некоторое время оказываются в жопе, а производство убегает от них в страны, где «патентная защита» не действует (вначале из Англии и Франции — в Германию, потом в США, сегодня — в Китай). И вот кажется, что это — не случайно.


    1. barabanus
      29.09.2015 00:44
      +1

      Я помню у нас был курс в университете по патентам, и я помню основную мысль с этого курса, что идеи не патентуются. Конкретная реализация — патентуется, но идея — нет. А также помню нам приводили примеры, когда у компании была золотая идея, она была запатентована в виде некоторой реализации, но обогатилась на этой идее совсем другая компания, которая запатентовала смежные формы реализации.


      1. Shablonarium
        29.09.2015 01:12
        +1

        Это по российским законам идеи не патентуются. В других странах все не так однозначно.


  1. TIgorA
    28.09.2015 14:51

    Больше похоже на аренду патента для готовой разработки. То что АМД сами не выпустили технологии, так это их личные проблемы.


  1. amarao
    28.09.2015 15:02

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

    Вроде бы, не взлетело.


    1. creker
      28.09.2015 16:56
      +1

      Бульдозер сильно другой. SMT подразумевает, что логические ядра делят между собой только состояние потока, а вот кэши, очереди и сами ALU общие. Два потока команд долбятся в одно и тоже место, грубо говоря. У бульдозера помимо этого всего еще и кэши с ALU у модулей свои, а SIMD и FPU общие. Поэтому назвали модулями — они и не логические ядра, потому что ALU свои, и не полноценные ядра, потому что некоторые вещи общие.

      Сам подход похоже взлетел — на многопоточной нагрузке хорошо показывал себя после обновлений архитектуры. Проблема была в слабой однопоточной производительности, что и погубило эту архитектуру.


  1. MaksVasilev
    28.09.2015 15:46
    +4

    Насколько мне помнится, было достаточно развёрнутое коммюнике от AMD по итогам их сотрудничества с IBM. Именно последний обладал всем необходимым потенциалом и многолетним опытом работы по выпуску многоядерных процессоров (не многопроцессорных сборок в одной коробке, а несколько физических ядер на одном кристалле), а так же большой опыт по реализации CPU поддерживающих исполнение кода с разной разрядностью. Всё это у IBM уже работало с бородатых годов на процессорах серии Power в майнфреймах и обладало реальной многоядерностью и многоразрядностью. Благодаря взаимовыгодному сотрудничеству IBM поделилась частью своих наработок и помогла AMD выпустить первый многоядерный процессор и архитектуру x86_64 в полностью аппаратной поддержке 64 бит. У Intel на тот момент времени были только многопроцессорные упаковки в одной плате CPU, но без реальной многоядерности на одном кристалле, и полупрограммная эмуляция 64 бит в виде EM64T.

    Какое это отношение имеет к HT? Вот если я ничего не путаю, то AMD в тот момент как раз сосредоточилось на реальной многоядерности, оставив программную мультипоточность только как бумажное решение и не видя в нём никакой реальной технической перспективы. В то время как Intel очень крепко ухватился за эту технологию, которая не давала никакого существенно прироста производительности, но позволяла разработчикам ПО отладить многопоточность для того, что бы подготовиться к будущему физическому многоядерному процессору.


    1. 0xd34df00d
      28.09.2015 16:08

      А чем EM64T отличается от x86_64?

      Немножко расшифрую вопрос: отличия наверняка найдутся, но что там полупрограммного-эмуляционного?


      1. MaksVasilev
        28.09.2015 17:30
        +5

        Как минимум, все x86_64 команды, в самых первых CPU Intel транслировались в набор команд i686, включая адресацию памяти и дальше исполнялись обычным 32-х битным ядром. Постепенно, в каждом следующем поколении процессоров EM64T часть команд x86_64 реализовывалась на уровне ядра CPU. Так от поколения к поколению, постепенно в течении около 5-6 лет процессора intel получили полноценное 64 ядро.

        Мне посчасливилось на работе столкнуться с серверами архитектуры EM64T от самых первых моделей, до моделей вышедших в преддверии реальной 64-х битности и релиза процессоров Core. Для самых первых Xeon-ов EM64T, для установки 64 бит операционной системы, шёл большой пакет обновлений для биоса сервера и для ОС, где было по сути дела обновление микрокода CPU, что бы 64-х битная ОС могла запуститься и работать. В комплекте прилагался большой трактат про то, что изготовитель сервера снимает с себя всякую ответственность за 100% работоспособность сервера в режиме 64 бит, поскольку установлен процессор EM64T, а эта технология не является полностью 64-х битной и за всеми справками обращаться непосредственно в Intel, указав серийный номер CPU.

        После выхода процессоров Core у Intel, я не встречал, что бы они (intel) упоминали для новых CPU хоть где нибудь архитектуру EM64T. У самого Intel раньше в техрегламентах я встречал, что EM64T — это переходная технология, для последующего поколения CPU с 64 архитектурой.


        1. khim
          28.09.2015 17:43

          Как минимум, все x86_64 команды, в самых первых CPU Intel транслировались в набор команд i686, включая адресацию памяти и дальше исполнялись обычным 32-х битным ядром.

          Нифига подобного.

          Для самых первых Xeon-ов EM64T, для установки 64 бит операционной системы, шёл большой пакет обновлений для биоса сервера и для ОС, где было по сути дела обновление микрокода CPU, что бы 64-х битная ОС могла запуститься и работать.
          И? Да, работа в 64-битном режиме не была предусмотрена, когда материнку делали. И процессоры в этом режиме меньше тестировались. Ну и так и сейчас бывает, что нужно BIOS обновлять если вы хотите использовать процессор, которого не существовало в момент выхода BIOS'а.

          После выхода процессоров Core у Intel, я не встречал, что бы они (intel) упоминали для новых CPU хоть где нибудь архитектуру EM64T. У самого Intel раньше в техрегламентах я встречал, что EM64T — это переходная технология, для последующего поколения CPU с 64 архитектурой.
          Ага. А Windows 3.0 — это переходная технология для последующего поколения операционок на базе OS/2 (да-да, она именно так продавалась в своё время до «развода» между IBM и Microsoft'ом, хотя между API Windows 3.x и OS/2 2.x нет почти ничего общего ни на уровне архитектуры, ни на уровне API). Меньше маркетинговых материалов читайте, я вас умоляю.


          1. MaksVasilev
            28.09.2015 17:53
            +1

            Я вас таки умоляю, но Red Book с пошаговой инструкцией установки 64 бит ОС на EM64T и пакетом патчей для ядра ОС, вкладываемый непосредственно в сервер — это всё таки не маркетинговые материалы.


            1. khim
              28.09.2015 18:08

              Маркетинговые материалы там тоже есть :-) Они есть во всех документах, выпущенных «для внешнего пользователя». Но вообще… это всего лишь заплатки для новой, не до конца обкатанной, архитектуры. Чтобы взгромозить 64 битный андроид на какой-нибудь Nexus Player сегодня, сейчас вам тоже потребуется немаленькая пошаговая инструкция и «пакет патчей для ядра ОС». Обозначет ли это, что Z3560 — не обладает полноценной 64битной архитектурой? Нет — это обозначет всего лишь то, что 64-битный Android в настоящее время является экспериментальной разработкой, заточенной под другие платформы. А в 2004м году такой разработкой был 64-битный Windows.

              P.S. Я очень хорошо помню как мы купили (вернее нам подарили) сервер Dell Power Edge лет 15 назад под Linux и специалисты из Dell'а не могли его запустить под обычной Windows (чтобы продемонстрировать, что он вообще, в принципе, работает) не вскрывая «фирменный пакет» с «патченным ядром». По вашей логике это будет обозначать, что у Intel'а уже и 32-битная архитектуры эмулируется, да?


              1. MaksVasilev
                28.09.2015 18:40

                «А в 2004м году такой разработкой был 64-битный Windows.»

                Это было не в 2004, а возможно даже раньше. И да, там был Linux (и патчи шли для него) и ни о какой Windows в 64 бит и речи даже не шло. А для Windows у большинства производителей серверов был обычно свой кит, по модификации дистрибутива Windows и вшиванию в него необходимых драйверов и даже созданию готового установленного образа ОС под конкретную модель сервера без самой установки, что бы потом его просто склонировать на дисковый массив сервера, потому как «привычные методы установки» на брендовых серверах очень часто не работали. И это не зависело от разрядности.


                1. encyclopedist
                  28.09.2015 23:59
                  +1

                  Это не могло быть раньше, потому что первые процессоры с EM64T появились в 2004.


        1. Viacheslav01
          28.09.2015 18:42

          «включая адресацию памяти и дальше исполнялись обычным 32-х битным ядром»

          Что я ну совсем не понимаю, это как такое вообще можно сделать?


          1. MaksVasilev
            28.09.2015 18:59

            Я немного косноязычно выразился, но если вкратце, то в плане адресации памяти технология PAE на 32 бит архитектуре в Intel в принципе была некоторым предшественником, хотя она имела большие ограничения на варианты использования этой памяти самой ОС.


            1. khim
              28.09.2015 20:44

              Какое имеет отношение PAE к EM64T? Ну кроме использования некоторого количества общих блоком «в железе»? На входе в PAE те же самые обычные регистры, все операции 64-битные, только в MMU есть что-то побольше. Да, там постепенно шло развитие: PAE, PSE, PML4, но в обсуждаемых процессорах там уже было всё это.


    1. khim
      28.09.2015 17:36
      +9

      В принципе всё верно, но дьявол, как всегда, в деталях. Не надо рассказывать сказок про «архитектуру x86_64 в полностью аппаратной поддержке 64 бит» и «полупрограммная эмуляция 64 бит в виде EM64T» а? С точки зрения арзитектуры x86_64 и EM64T не отличаются ничем вообще, просто Intel тщательно делает вид в своей документции, что компании AMD в природе не существует. А «полупрограммная эмуляция» — это уже совсем ни в какие ворота: люди «в теме» знали о том, что Intel «сдался» и добавил поддержку 64 бит в Prescott ещё в 2003м году потому что эту вашу «полупрограммную» реализацию (с расширенными регистрами, дополнительными устройствами в ALU и прочим!) люди увидели на фотограции пластины сделанной во время одной из презентаций Intel! Статья до сих пор лежит там же, где и лежала, можете взглянуть на оригинальную версию.

      А Intel «ухватился за эту технологию» потому что он ударился «в кукурузные мегагерцы». Когда у вас конвеер состоит трёх десятков стадий, то частенько оказывается, что процессор что-то куда-то не так предсказал и проставивает. Чтобы хоть как-то его занять Intel и ударился в HyperThreading. И на этих самых процессорах с гиперконвейеризацией выигрыш был весьма и весьма неплох. Ну а дальше — уже использовались обкатанные разработки по принципу «с паршивой овцы — хоть шерсти клок». Всё-таки какой-то выигрыш HyperThreading даёт и сейчас.

      А AMD было попросту не нужно в те времена ничего этого делать, так как гиперконвейеризацией в AMDшных процессорах и не пахло. Так что пришлось делать сразу два ядра — иначе Intel было не догнать.

      Так что нет, всё произошло не из-за каких-то глубоких планов, а просто потому что Intel полез со своим NetBurst'ом не туда, куда следовало…


      1. Viacheslav01
        28.09.2015 18:47

        HP сейчас дает вполне реальную прибавку в производительности, при «хорошем» коде распараллеливающем задачи.


        1. Frag
          29.09.2015 01:01
          +2

          HP

          В тред врывается Hewlett-Packard?


          1. Viacheslav01
            29.09.2015 13:49
            +1

            Это да, я отметился :)
            Hyper Packarding :)



      1. tsafin
        29.09.2015 01:02
        +2

        Добавлю свои пять копеек — да, Вы правы что EM64T есть Intel-овская реализация AMD64 расширения, и был впервые реализован в P4/Prescott вполне по-честному (т.е. и регистровый файл 64-разрядный, и 64-разрядные адреса в 48-разрядном логическом пространстве). Но и оригинальный автор тоже прав по поводу эмуляции. Частично.

        Главное отличие EM64T от AMD64 в поддержке набора инструкций VMX (VT-x1.x) для виртуализации вместо AMD-шной Pacifica. И VMX был со всех сторон проблемой: мало того что автоматическая трансляция страниц (EPT) там появился только к Nehalem (2 tock-а позже), так и в первоначальных реализациях VMX делался полностью на микрокоде. [Потому и простой VMENTRY/VMEXIT в Prescott занимал около тысячи тактов]

        Ну т.е. в P4/Prescott x64 (тогда называвшаяся EM64T) реализация вполне родная, 64-разрядная, но, да, там были большие куски микрокода, и нет, EM64T не идентичен AMD64.

        P.S.
        А выпустить реализацию AMD64 под своим именем EM64T Интелу позволяет кросс-лицензионное соглашение с AMD. Копировать instructions set могут в обе стороны (и Intel у AMD, что было в случае с AMD64 расширением, так и AMD у Intel, что было во всех остальных случаях, и последний случай с AVX)


  1. nE0
    28.09.2015 16:08
    +2

    Две ошибки в единственном предложении до ката, это уже перебор.


    1. CodARM
      29.09.2015 18:54

      Спасибо за заметку, исправил. Также исправил помарку в переводе новости.


  1. beeruser
    28.09.2015 16:11
    +15

    >> Многим технология Hyper-Threading запомнилась, как технология стозданая компанией INTEL

    Это маркетинговое название SMT
    Первыми её реализовали IBM http://people.cs.clemson.edu/~mark/acs_end.html

    In summer 1968, Ed Sussenguth investigated making the ACS-360 into a multithreaded design by adding a second instruction counter and a second set of registers to the simulator. Instructions were tagged with an additional «red/blue» bit to designate the instruction stream and register set; and, as was expected, the utilization of the functional units increased since more independent instructions were available.

    IBM patents and disclosures on multithreading include:

    US Patent 3,728,692, J.W. Fennel, Jr., Instruction selection in a two-program counter instruction unit, filed August 1971, and issued April 1973.
    US Patent 3,771,138, J.O. Celtruda, et al., Apparatus and method for serializing instructions from two independent instruction streams, filed August 1971, and issued November 1973. Note: John Earle is one of the inventors listed on the '138.
    «Multiple instruction stream uniprocessor,» IBM Technical Disclosure Bulletin, January 1976, 2pp. [for S/370]


  1. Kemet
    29.09.2015 10:14

    1. Kemet
      29.09.2015 13:53

      Вот он на этой странице Donald F. Hooper, Shrewsbury, MA US

      REGISTER SET USED IN MULTITHREADED PARALLEL PROCESSOR ARCHITECTURE — A parallel hardware-based multithreaded processor is described. The processor includes a general purpose processor that coordinates system functions and a plurality of microengines that support multiple hardware threads or contexts. The processor maintains execution threads. The execution threads access a register set organized into a plurality of relatively addressable windows of registers that are relatively addressable per thread.