Vortex86 — это вычислительная система на кристалле (SoC), основанная на ядре, совместимом с семейством микропроцессоров x86 . Он производится компанией DM&P Electronics, но создан компанией Rise Technology .
Vortex86 ранее принадлежал компании SiS , которой досталась базовая конструкция от Rise Technology . [1] SiS продала его компании DM&P Electronics [2] на Тайване .
Прежде чем принять на вооружение серию Vortex86, DM&P выпустила M6117D , совместимую с Intel 386SX SoC с частотой 25–40 МГц. [3] [4]
Процессоры Vortex86 реализуют архитектуру IA-32 , но набор реализуемых инструкций зависит от модели. Vortex86SX [5] и ранние версии Vortex86 [ нужна ссылка ] не имеют модуля с плавающей запятой (FPU). Любой код, который работает на i586, но не использует инструкции с плавающей запятой, будет работать на этих моделях. Любой код i586 будет работать на Vortex86DX и более поздних версиях. Некоторые ядра Linux (в соответствии с опцией времени сборки) эмулируют FPU на любом процессоре, у которого его нет, поэтому программа, использующая инструкции с плавающей запятой уровня i586, будет работать на любом процессоре семейства Vortex86 под таким ядром, хотя и медленнее на модели. без ФПУ. Более продвинутые модели имеют FPU с инструкциями уровня i686 , например FUCOMI .
Код, предназначенный для i686, может привести к сбою на некоторых моделях, поскольку в них отсутствует инструкция условного перемещения (CMOV) . Компиляторы, которых просили оптимизировать код для более продвинутого процессора (например, компилятор GNU с опцией -march=i686 ), генерируют код, использующий CMOV. Системы Linux, предназначенные для работы на i686, обычно несовместимы с этими моделями Vortex86, поскольку библиотека GNU C, созданная для i686, использует инструкцию CMOV в своей функции strcmp языка ассемблера, которую использует ее динамический загрузчик ( ld.so ). Следовательно, ни одна программа, использующая общие библиотеки, не может выполняться.
Ниже приведены свойства исходного процессора Vortex86, о которых сообщил инструмент ядра Linux ./proc/cpuinfo
Обратите внимание, что этот процессор является более поздней версией с FPU.
процессор: 0vendor_id : SiS SiS SiSсемейство процессоров: 5модель : 0название модели: 05/00шаг: 5процессор МГц: 199,978fdiv_bug: нетhlt_bug: нетf00f_bug: неткома_баг: нетФПУ: даfpu_Exception: дауровень процессора: 1ВП: дафлаги: fpu tsc cx8 mmx upбогомипс : 399,95размер clflush: 32кэш_выравнивание: 32размеры адресов: 32 бита физические, 32 бита виртуальные.управление энергопотреблением:
DM&P поддерживала встроенный дистрибутив Linux , настроенный для использования функций SoC . [6] Другие операционные системы могут работать в зависимости от модели SoC, включая различные системы RTOS , такие как QNX и VxWorks , дистрибутивы Linux, [7] FreeBSD [8] или различные версии систем Microsoft Windows , такие как Windows Embedded Compact или Windows IoT . [9]
Возможность идентификации процессоров Vortex86 была добавлена в Linux 5.16 [10] , выпущенную в январе 2022 года.
Vortex86 (M6127D) представляет собой однокристальную систему (SoC) SiS 551 под новым брендом. [11] Ядро ЦП получено из Rise mP6 , который имеет три целочисленных и MMX- конвейера и функцию прогнозирования ветвей . [12]
Представленный в феврале 2007 года [13] Vortex86SX представляет собой x86-совместимую систему на кристалле (SoC) со встроенными северным и южным мостами, изготовленную по 0,13-микронной технологии, в корпусе BGA размером 27x27 мм с 581 шариком . [14] [15]
Ядро ЦП обычно работает на частоте 300 МГц и совместимо с набором инструкций 486SX . Он имеет шестиэтапный конвейер с прямой записью 16 КБ данных + 16 КБ инструкций кэша L1 , но, в отличие от Vortex86, ему не хватает кэша L2 и FPU . Контроллер памяти обеспечивает 16-битный доступ к SDRAM объемом до 128 МБ на частоте 133 МГц и DDR2 до 256 МБ на частоте 166 МГц.
SoC включает в себя
В отличие от оригинального Vortex86, он не имеет встроенных видео- или аудиоконтроллеров.
Представленный в августе 2008 года [16] Vortex86DX сохраняет тот же корпус BGA, что и SX, и совместим по выводам. [17] Он построен по 90-нм техпроцессу. [18] [19]
Ядро ЦП работает на частоте от 600 МГц до 1 ГГц (2,02 Вт при 800 МГц [20] ) и является улучшением по сравнению с SX за счет 4-стороннего кэша L1 объемом 16 КБ данных + 16 КБ инструкций, а также 4-стороннего кэша L2 объемом 256 КБ. , в режиме сквозной или обратной записи, а также FPU . Контроллер памяти исключает возможность использования SDRAM, но увеличивает объем и скорость памяти DDR2, которую он может управлять, до 1 ГБ и 333 МГц.
SoC добавляет возможность работать в качестве клиента USB 1.1 на 1 порту и увеличивает емкость встроенной флэш-памяти до 2 МБ.
PDX -600 — это версия Vortex86DX , которая отличается только количеством портов RS-232 (три вместо пяти) и не имеет I²C и сервоконтроллеров , что ориентировано скорее на встраиваемый , чем на промышленный рынок. Этот чип используется в нетбуках , подобных Belco 450R . [21]
В Vortex86MX используется более крупный BGA-корпус размером 31x31 мм с 720 шариками, все еще изготовленный по 90-нм техпроцессу. [22] Ядро ЦП совершенствует DX за счет добавления прогнозирования ветвей, оптимизации доступа к кэшу [23] и инструкций MMX . [24] [25] [26] Контроллер памяти может управлять до 1 ГБ памяти DDR2 на частоте 400 МГц.
В SoC отсутствует подключение к шине ISA, но добавлен VGA- совместимый 2D-графический процессор с отдельной памятью DDR2 и контроллер HD Audio . Он имеет только три порта FIFO UART со скоростью до 460,8 Кбит/с.
Версия потребительского уровня известна как PMX-1000 . [27] Текущие модели Gecko Edubook используют Xcore86, переименованную версию Vortex86MX. [27]
Представленный в июне 2010 года, Vortex86MX+ сохраняет тот же корпус BGA и ядро ЦП, что и MX. [28] Контроллер памяти обеспечивает более широкий 32-битный доступ к DDR2 до 1 ГБ, по-прежнему на частоте 400 МГц. Встроенный графический процессор переключается на UMA , устраняя необходимость в отдельной видеопамяти. Три порта FIFO UART могут работать со скоростью передачи данных до 115,2 кбит/с.
Представленный в мае 2012 года, Vortex86DX2 сохраняет тот же корпус BGA, ядро ЦП и графический процессор, что и MX+. Контроллер памяти обеспечивает 32-битный доступ к DDR2 объемом до 2 ГБ на частоте 400 МГц. [29]
SoC отказывается от традиционных возможностей PCI и добавляет
Vortex86EX имеет 32 КБ записи через двусторонний кеш L1, 128 КБ сквозной записи/обратной записи 2-стороннего кэша L2, интерфейс шины PCI-e, 300 МГц DDR3, контроллер ПЗУ, IPC (внутренние периферийные контроллеры с DMA и таймером/счетчиком прерываний в комплекте). ), Fast Ethernet, FIFO UART, хост USB2.0 и контроллер ATA.
Корпус представляет собой одиночный 288-контактный TFBGA-корпус.
Vortex86DX3 оснащен двухъядерным процессором, совместимым с i686, с тактовой частотой 1,0 ГГц. [30] [31] Он имеет восьмиканальный I-кэш 32 КБ, восьмиканальный кэш данных 32 КБ, четырехканальный кэш L2 емкостью 512 КБ с политикой сквозной или обратной записи, возможность использования до 2 ГБ ОЗУ DDR3, интерфейс шины PCI-e, Ethernet 100 Мбит/с, FIFO UART, хост USB 2.0, встроенный графический процессор, контроллер ATA на основном канале и контроллер SATA 1,5 Гбит/с (один порт) на вторичном канале. Канал.
Корпус представляет собой единый 720-контактный BGA-корпус. [32]
Vortex86EX2 имеет два асимметричных ядра главного/ведомого процессора. [33] Главное ядро работает на частоте 600 МГц, имеет I-кэш объемом 16 КБ, D-кэш 16 КБ и четырехканальный кэш L2 емкостью 128 КБ с политикой сквозной или обратной записи. Подчиненное ядро работает на частоте 400 МГц и также имеет I-кэш объемом 16 КБ, D-кэш объемом 16 КБ, но не имеет кэша L2. Оба имеют встроенный FPU. Максимальный объем оперативной памяти DDR3 составляет 2 ГБ. Он также может использовать память ECC . Он производится по техпроцессу 65 нм [34] и использует корпус LFBGA-441 размером 19x19 мм.