Материал из PL Engineering
Многоядерный процессор — Центральный процессор, содержащий два и более вычислительных ядра на одном процессорном кристалле или в одном корпусе.
Содержание |
Особенности архитектуры
Во всех существующих на сегодняшний день многоядерных процессорах Кэш-память первого уровня у каждого ядра своя, а кэш 2-го уровня существует в нескольких вариантах:
- разделяемый — кэш расположен на одном с обеими ядрами кристалле и доступен каждому из них в полном объеме. Используется в процессорах семейств Intel Core.
- индивидуальный — отдельные кэши равного объема, интегрированные в каждое из ядер. Обмен данными из кэшей L2 между ядрами осуществляется через контроллер памяти — интегрированный (Athlon 64 X2) или внешний (Pentium D).
Производительность
В приложениях, оптимизированных под многопоточность, наблюдается прирост производительности на двухъядерном процессоре. Однако, если приложение не оптимизировано, то оно не будет получать практически никакой выгоды от дополнительных ядер, а может даже выполняться медленнее, чем на процессоре с меньшим количеством ядер, но большей тактовой частотой. Это в основном старые приложения, либо приложения, которым многопоточность не нужна (например, проигрыватель музыки) или невозможна.
Наращивание количества ядер
На сегодняшний день основными производителями процессоров — Intel и AMD дальнейшее увеличение числа ядер процессоров признано как одно из приоритетных направлений увеличения производительности. Уже освоено производство 4-ядерных процессоров для домашних компьютеров, а также 6-ядерных в серверных системах.
Многоядерные контроллеры
Существует, также, тенденция внедрения многоядерных контроллеров в мобильные устройства.
Например
- seaForth-24 — новая разработка Multi-core MISC архитектуры Chuck Moore 1ГГц 24-х ядерный асинхронный контроллер.
- Контроллер от Parallax [1] имеет восемь 32-разрядных процессоров (COG) в одном кристалле P8X32A.
- Kilocore PowerPC процессор с 1024 8-ми битными ядрами работающими на частоте 125МГц.