Transmeta Crusoe — семейство x86 -совместимых микропроцессоров , разработанное Transmeta и представленное в 2000 году.
Вместо того, чтобы архитектура набора команд реализовывалась аппаратно или транслировалась специализированным оборудованием, Crusoe запускает уровень программной абстракции или виртуальную машину , известную как программное обеспечение Code Morphing (CMS). CMS переводит инструкции машинного кода , полученные от программ, в собственные инструкции для микропроцессора. Таким образом, Crusoe может эмулировать другие архитектуры набора команд (ISA). Это используется для того, чтобы микропроцессоры могли эмулировать набор инструкций Intel x86 .
Crusoe примечателен своим методом достижения совместимости с x86. Вместо того, чтобы архитектура набора команд реализовывалась аппаратно или транслировалась специализированным оборудованием, Crusoe запускает уровень программной абстракции или виртуальную машину , известную как программное обеспечение Code Morphing (CMS). CMS переводит инструкции машинного кода , полученные от программ, в собственные инструкции для микропроцессора. Таким образом, Crusoe может эмулировать другие архитектуры набора команд (ISA). Это используется для того, чтобы микропроцессоры могли эмулировать набор инструкций Intel x86 . Теоретически CMS можно модифицировать для эмуляции других ISA. Transmeta продемонстрировала Крузо выполнение байт-кода Java путем перевода байт-кодов в инструкции в собственном наборе команд. Добавление уровня абстракции между потоком команд x86 и аппаратным обеспечением означает, что аппаратную архитектуру можно изменить, не нарушая совместимости, просто модифицировав CMS. Например, Transmeta Efficeon — разработка Transmeta второго поколения — имеет 256-битное ядро VLIW по сравнению со 128-битным ядром Crusoe. Efficeon также поддерживает инструкции SSE.
Crusoe — это микропроцессор VLIW , выполняющий наборы инструкций, которые Transmeta назвала молекулами . Каждая молекула содержит несколько инструкций, называемых атомами . Программное обеспечение Code Morphing преобразует инструкции x86 в собственные инструкции. Собственные инструкции имеют длину 32 бита. Инструкции, соответствующие набору условий, могут выполняться одновременно и объединяться в 64- или 128-битную молекулу , содержащую два или четыре атома соответственно. Если инструкций недостаточно для заполнения молекулы, программа вставляет NOP в качестве заполнения для заполнения пустых слотов. Это требуется во всех архитектурах VLIW и критикуется за неэффективность, поэтому существуют молекулы двух разных длин.
Crusoe программно выполняет некоторые функции, традиционно реализуемые в аппаратном обеспечении (например, переупорядочение инструкций), что приводит к созданию более простого оборудования с меньшим количеством транзисторов . Относительная простота аппаратного обеспечения означает, что Crusoe потребляет меньше энергии (и, следовательно, выделяет меньше тепла), чем другие x86-совместимые микропроцессоры, работающие на той же частоте. Crusoe с частотой 700 МГц запускал программы x86 со скоростью процессора Pentium III x86 с частотой 500 МГц, [1] хотя процессор Crusoe был меньше и дешевле соответствующего процессора Intel. [1]
Первоначально Crusoe был доступен в двух формах: TM3120 (позже названный TM3200) для встраиваемых приложений и TM5400 для персональных компьютеров с низким энергопотреблением. [2] Оба были основаны на одной и той же архитектуре, но различались тактовой частотой и периферийной поддержкой. TM3120/TM3200 производились на частотах 333 (только TM3120), 366 и 400 МГц с использованием техпроцесса 220 нм. [3] [4] [5] Он имеет кэш L1 объемом 96 КБ (64 КБ инструкций и 32 КБ данных) и не имеет кэша L2. TM3120/TM3200 имеет встроенный контроллер памяти SDRAM и интерфейс PCI . Его площадь составляет 77 мм², используется источник питания 1,5 В, рассеивающий мощность менее 1,5 Вт (обычно). [3] [4] [5] TM5400 отличается от TM3120/TM3200 наличием 128 КБ кэша L1 (с добавлением 32 КБ кэша данных), а также добавлением поддержки памяти DDR, унифицированного кэша L2 объемом 256 КБ. и технология снижения энергопотребления LongRun, изготовленная по меньшему техпроцессу 180 нм. [3] [6] Его площадь составляет 73 мм², он использует источник питания 1,10 В (f = 25 %) и 1,6 В (f = 100 %), рассеивая обычно 0,5–1,5 Вт и максимум 6 Вт. [3] [ 6] Позже TM5600 был представлен как предложение более высокого класса по сравнению с TM5400 с двойным кэшем L2 (512 КБ против 256 КБ). [6] [7] [8] И TM5400, и TM5600 работали на тактовой частоте 500–700 МГц. [9]
TM5500/TM5800 представляют собой уменьшенные версии TM5400/5600, созданные по 130-нм техпроцессу TSMC с тактовой частотой 667–1000 МГц. [10] [11] [12] Встроенные версии, рассчитанные на 10 лет непрерывного использования, продавались как Crusoe SE (для Special Embedded) TM55E/TM58E соответственно с тактовой частотой 667–993 МГц. [13]
В TM5700/TM5900 исключена поддержка SDRAM для встроенного контроллера памяти, и теперь он поставляется в 399-контактном корпусе FC-OBGA на 54% меньшего размера, а не в керамическом корпусе 479 BGA, который использовался ранее. [9] [12] [14] Тактовая частота остается прежней: 667–1000 МГц [15]
Transmeta была полупроводниковой компанией без собственных мощностей, не имеющей мощностей для изготовления своих разработок. Вместо этого оба процессора были изготовлены IBM Microelectronics , полупроводниковым подразделением International Business Machines (IBM). IBM изготовила Crusoe по технологии КМОП 0,18 мкм с пятью уровнями медных межсоединений .
Процессор Crusoe поддерживает MMX , но не SSE . [16] По состоянию на 2022 год большинству браузеров в Windows и Linux, а также некоторым другим программам потребуется поддержка SSE или SSE2 ; [17] поэтому это программное обеспечение больше не будет работать на платформе Crusoe. Например, Firefox прекратил поддержку систем без SSE2 в 2017 году [18] , хотя K-Meleon мог работать без SSE в Windows XP. В процессоре Efficeon добавлена поддержка SSE и SSE2. [19]
Хотя модуль FPU/мультимедиа может обрабатывать те же типы данных, что и инструкции Intel MMX, чипы Crusoe не имеют новых 128-битных регистров, определенных Intel SSE (Streaming SIMD Extensions).
Transmeta утверждает, что Crusoe может эмулировать инструкции и регистры типа SSE, но в настоящее время у SSE недостаточно программной поддержки, чтобы оправдать эти усилия.