AMD Geode

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 09:20, 16 июня 2016.
logo amd geode

Geode является серией x86-совместимых system-on-a-chip микропроцессоров (размещённых на единственной интегральной схеме) и сопроводительных устройств ввода/вывода, созданная AMD и нацеленная на рынок встроенных устройств.

Серия изначально была создана компанией National Semiconductor как семейство Geode в 1999. Исходное ядро процессора Geode было получено от платформы Cyrix MediaGX. AMD приобрело Geode у National Semiconductor в августе 2003, чтобы расширить свою линию x86 процессоров. AMD расширил серию Geode до двух классов процессоров: MediaGX-производный Geode GX и LX, а также современный Athlon-производный Geode NX.

В 2002 AMD представила Geode GX, который был ребрэндингом National Semiconductor GX2. За ним последовал Geode LX, работающий на частоте до 667 MHz. LX содержал много исправлений, таких как более быстрая DDR, заново спроектированная шина команд, а также более мощный контроллер дисплея. Обновление CS5535 I/O до CS5536 предоставило более высокую скорость USB.

Geode GX и LX процессоры в основном используются в таких устройствах, как тонкие клиенты и промышленные системы контроля. Однако они попали под конкурентное давление VIA по линии x86.

Из-за относительно низкой производительности архитектуры ядра GX и LX AMD представила Geode NX, встраиваемую версию более успешного процессора Athlon, K7. Geode NX использует ядро Thoroughbred и очень похож на Athlon XP-M, который использует жто же ядро. Geode NX имеет 256KB кэш второго уровня и работает без вентиляторов на частоте до 1 GHz в версии NX1500@6W. Модель NX2001 работает на частоте 1.8 GHz, NX1750 – на 1.4 GHz, NX1250 – на 667 MHz. Geode NX с мощным математическим сопроцессором (FPU – floating point unit) хорошо подходит для встроенных устройств с требованиями высокой производительности при обработке графики, таких, например, как игровые автоматы. Однако сообщается, что специализированная команда разработчиков процессоров Geode в Longmont, Colorado закрыта, а 75 работников переведены в новый центр по разработке в Fort Collins, Colorado, поэтому ожидается, что линия процессоров Geode станет обновляться менее часто.

Особенности Geode GX и LX

lx процессор (диаграмма внутренних блоков)
lx процессор (изображение элемента для схем)
  • Низкое энергопотребление.
  • Полная x86 совместимость.
  • Функциональные блоки процессора:
    1. ядро ЦПУ
    2. процессор управления GeodeLink
    3. блоки интерфейса GeodeLink
    4. контроллер памяти GeodeLink
    5. графический процессор
    6. контроллер дисплея
    7. видео процессор
    8. входной видео порт
    9. PCI мост GeodeLink
    10. блок безопасности
      • 128-Bit (AES) - (CBC/ECB)
      • генератор случайных чисел
  • Спецификация:
    1. Частота процессора to 600 MHz (LX900), 500 MHz (LX800) and 433 MHz (LX700).
    2. Контроль питания: ACPI, режим низкого энергопотребления.
    3. 64K команда / 64K кэш данных первого уровня и 128K кэш данных второго уровня
    4. Разбиение команд/кэш данных/TLB.
    5. DDR паммять с частотой 400 MHz (LX 800), 333 MHz (LX 700)
    6. Интегрированные FPU с MMX и 3DNow!
    7. Поддержка CRT и TFT мониторов. Поддержка графических интерфейсов VESA 1.1 и 2.0 VIP/VDA.
    8. 481-терминальный PBGA (Plastic Ball grid array - массив шариков (тип корпуса))
    9. Управление питанием от GeodeLink
    10. Cовместимость с материнскими платами Socket 7



Особенности Geode NX

nx процессор (диаграмма внутренних блоков)
nx процессор (изображение элемента для схем)
  1. Ядро седьмого поколения (основано на Mobile Athlon XP-M).
  2. Управление питаниемt: AMD PowerNow!, ACPI 1.0b и ACPI 2.0.
  3. 128 KB кэш первого уровня.
  4. 256 KB кэш второго уровня с предзагрузкой данных
  5. 133 MHz передняя шина (Front side bus - FSB)
  6. 3DNow!, MMX и SSE
  7. Процесс производства с точностью 130 нм
  8. Совместимость по входам с семейством NX
  9. Поддержка ОС: Linux, Windows CE, MS Windows XP.
  10. Совместимость с материнскими платами Socket A


Обзор архитектуры (на примере Geode GX)

gx процессор (диаграмма внутренних блоков)
gx процессор (изображение элемента для схем)

Обзор архитектуры (на примере Geode GX) Geode GX можно разделить на основные функциональные блоки:

  • ядро ЦПУ (CPU Core)
  • GeodeLink™ процессор управления (GLCP)
  • GeodeLink блоки интерфейса (GLIU0, GLIU1)
  • GeodeLink контроллер памяти (GLMC)
  • графический процессор (GP)
  • контроллер дисплея (DC)
  • видеопроцессор (VP)
  • TFT контроллер
  • GeodeLink PCI мост (GLPCI)
  • Geode интерфейс сопутствующих устройств ввода/вывода (GIO)

Замечание: Geode GX процессоры не совместимы по разъемам с процессором GX1.

Ядро ЦПУ

x86 ядро состоит из блока обработки целых чисел (Integer Unit), блока управления памятью (Memory Management Unit), кэша (Cache), подсистемы буферов ассоциативной трансляции (Translation lookaside buffer - TLB Subsystem), блока контроллера шины (Bus Controller Unit), и x87 совместимого блока вычислений с плавающей точкой (Floating Point Unit – FPU). Блок обработки целых чисел состоит из линии (конвейера) команд и сопутствующей логики. Кэш и подсистема TLB содержат кэши команд и данных, буферы ассоциативной трансляции (TLBs), а также интерфейс к блокам интерфейсов GeodeLink (GeodeLink Interface Units – GLIUs). Набор команд, поддерживаемый ядром, является комбинацией команд, специфичных для микропроцессоров Intel’s Pentium, AMD-K6 и для процессоров Athlon FPU, AMD Geode Castle. Точнее, поддерживаются технологии Pentium, Pentium Pro, 3DNow! для процессоров AMD-K6 и Athlon, а также команд MMX (Multimedia Extensions instructions — команды для мультимедийных расширений) для процессора Athlon. Ядро поддерживает подмножество специализированных команд процессора Geode Castle включая команды SMM (System Management Mode instructions – команды режима системного управления).

Блок обработки целых чисел

Блок обработки целых чисел состоит из однонаправленной 8-ступенчатой линии (конвейера) и всего необходимого аппаратного обеспечения, обеспечивающего эффективную работу линии. Линия обработки команд включает восемь ступеней:

  1. Предварительный выбор команды – команда извлекается из кэша команд
  2. Предварительное декодирование команды – Префиксные байты извлекаются из данных инструкции. Происходит декодирование требуемых данных следующей и при условии возникновения ступора линии («конвейерного пузыря»), произойдёт разрешение ситуации.
  3. Декодирование команды – Производится полное декодирование данных команды. Длина команды передается блоку предварительного выбора, позволяя ему пропустить нужное число байт до начала следующей команды.
  4. Очередь команд – FIFO, содержащая декодированные x86 команды. Позволяет декодировать команды, даже если линия застопорена. Чтение из регистров для вычисления адресов операндов производится на этой стадии.
  5. Вычисления адреса #1 – Вычисляется линейный адрес данных операнда (если требуется) выдаются запросы к кэшу данных в памяти (Data Memory Cache). Микрокод может быть изъят из линии и заменён однотактовой командой, если многотактовым командам требуются дополнительные данные операндов.
  6. Вычисления адреса #2 – Данные операнда (если необходимо) возвращаются и посылаются на блок выполнения с удаленными «пузырями», при условии, что произошло попадание в кэш. Проверяется проверка адреса операнда на попадание в границы сегмента. МикроПЗУ считывается для установки блока выполнения.
  7. Блок выполнения – Данные, извлечённые из регистровой памяти и/или памяти данных, подаются на АЛУ для выполнения арифметических или логических операций. МикроПЗУ всегда срабатывает для первого поля команды на линии. По микрокоду можно снимать с линии и вставлять дополнительные поля, если команда требует несколько стадий работы блока выполнения.
  8. Запись – результаты предыдущего шага записываются в регистр или в память для данных.

Блок управления памятью

Блок управления памятью (MMU) переводит линейный адрес, предоставленный блоком обработки целых чисел, в физический, который может быть использован кэшем, TLB подсистемой, блоком контроллера шины. Процедуры по управлению памятью являются x86-совместимыми (придерживаются стандартного разбиения на страницы). MMU также содержит блок загрузки/хранения, который отвечает за планирование кэширования и внешний доступ к памяти. Блок загрузки/хранения имеет две особенности, повышающие быстродействие:

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

Кэш и TLB подсистема

Кэш и TLB подсистема ядра ЦПУ обеспечивает целочисленную линию (конвейер) с командами, данными и транслированными адресами (когда необходимо).TLB выполняет необходимую трансляцию адресов в защищенном режиме. Для данных есть 16 KB 4-канальный множественно-ассоциативный кэш с обратной записью и 8-канальный множественно-ассоциативный TLB. Когда происходит промах по инструкциям или данным в TLB, унифицированный (для инструкций и данных) 64-входной 2-канальный множественно ассоциативный TLB для доступа к которому требуется дополнительный такт. Когда происходит промах по команде или данным в кэше или TLB, необходим GeodeLink контроллер памяти (GLMC) для обработки. Наличие как кэшей инструкций и данных, так и их TLB повышает общую эффективность блока обработки целых чисел.

Блок контроллера шины

Блок контроллера шины предоставляет мост от процессора Geode GX к GeodeLink блоку интерфейса. Когда требуется доступ к внешней памяти из-за промаха кэша, физический адрес передается блоку контроллера шины.

Блок вычислений с плавающей точкой

Блок вычислений с плавающей точкой (FPU) конвейерный арифметический блок, который производит операции с плавающей точкой согласно стандарту IEEE 754. Наборы команд поддерживаются x87, MMX и технологией 3DNow!. FPU является конвейерным блоком с динамическим упорядочением инструкций для минимизации простоев из-за зависимостей в данных. Он создан таким образом, чтобы удовлетворять требованию по выполнению одной операции за такт от ядра целочисленного блока. Операционный автомат оптимизирован для вычислений с одинарной точностью. Повышенная точность требует дополнительных проходов по линии. Присутствуют линии хранения и линии загрузки/выполнения, что позволяет выполнять операции параллельно с арифметическими командами.

GeodeLink процессор управления

Процессор управления GeodeLink (GLCP) отвечает за сброс блоков управления, управление тактированием, поддержку по отладке, предоставляемую процессором Geode GX. Он содержит интерфейс JTAG и сканирует цепочку логики управления. Он поддерживает сброс чипов, включая управление PLL, питанием, глобальным тактированием. Поддержка JTAG включает Tap контроллер, совместимый с IEEE 1149.1. Контроль за ЦПУ может быть получен через JTAG интерфейс в TAP контроллере. Можно также получить доступ ко всем регистрам, включая регистры ядра. Возможности по внутренней эмуляции с целью отладки (In-circuit emulation ICE) через JTAG и TAP контроллер.

GeodeLink блоки интерфейса

Вместе два блока интерфейса GeodeLink (GLIU0 и GLIU1) составляют внутреннюю шину, в которой GLIU0 соединяет шесть высокоскоростных модулей, а также имеет седьмую связь с GLIU1, который соединяет три более медленных модуля.

GeodeLink контроллер памяти

Контроллер памяти GeodeLink (GLMC) является источником памяти для всевозможных целей в типичной системе, основанной на процессоре Geode GX. GLMC поддерживает шину данных памяти шириной 64 бита. GLMC работает с памятью до 1 GB: 111 MHz 222 MT/S для DDR (Double Data Rate)

Модули, которым нужна память: ядро ЦПУ, графический процессор, контроллер дисплея, TFT контроллер. Так как GLMC удовлетворяет потребность в памяти как у ядра ЦПУ, так и у системы отображения GLMC иногда называют UMA (Unified Memory Architecture – унифицированной архитектурой памяти).

Осуществляется поддержка SDRAM (до 256 MB на каждом слоте, всего 4 слота). Может быть использовано от одного до двух DIMM или SODIMM модулей.

Графический процессор

Графический процессор совместим с используемым в процессоре GX1, однако добавлены доболнителные функции, чтобы повысить производительность и упростить использование. Как и у его предшественника, у Geode GX графический процессор основан на механизме BitBLT/vector, который поддерживает генерацию шаблона , расширение источника, прозрачность шаблона/источника, 256 тернарных растровых операций. Дополнительные особенности включают:

  • 32-битный операционный автомат, который поддерживает 32-битный ARGB цвет.
  • Встроенные BLT FIFO, заменяющие основанные на кэшах BLT буферы, используемые процессором GX1.
  • Улучшенные протоколы шины для повышения пропускной способности к контроллеру памяти.

Контроллер дисплея

Контроллер дисплея выполняет следующие функции: 1) Извлекает графические, видео и покрывающие потоки из буфера фреймов. 2) Сериализует потоки. 3) Производит все необходимые цветовые коррекции и выходное форматирование. 4) Предоставляет интерфейс для фильтра дисплея. Контроллер дисплея состоит GUI (Graphical User Interface – графический интерфейс пользователя) и VGA. GUI к функции контроллера дисплея, а VGA предоставляет аппаратную совместимость с графическим стандартом VGA. GUI и VGA единственную очередь к дисплею FIFO, а дисплей производит обновления через интерфейс памяти у контроллера памяти GeodeLink (GLMC). VGA передает 8-битные пиксели и синхронизируется с GUI, который расширяет пиксель до 24 bpp по таблице цветов и передает информацию на виде процессор. Видео процессор постоянно генерирует цифровые RGB сигналы, а также буферизирует синхронные сигналы, которые затем пересылаются, например, на DAC (Digital-to-analog converter – цифро-аналоговый преобразователь) или TFT (Thin-film transistor) контроллер.

PCI мост GeodeLink

PCI мост GeodeLink (GLPCI) содержит всю необходимую логику для поддержания внешнего PCI интерфейса. Этот интерфейс совместим со спецификацией PCI 2.2. Логика управления контролирует интерференцию PCI и GLIU, чтение и запись в FIFO а также PCI арбитра.

Ссылки