Общая характеристика 64-разрядных процессоров

Преимуществом 64-битных процессоров над своими 32-битными аналогами является расширение адресного пространства, увеличение разрядности и увеличение числа регистров общего назначения.

Расширенное 64-битное адресное пространство теоретически позволяет процессору работать с 16 экзабайт (2 64) физической памяти в рамках плоской модели организации. И хотя современные 64-разрядные процессоры на практике могут обеспечить доступ лишь к 1 терабайту (2 40) памяти, данный показатель всё равно уже значительно превосходит возможности 32-битной адресации. Увеличение объема доступной памяти в свою очередь, даёт возможность исключить или сильно сократить количество крайне медленных операций по подкачке данных с диска.

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

Стоит помнить, что для получения реального прироста производительности на 64-разрядном процессоре необходимо транспонировать программу с применением 64-битной версии компилятора, учитывая изменение модели данных (новые размерности типов). Запуск неадаптированного для 64-битной платформы приложения наоборот может, в зависимости от особенностей архитектуры используемого процессора, привести к существенным потерям в производительности.

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

64-битное расширение классической 32-битной архитектуры IA32 было предложено в 2002 году компанией AMD (первоначально называлось x86-64, сейчас - AMD64) в процессорах семейства К8. Спустя некоторое время компанией Intel было предложено собственное обозначение - EM64T (Extended Memory 64-bit Technology). Но, независимо от названия, суть новой архитектуры одна и та же: разрядность основных внутренних регистров 64-битных процессоров удвоилась (с 32 до 64 бит), а 32-битные команды x86-кода получили 64-битные аналоги. Кроме того, за счет расширения разрядности шины адресов объем адресуемой процессором памяти существенно увеличился.

Особенности архитектуры 64 – разрядных МП


5.1. Itanium 2 Intel

Процессор разрабатывался с нуля, причем, параллельно сразу в двух версиях: инженерами Intel и Hewlett-Packard. Впро-чем, в основе обоих чипов лежали, естественно, одни и те же идеи, поскольку создавались они все же совместно, и должны были оба стать родоначальниками одного и того же семейства. Цементирующим составом были, естественно, единая идеология, при-шедшая на смену CISC - EPIC (Explicitly Parallel Instruction Computing), и новая архитектура - IA-64, включающая в себя на-бор инструкций, описание регистров, и прочие подобные вещи. Впрочем, архитектура как раз - вещь изменчивая, достаточно вспомнить как отличаются между собой такие CISC процессоры, как 8086 и i80486, оба созданные на базе 80x86.
Точно так же и с Merced и McKinley, Itanium и Itanium 2 - оба построены на базе одной идеологии, но в разных разновидно-стях архитектуры. В свое время та же история, в общем то, была и с Pentium и Pentium Pro. Впрочем, общие черты были и у тех, есть и у этих, за это "отвечает" EPIC. В первую очередь речь идет о полноценной масштабной суперскалярности, то есть, способности выполнять одновременно несколько инструкций. Для чего, естест-венно, процессор содержит исполнительные модули - для опера-ций с целыми числами, с числами с плавающей запятой, и т.д.
В отличие от Pentium и его последователей, разбирающихся в коде самостоятельно, EPIC-процессоры сильно полагаются на компилятор, который должен сам проанализировать код на пред-мет нахождения оптимальных мест для распараллеливания его вы-полнения, и снабдить процессор этой информацией. Поэтому и используется «explicitly» - процессор не должен сам пытаться по-нять, что можно исполнять параллельно, а что нет, и т.д. - все это ему уже заранее объяснит компилятор. Плюс, мощные механизмы по предсказанию переходов, предварительному выполнению кус-ков кода, предварительной загрузке данных, и тому подобные ве-щи - загрузка исполнительных блоков должна быть распределена максимально равномерно.
Кардинально решен вопрос с регистрами, количество кото-рых увеличено в несколько раз: у Itanium их количество составляет 128 общего назначения (рис.1), 128 - для хранения чисел с пла-вающей запятой, 8 регистров переходов, и 64, отвечающих за ра-боту механизмов предсказания. Здесь все очевидно - такого коли-чества регистров, да еще реально 64-битных, хватит для хранения любых требуемых чисел для любого разумного количество испол-нительных модулей. У Itanium, первого представителя семейства, таких регистров всего пять - два целочисленных, два для операций с памятью и четыре - для операций с плавающей точкой. Физи-ческая память адресуется 44-бит числами, что на самом деле огра-ничивает ее объем "всего лишь" 17.6 Терабайт, блоки для опера-ций с плавающей точкой работают с числами в 82-бит представлении.

От идеи реализовать 32-бит 80x86 ядро в аппаратном виде Intel отказался, сочтя это слишком неэффективным использовани-ем площади кристалла. Так что для того, чтобы получить возмож-ность исполнения Itanium 80х86 кода, была создана система трансляции, которая на лету преобразует 80x86 код в IA-64.
Очевидно, что при прочих равных, производительность подобного решения будет ниже, чем чистого x86, работающего на той же частоте. Впрочем, никто и не ждал от Itanium скоростного исполнения x86 программ - поддержка этой архитектуры относит-ся скорее к издержкам переходного периода. Тем не менее, факт остается фактом: это семейство для решения 32-бит задач не при-способлено. Впрочем, вряд ли кто-то будет использовать Itanium для подобных целей при наличии полноценного 64-битного ПО..
Вдобавок, сам по себе Itanium был в значительной степени пилотным проектом, как и Pentium Pro, так что процессор вообще стоит рассматривать больше как демонстрацию возможностей ар-хитектуры. Характерный штрих - чипсет для Itanium, 460GX, под-держивает в качестве памяти всего лишь PC100 SDRAM, это кое-что говорит о скорости, с которой способен переваривать данные процессор. С другой стороны, однако, в какой-то мере не слишком быстрый интерфейс с оперативной памятью компенсируется очень большой кэш-памятью L3 - 2 или 4 Мбайт, работающей на полной частоте процессора (733 или 800 МГц) с пропускной способно-стью до 12.8 Гбайт/с.
Еще одной задачей Itanium было решить вопрос с компиля-торами - ведь EPIC-процессоры, как уже упоминалось, очень сильно от них зависят. В отличие от компиляторов для 80x86 про-цессоров, которые на их производительность почти не влияли, здесь компиляторы являются полноправными партнерами процес-сора - ведь они снабжают его крайне необходимой для работы ин-формацией, и от того, насколько качественной она будет, будет за-висеть скорость исполнения этой программы процессором.
Itanium 2 является уже куда более коммерчески интересным продуктом. Созданный Hewlett-Packard, набившей руку на создании 64-бит процессоров серии PA-RISC, чип получился куда более совершенным. С несколько меньшим количеством L3 (1.5 или 3 Мбайт) и несколько более высокой частотой, 900 МГц или 1 ГГц, он обеспечивает в пол-тора-два раза большую производительность на тех же задачах, что и Itanium. Он является, фактически, первым представителем архи-тектуры IA-64.
Дальше планируется еще большее распараллеливание мак-симально модным на сегодняшний день путем: процессор должен будет перейти на два физических ядра, что позволит практически удвоить производительность по достаточно приемлемой цене - по крайней мере, результат получится куда более дешевым, чем если бы того же количества исполнительных модулей, регистров, и т.д., пытались достичь на едином кристалле.

5.2. Athlon 64 AMD

В первую очередь заметим, что процессор Athlon 64 – это именно тот 64-битный процессор для настольных систем, который изначально планировала выпустить AMD. Впоследствии, в свете выхода скоростных процессоров Pentium 4, появления в них 800-мегагерцовой шины и технологии Hyper-Threading, AMD в сроч-ном порядке решила нацелить на рынок настольных систем и од-нопроцессорный Opteron, дав ему имя Athlon 64 FX. Однако Athlon 64 FX в силу своего серверного происхождения оказался дорогим и малораспространенным. По настоящему же продвинуть архитектуру AMD64 для массового использования должен именно Athlon 64.
Ниже представлена таблица 1 со спецификациями 64 - раз-рядных МП Athlon 64 3200+, Athlon 65 FX-51 и Athlon XP 3200+:

Таблица 1

* Заметим, что память в Athlon 64 и Athlon 64 FX такту-ется относительно частоты ядра, поэтому реальные час-тоты для памяти в этом случае составляют 129.4, 157.1 и 200 МГц.
Фактически, Athlon 64 отличается от своего старшего собра-та Athlon 64 FX, помимо формы и размеров корпуса, только лишь контроллером памяти. Хотя, при этом, и тот и другой процессоры производятся из одних и тех же кристаллов. Контроллер памяти в Athlon 64 одноканальный и в этом заключается как его слабость, так и преимущество по сравнению с Athlon 64 FX. Недостаток од-ноканального контроллера памяти в Athlon 64 очевиден: это более низкая теоретическая пропускная способность.
Учитывая, что Athlon 64 способен работать с DDR400 памя-тью, максимальная пропускная способность встроенного в CPU контроллера памяти составляет 3.2 Гбайт в секунду. Это в два раза меньше, чем аналогичная характеристика Athlon 64 FX. Преиму-щество же контроллера памяти Athlon 64 заключается в том, что он, в отличие от контроллера Athlon 64 FX, поддерживает обыч-ные нерегистровые модули памяти. Такие модули по сравнению с регистровыми более дешевы, имеет более агрессивные тайминги и работают быстрее, даже при одинаковых с регистровыми модуля-ми настройках. То есть при более низкой пропускной способности, обеспечиваемой контроллером памяти Athlon 64, подсистема памяти, его использующая, имеет более низкую латентность, что мы и покажем ниже.
АMD Athlon 64 по внешнему виду похож на Opteron и Athlon 64 FX.
Отличия обнаруживаются только лишь в маркировке и в меньшем числе ножек на обратной стороне, поскольку процессоры Athlon 64 устанавливаются в материнские платы с Socket 754 и не совместимы с Socket 940 платами, предназначенными для CPU се-мейств Athlon 64 FX и Opteron.
Помимо перечисленных выше особенностей, есть в новых процессорах Athlon 64 и еще одна. Эти процессоры обладают под-держкой технологии Cool’n’Quiet, фактически пришедшей в них из мобильных вариантов МП. По сути, Cool’n’Quiet представляет собой некое подобие технологии энергосбережения PowerNow!, уже давно используемой в мобильных МП от AMD. Но теперь эта технология, наконец, пришла и в настольные процессоры ком-пании. Поддержка Cool’n’Quiet – еще одно преимущество Athlon 64 над Athlon 64 FX/Opteron, не имеющих пока никаких подобных технологий. Компания AMD достаточно давно уделяет присталь-ное внимание понижению уровня тепловыделения своих настоль-ных процессоров.
Надо сказать, что в этом компания уже давно превосходит Intel: старшие модели процессоров AMD при максимальной на-грузке выделяют значительно меньше тепла, чем старшие модели Pentium 4. Также, в процессорах применяются технологии, пони-жающие тепловыделение и при низкой нагрузке. Еще МП семей
ства Athlon XP имели возможность перехода в «ждущий ре-жим» (Halt/Stop Grant) при выполнении команды HALT, что выли-валось в понижение температуры процессора при его загрузке ни-же 100%. Однако теперь AMD пошла еще дальше. В новых про-цессорах Athlon 64 реализована еще более интеллектуальная схема понижения тепловыделения.
В дополнение к состояниям Halt/Stop Grant, Athlon 64 умеет сбрасывать свою тактовую частоту и напряжение питания для еще более сильного снижения тепловыделения. В работе с использова-нием этой технологии тактовой частотой МП управляет драйвер процессора, который сбрасывает или повышает ее, основываясь на данных о его загрузке. Действительно, если процессор полностью справляется с возлагаемой на него работой и его загрузка сильно меньше 100%, то можно без ущерба для функционирования систе-мы в целом снизить его тактовую частоту: на работе системы это никак не скажется. Например, при простоях, работе в офисных приложениях, просмотре видео, дефрагментации дисков и в по-добных задачах мощности процессора в полной мере не использу-ются. Именно в таких случаях процессорный драйвер переводит Athlon 64 на меньшую тактовую частоту. Когда же от процессора требуется полная отдача, например, в играх, при решении вычис-лительных задач, в задачах кодирования данных и т.п., частота процессора поднимается до номинала. Именно таким образом и работает технология Cool’n’Quiet.
На практике это выглядит следующим образом. В обычных условиях, при минимальной загрузке МП процессорный драйвер сбрасывает частоту Athlon 64 3200+ со штатных 2 ГГц до 800 МГц. Напряжение питания процессора при этом понижается до 1.3В. Как видим, снижение тактовой частоты обеспечивается за счет уменьшения множителя процессора до 4x. Это, кстати, обу-славливает и тот факт, что процессоры Athlon 64 3200+ поставля-ются с незафиксированным коэффициентом умножения. В таком режиме процессор продолжает работать до тех пор, пока его за-грузка не превысит 70-80%. В частности, мы смогли запустить од-новременно дефрагментацию диска, проигрывание файлов с рас-ширением mp3 (аудифайлов) и просмотр MPEG-4 (видеофайлов) ролика, в то время как процессор продолжал работать на часто-те 800 МГц.
Когда же загрузка процессора Athlon 64 при частоте 800 МГц превышает допустимый предел, МП переводится драйвером в следующее состояние, при котором частота Athlon 64 3200+ со-ставляет 1.8 ГГц, а напряжение питания 1.4В. Достигается это вновь за счет уменьшения множителя, на этот раз до 9x. И только если в данном случае нагрузка процессора вновь оказывается чрезмерно высокой, драйвер переводит МП в штатный режим: частота 2 ГГц, напряжение питания – 1.5В.
Отметим, что в режимах с пониженным питанием и часто-той тепловыделение процессора Athlon 64 3200+ резко падает. Для сравнения приведем таблицу 4 с тепловыделением этого процес-сора в основных режимах.

Таким образом, использование технологии Cool’n’Quiet по-зволяет значительно снизить температуру процессора не только в моменты простоя, но и во время выполнения ряда задач, не тре-бующих от МП максимальной производительности. Что немало-важно, быстродействие МП в задачах, требовательных к процес-сорным ресурсам, при этом совершенно не снижается. В итоге, при применении систем охлаждения с вентиляторами с перемен-ной скоростью, использование технологии Cool’n’Quiet может по-зволить значительно снизить уровень шума.

В настоящее время основную долю рынка универсальных микропроцессоров занимают 32-битные и 64-битные микропроцессоры. Данная глава содержит описание микропроцессоров корпорации Intel с 32-битной архитектурой, которые составляют семейство IA-32 (Intel Architecture-32). Эта архитектура составляет основу 64-разрядной архитектуры x86‑64 корпорации Intel и архитектуры AMD-64 корпорации AMD.

2.1 Состав и функции регистров

Регистрами называют высокоскоростную память, расположенную внутри ЦПУ и предназначенную для оперативного хранения данных и быстрого доступа к ним со стороны внутренних компонентов процессора. Например, при выполнении оптимизации циклов программы по скорости, переменные, к которым выполняется доступ внутри цикла, располагают в регистрах процессора, а не в памяти. Совокупность всех таких регистров иногда называют сверхоперативной памятью (СоЗУ).

2.1.1 Основные регистры

На рисунке 2.1 изображена структура основных регистров и их названия. Существует 8 регистров общего назначения (РОН), 6 сегментных регистров, регистр флагов, регистр указателя команд, а также системные регистры, регистры отладки и тестирования.

Регистры общего назначения (РОНы) . Эти регистры используются в основном для выполнения арифметических операций и пересылки данных. К каждому РОНу можно обратиться как к 32-разрядному или как к 16-разрядному регистру. К некоторым регистрам можно обращаться как к 8-разрядным. Например, регистр ЕАХ является 32-разрядным, однако его младшие 16-разрядов называются регистром АХ. Старшие 8-разрядов регистра АХ называются АН, а младшие 8-разрядов – AL. 16-разрядные части индексных регистров и регистров-указателей обычно используются только при написании программ для реального режима адресации, т.е. для MS-DOS или её эмуляции в Windows.

Значение аббревиатур имён регистров:

Префикс E в начале имён регистров – expanded (расширенный).

Постфикс X в конце имён регистров означает, собственно, регистр.

AX – Accumulator (накопитель).

BX – Base register (регистр базы).

CX – Counter (счётчик).

DX – Data (данные).

AL – Accumulator low (младшая половина регистра AX).

AH – Accumulator high (старшая половина регистра AX).

BL – Base low (младшая половина регистра BX).

BH – Base high (старшая половина регистра BX).

CL – Counter low (младшая половина регистра CX).

CH – Counter high (старшая половина регистра CX).

DL – Data low (младшая половина регистра DX).

DH – Data high (старшая половина регистра DX).

SI – Source index (индекс источника). Содержит текущий адрес источника.

DI – Destination index (индекс получателя). Содержит текущий адрес приемника.

BP – Base pointer (указатель базы). Для произвольного доступа к данным внутри стека

SP – Stack pointer (указатель стека). Содержит указатель вершины стека.

CS – Code segment (сегмент кода).

DS – Data segment (сегмент данных).

ES – Extra Data segment (дополнительный сегмент данных).

FS – Extended Data segment (дополнительный сегмент данных).

GS – Extended Data segment (дополнительный сегмент данных).

SS – Stack segment (сегмент стека).

IP – Instruction pointer (указатель команд или счётчик команд).

F – Flags (регистр флагов).

GDTR – Global descriptor table register (регистр глобальной таблицы дескрипторов).

IDTR – Interruption descriptor table register (регистр таблицы дескрипторов прерываний).

TR – Task register (регистр задач).

LDTR – Local descriptor table register (регистр локальной таблицы дескрипторов).

DR – Debug register (регистр отладки).

TR – Test register (регистр тестирования).

CR – Control register (управляющий регистр).

Особенности использования регистров. При выполнении команд процессором часть регистров общего назначения имеют специальное предназначение.

    Содержимое регистра ЕАХ автоматически используется при выполнении команд умножения и деления. Поскольку этот регистр обычно связан с выполнением арифметических команд, его часто называют расширенным регистром аккумулятора (expanded accumulator ).

    Регистр ЕСХ автоматически используется процессором в качестве счетчика цикла.

    С помощью регистра ESP происходит обращение к данным, хранящимся в стеке. Стек – это системная область памяти, обращение к которой осуществляется по принципу FILO (First input – last output) "первым записали, последним прочитали". Этот регистр обычно никогда не используется для выполнения обычных арифметических операций и команд пересылки данных. Его часто называют расширенным регистром указателя стека (expanded stack pointer ). Регистр ESP указывает на адрес вершины стека (адрес, куда будет заноситься следующая переменная командой PUSH).

    Регистры ESI и EDI обычно используют для команд высокоскоростной пересылки данных из одного участка памяти в другой. Поэтому их иногда называют расширенными индексными регистрами источника и получателя данных (expanded source index и expanded destination index ). Регистр ESI – адрес источника, и содержит адрес начала блока информации для операции "переместить блок" (полный адрес DS:ESI), а регистр EDI – адрес назначения (полный адрес ES:EDI).

    Регистр EBP обычно используется компиляторами языков программирования высокого уровня для обращения к параметрам функции и для ссылок на локальные переменные, размещенные в стеке. Он не должен использоваться для выполнения обычных арифметических операций или для перемещения данных, за исключением случаев применения особых методик программирования опытными программистами. Его часто называют расширенным регистром указателя стекового фрейма (expanded frame pointer ). Регистр ЕВР содержит адрес, начиная с которого в стек вносится или забирается информация (или "глубина" стека). Параметры функций имеют положительный сдвиг относительно ЕВР, локальные переменные – отрицательный сдвиг, а полный адрес этого участка памяти хранится в регистровой паре SS:EBP.

    Регистр EIP хранит смещение (offset) адреса команды. Полный адрес на следующую исполняемую команду хранится в регистровой паре CS:ЕIP.

    Регистры ESP, EBP, ESI, EDI хранят смещение адреса данных.

Сегментные регистры. Эти регистры используются в качестве базовых при обращении к заранее распределенным областям оперативной памяти, которые называются сегментами. Существует три типа сегментов и, соответственно, сегментных регистров:

    кода (CS), в них хранятся только команды процессора, т.е. машинный код программы;

    данных (DS, ES, FS и GS), в них хранятся области памяти, выделяемые под переменные программы и под данные;

    стека (SS), в них хранится системная область памяти, называемая стеком, в которой распределяются локальные (временные) переменные программы и параметры, передаваемые функциям при их вызове.

Сегментные регистры загружаются селекторами сегментов, которые являются смещениями либо глобальной таблицы дескрипторов (GDT – Global Descriptor Table), либо локальной таблицы дескрипторов (LDT – Local Descriptor Table).

Биты сегментных регистров содержат следующую информацию:

0 – 1. RPL – Requested Privilege Level. Уровень запрашиваемых привилегий.

2. TI – Table Indicator. Бит таблицы индикаторов. Указывает процессору где искать указанный селектор. Если бит установлен, то процессор читает селектор из таблицы локальных дескрипторов. Если бит сброшен, то процессор читает селектор из таблицы глобальных дескрипторов.

3 – 15. В этих битах хранится индекс глобальной или локальной таблицы дескрипторов.

Регистр CS слишком мал для хранения сегмента кода, поэтому он должен быть установлен на исполнимый сегмент. Регистр SS слишком мал для хранения сегмента стека, поэтому он должен быть установлен на разрешённый по записи сегмент данных.

Уровень привилегий, установленный в сегментный регистр CS является уровнем привилегий запущенной программы, и называется текущим уровнем привилегий (CPL – Current privilege level). Сегментные регистры DS, ES, FS, GS предназначены для данных и должны быть установлены на сегмент данных с разрешением записи. Уровни привилегий, требуемые каждым из этих селекторов, должен быть больше, чем текущий уровень привилегий CPL.

С каждым из шести сегментных регистров связаны теневые регистры дескрипторов. В теневые регистры в защищённом режиме переписываются 32-разрядный базовый адрес сегмента, 20-разрядный предел и атрибуты (права доступа) из дескрипторных таблиц.

Регистр указателя команд. В регистре EIP хранится смещение относительно начала программы (offset) следующей выполняемой команды. В процессоре есть несколько команд, которые влияют на содержимое этого регистра. Изменение адреса, хранящегося в регистре ЕIP, вызывает передачу управления на новый участок программы.

Регистр флагов EF (EFLAGZ ) . Биты этого регистра называются флагами и отвечают либо за особенности выполнения некоторых команд CPU, либо отражают результат выполнения команд блоком ALU. Флаги регистра перечислены в таблице 2.1. Биты с 22 по 31 включительно – зарезервированы.

Таблица 2.1 Регистр флагов

Для анализа битов этого регистра предусмотрены специальные команды процессора. Говорят, что флаг установлен, когда бит флага равен 1, и что флаг сброшен, когда значение его бита равно 0. Кроме этого расширенный регистр EF по сравнению с регистром F содержит пять новых флагов.

Управляющие флаги. Состояние битов регистра EFLAGS, соответствующих управляющим флагам, программист может изменить с помощью специальных команд процессора. Эти флаги (DF, IF,TF) управляют процессом выполнения некоторых команд CPU:

8. TF – Trap flag. Флаг трассировки (пошагового режима). При его установке (TF=1) после выполнения каждой команды вызывается внутреннее прерывание INT 1, которое останавливает вычислительный процесс, давая возможность проверить содержимое регистров.

9. IF – Interrupt-enable flag. Флаг разрешения прерывания. При IF=1 разрешается выполнение маскированных аппаратных прерываний. При IF=0 – запрещается.

10. DF – Direction flag. Флаг управления направлением обработки массивов в строковых командах. При DF=1 индексные регистры SI, DI, которые принимают участие в строковых командах, автоматически декрементируются на количество байт операнда, осуществляя тем самым обработку строк с конца в начало. При DF=0 – инкрементируются, осуществляя обработку с начала в конец строки.

Флаги состояния . Эти флаги отражают различные признаки результата выполнения арифметических и логических команды CPU:

0. CF – Carry flag. Флаг переноса устанавливается в случае, если при выполнении беззнаковой арифметической операции получается число, разрядность которого превышает разрядность выделенного для него поля результата. В командах сдвига флаг CF фиксирует значение старшего бита.

2. PF – Parity flag. Флаг четности/паритета устанавливается при чётном количестве единиц в результате.

4. AF – Auxiliary Carry. Флаг дополнительного переноса/заёмаиз младшей тетрады в старшую (из третьего в четвёртый разряд). Используется в командах обработки 8-битных данных, чаще всего – двоично-десятичных чисел.

6. ZF – Zero flag. Флаг нуля устанавливается, если при выполнении арифметической или логической операции получается число, равное нулю (т.е. все биты результата равны 0).

7. SF – Sign flag. Флаг знакадублирует значение старшего бита результата. SF=0 для положительного результата, SF=1 для отрицательного.

11. OF – Overflow flag. Флаг переполнения, или) устанавливается в случае, если при выполнении арифметической операции со знаком получается число, разрядность которого превышает разрядность выделенного для него поля результата.

Флаги , добавленные в регистр EF:

12-13. IOPL – I/O Privilege Level. Флаг уровня привилегий ввода-вывода. Используется в защищенном режиме работы микропроцессора для контроля доступа к командам ввода-вывода в зависимости от привилегированности задачи.

14. NT – Nested task flag. Флаг вложенности задачи. Используется в защищенном режиме работы микропроцессора для фиксации того факта, что одна задача вложена в другую.

16. RF – Resume flag. Флаг возобновления. В режиме отладки единичное значение RF позволяет осуществить рестарт команды после прерываний. Используется совместно с регистрами точек отладочного останова.

17. VM – Virtual Mode flag. Флаг виртуального режима. Признак работы микропроцессора в режиме виртуального 8086. 1 – процессор работает в режиме виртуального 8086; 0 – процессор работает в реальном или защищенном режиме.

18. AC – Alignment Check. Флаг режима работы процессора, при котором происходит контроль выравнивания. Используется только на уровне привилегий 3. Если AC=1 и AM=1 (AM – бит в регистре управления CR0), то в случае обращения к операнду, не выровненному по соответствующему пределу (2 или 4 или 8) байт, будет вызвано исключение 17. Выравнивание операнда по пределам 2,4,8 означает, что адрес операнда кратен соответственно 2,4,8.

19. VIF – Virtual Interrupt Flag. Флаг разрешения прерывания в виртуальном режиме работы процессора.

20. VIP – Virtual Interrupt Pending. Флаг задержки прерывания в виртуальном режиме работы процессора.

21. ID – CPU Identification. Флаг идентификации процессора. Флаг может быть изменён, если процессор поддерживает команду CPUID.

В управляющих регистрах CR0-CR3 хранятся признаки состояния процессора, общие для всех задач. Регистр CR0 имеет следующие биты:

0. PE – Protection Enable. Флаг защищённого режима. Если PE=1, то режим работы процессора – защищённый.

1. MP – Mathematic present. Флаг наличия математического сопроцессора. Если MP=1, то математический сопроцессор присутствует.

2. EM – Emulate Numeric Extension. Флаг эмуляции команд над числами с плавающей запятой. Когда флаг установлен, то команды для работы с вещественными числами могут быть эмулированы программно.

3. TS – Task Switched. Флаг переключения задач. Флаг устанавливается после того, как задача переключена.

4. ET – Extension Type. Флаг типа расширения. Устанавливается, если присутствует арифметический сопроцессор 387 и выше.

5. NE – Numeric Error Enable. Флаг разрешения ошибки сопроцессора. Если флаг установлен, то в случае ошибки в сопроцессоре генерируется исключительная ситуация 16.

16. WP – Write Protect. Флаг защиты от записи. Если флаг установлен, то ядру операционной системы назначаются страницы памяти в режиме read-only (только чтение).

18. AM – Alignment Mask. Флаг маскирования выравнивания. Когда флаг установлен, то в случае обращения к невыровненным операндам будет генерироваться исключительная ситуация 17. Если флаг сброшен, то такая исключительная ситуация маскируется.

29. NW – Not Write-Through. Флаг запрета сквозной записи.

30. CD – Cache Disable. Флаг запрета кэширования.

31. PG – Paging Enable. Флаг режима страничной организации памяти. Когда флаг установлен, операционная система работает в режиме страничной организации памяти.

Остальные биты регистра CR0 зарезервированы.

Регистр CR1 зарезервирован. В регистре CR2 хранится 32-разрядный линейный адрес, по которому получен отказ страницы памяти. В 20 старших разрядах регистра CR3 хранится физический базовый адрес таблицы каталога страниц и биты управления кэш-памятью. Регистр CR4 содержит биты разрешения архитектурных расширений МП. В целом, эти регистры используются в системном программировании и устанавливают режим работы процессора (нормальный, защищенный и т.д.), постраничное распределение памяти и т.д.

Системные адресные регистры. В системных регистрах-указателях глобальной дескрипторной таблицы GDTR и таблицы прерываний IDTR хранятся 32-разрядные базовые адреса и 16-разрядные пределы таблиц соответственно. Системные сегментные регистры задач TR и локальной дескрипторной таблицы LDTR являются 16-разрядными селекторами. Им соответствуют теневые регистры дескрипторов, которые содержат 32-разрядный базовый адрес сегмента, 20-разрядный предел и байт права доступа.

В регистрах отладки DR0-DR3 содержатся 32-разрядные адреса точек останова в режиме отладки; DR4–DR5 зарезервированы и не используются; DR6 отображает состояние контрольной точки; DR7 – руководит размещением в программе контрольных точек.

Регистры тестирования TR входят в группу модельно-специфических регистров, их состав и количество зависят от типа процессора: в МП 386 используются два регистра TR6 и TR7 для контроля постраничной системы распределения памяти операционной системой. В Pentium II и выше используется двенадцать регистров TR1–TR12. Эта группа регистров содержит также результаты тестирования МП и кэш-памяти.

AMD64 (также x86-64 или x64) - 64-битная архитектура микропроцессора и соответствующий набор инструкций, разработанные компанией AMD. Это расширение архитектуры x86 с полной обратной совместимостью. Набор инструкций x86-64 в настоящее время поддерживается процессорами AMD Athlon 64, Athlon 64 FX, Athlon 64 X2, Turion 64, Opteron, последними моделями Sempron. Интересно, что этот набор инструкций был поддержан основным конкурентом AMD - компанией Intel под названием EM64T или IA-32e в поздних моделях процессоров Pentium 4, а также в Pentium D, Pentium Extreme Edition, Celeron D, Core 2 Duo и Xeon. Корпорация Microsoft использует для обозначения этого набора инструкций термин x64.

Режимы работы

Процессоры архитектуры поддерживают два режима работы: Long mode («длинный» режим) и Legacy mode (режим совместимости с x86).

Long Mode

«Длинный» режим - «родной» для процессоров AMD64. Этот режим позволяет воспользоваться всеми дополнительными возможностями, предоставляемыми архитектурой AMD64. Для использования этого режима необходима 64-битная операционная система, например, Windows XP Professional x64 Edition или 64-битный вариант GNU/Linux. Этот режим позволяет выполнять 64-битные программы; также (для обратной совместимости) предоставляется поддержка выполнения 32-битного кода, например, 32-битных приложений, хотя 32-битные программы не смогут использовать 64-битные системные библиотеки, и наоборот. Чтобы справиться с этой проблемой, большинство 64-разрядных операционных систем предоставляют два набора необходимых системных файлов: один - для родных 64-битных приложений, и другой - для 32-битных программ. (Этой же методикой пользовались ранние 32-битные системы - например, Windows 95 - для выполнения 16-битных программ)

Legacy Mode

Данный режим позволяет процессору AMD64 выполнять инструкции, рассчитанные для процессоров x86, и предоставляет полную -совместимость с 32/16-битным кодом и операционными системами. В этом режиме процессор ведёт себя точно так же, как x86-процессор, например Pentium 4, и дополнительные функции, предоставляемые архитектурой AMD64 (например, дополнительные регистры) недоступны. В этом режиме 64-битные программы и операционные системы работать не будут.

Особенности архитектуры

Разработанный компанией AMD набор инструкций x86-64 (позднее переименованный в AMD64) - расширение архитектуры Intel IA-32 (x86-32). Основной отличительной особенностью AMD64 является поддержка 16-ти 64-битных регистров общего назначения (против 8-и 32-битных в x86-32), 64-битных арифметических и логических операций над целыми числами и 64-битных виртуальных адресов.

Архитектура x86_64 имеет

    16 целочисленных 64-битных регистра общего назначения (RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP, R8 - R15),

    8 80-битных регистров с плавающей точкой (ST0 - ST7)

    8 64-битных регистров Multimedia Extensions (MM0 - MM7, имеют общее пространство с регистрами ST0 - ST7)

    16 128-битных регистров SSE (XMM0 - XMM15)

    64-битный указатель RIP и 32-битный регистр флагов EFLAGS

Opteron (кодовое название Sledgehammer или K8) - первый микропроцессор фирмы AMD, основанный на 64-битной технологии AMD64 (также называемой x86-64). AMD создала этот процессор в основном для применения на рынке серверов, поэтому существуют варианты Opteron для использования в системах с 1-16 процессорами.

В июне 2004 года в Top500 суперкомпьютеров десятое место занял Dawning 4000A - китайский суперкомпьютер построенный на процессорах Opteron. В ноябре 2005 он опустился на 42 место, в связи с появлением более производительных конкурентов. Тогда в ноябрьском Top500 10 % суперкомпьютеров были построены на базе процессоров AMD64 Opteron. Для сравнения, на базе процессоров Intel EM64T Xeon были построены 16.2 % суперкомпьютеров. Две ключевые особенности

Двумя важными технологиями воплощёнными в процессоре Opteron являются: Прямая (без эмуляции) поддержка 32-битных x86 приложений без потери скорости Прямая (без эмуляции) поддержка 64-битных x86-64 приложений (линейная адресация более 4 ГБ ОЗУ)

Первая технология примечательна тем, что во время анонса процессора Opteron единственным 64-битным процессором с заявленной поддержкой 32-битных x86 приложений был Intel Itanium. Но Itanium выполнял 32-битные приложения со значительной потерей скорости.

Вторая технология, сама по себе не так примечательна, так как основные производители RISC процессоров (SPARC, DEC, HP, IBM, MIPS и другие) имели 64-битные решения уже много лет. Но совмещение в одном продукте этих 2-х свойств, напротив, принесло Opteron признание, так как он предлагал доступное и экономичное решение для запуска существующих x86 приложений с последующим переходом на более перспективные 64-битные вычисления.

Процессоры Opteron имеют интегрированный контроллер памяти DDR SDRAM. Это позволило существенно уменьшить задержки при обращении к памяти и исключить необходимость в отдельном чипе северного моста на материнской плате.

В мае 2005 года AMD представила первый «многоядерный» процессор Opteron. В настоящее время термин «многоядерный» компания AMD использует для обозначения «двухъядерных» процессоров; в каждом процессоре Opteron размещено 2 отдельных процессорных ядра. Это фактически удваивает вычислительную мощность доступную каждому процессорному разъёму на материнских платах, поддерживающих эти процессоры.

Одним из “топовых” процессоров AMD сегодня считается - Athlon X2 6000+ на ядре Windsor под сокет AM2. Этот процессор содержит два ядра Athlon 64, объединённых на одном кристалле с помощью набора дополнительной логики. Ядра имеют в своём распоряжении двухканальный контроллер памяти, базирующийся на Athlon 64 степпинга E, и в зависимости от модели, от 512 до 1024 КБ КЭШа 2-го уровня на каждое ядро. Athlon 64 X2 поддерживают набор инструкций SSE3 (которые ранее поддерживались только процессорами компании Intel), что позволило запускать с максимальной производительностью код, оптимизированный для процессоров Intel. Эти улучшения не уникальны для Athlon 64 X2 и так же имеются в релизах процессоров Athlon 64, построенных на ядрах Venice и San Diego. AMD официально начала поставки Athlon 64 X2 на выставке Computex 1 июня 2005 года.

Основным преимуществом, которое даёт двуядерные процессоры Athlon 64 X2 является возможность разделения запущенных программ на несколько одновременно выполняемых потоков. Способность процессора выполнять одновременно несколько программных потоков называется параллелизм на уровне потоков (thread-level parallelism или (TLP)). При размещении двух ядер на одном кристале, Athlon 64 X2 обладает двойным TLP по сравнению с одноядерным Athlon 64 при той же скорости. Необходимость в TLP зависит от конкретной ситуации в большей степени и в некоторых ситуациях она просто бесполезна. Большинство программ написаны с расчётом на работу в однопоточном режиме, и поэтому просто не могут задействовать вычислительные мощности второго ядра. Программы, написанные с учётом работы в многопоточном режим и способные использовать вычислительные мощности второго ядра, включают в себя множество приложений для обработки музыки и видео. Имея два ядра, Athlon 64 X2 обладает увеличенным количеством транзисторов на кристалле. Процессор Athlon 64 X2 с 1МБ КЭШа 2-го уровня имеет 233.2 миллиона транзисторов , в отличие от Athlon 64, имевшего всего 114 миллиона транзисторов . Такие размеры требуют использования для производства более тонкого технологического процесса, который позволяет добиться выхода необходимого количества исправных процессоров с одной кремневой пластины. Athlon 64 X2 построен на ядрах: Toledo; Manchester; Windsor по 90 нм техпроцессу. Совсем недавно компания AMD официально представила свою новую платформу для настольных ПК под кодовым названием AMD Spider.

Платформа Spider

Состав платформы Spider

Основным компонентом данной платформы является процессор линейки AMD Phenom, совместно с чипсетом семейства AMD 7-Series.

Платформа AMD Spider: общие характеристики

Представляя вниманию широкой публике новые технологии, AMD делает акцент именно на платформенном характере инноваций. Ключевым компонентом платформы Spider являются многоядерные процессоры AMD Phenom (вплоть до 4-ядерных), выполненные с соблюдением норм 65 нм техпроцесса и предназначенные для работы с системными платами, оснащёнными разъёмом Socket AM2+. Помимо этого, в состав платформы Spider входит новое поколение чипсетов AMD 7 Series для создания системных плат с поддержкой технологий CrossFireX и AMD OverDrive, а также графика семейства ATI Radeon HD 3800 с поддержкой Microsoft DirectX 10.1.

Схема платформы AMD Spider

Если отбросить в сторону многословие пресс-релизов, основной инновацией, реализованной в платформе AMD Spider, можно назвать значительное повышение параметра “производительность на ватт”, главным образом, за счёт энерго-эффективного дизайна 65 нм процессоров AMD Phenom, 65 нм чипсетов AMD 7-Series и 55 нм графических чипов семейства ATI Radeon HD 3800. Наряду с этим, платформа AMD Spider обладает поддержкой ряда специфических технологий экономии энергии: ATI PowerPlay, Cool’n’Quiet 2.0, Microsoft DirectX 10.1, HyperTransport 3.0 и PCI Express 2.0. В частности, технология Cool’n’Quiet 2.0 позволяет снижать энергопотребление процессоров AMD Phenom, обладающих TDP 95 Вт, до средних 32 Вт в бытовых и средних 29 Вт в коммерческих приложениях. В то же время технология AMD CoolCore, реализованная в чипсетах AMD 7-Series, обеспечивает работу ядер процессора на разных частотах и, соответственно, снижение энергопотребления, при этом TDP чипсетов в среднем составляет порядка 10-12 Вт.

Другая инновация платформы AMD Spider – значительная её масштабируемость, беспрецедентная для решений на базе процессоров AMD. Так, системные платы на базе чипсетов AMD 7-Series, благодаря технологии ATI CrossFireX и поддержке до 42 линий PCI Express, обладают возможностью работы с тремя или четырьмя графическими картами ATI Radeon HD 3800. С точки зрения микроархитектуры процессоров AMD, новые чипы 4-ядрные чипы Phenom для настольных ПК, выполненные на базе архитектуры Stars (ядро Agena), являются “ближайшими родственниками” новых 4-ядерных серверных процессоров AMD Opteron на базе ядра Barcelona.

В полной аналогии с ядром Barcelona, архитектура Stars обладает 128-битным контроллером памяти с поддержкой до DDR2-1066, который также обладает возможностью работы в 2-канальном 64-битном режиме для независимого выполнения операций записи и чтения памяти. Физическое адресное пространство при этом увеличилось до 48 бит, а поддержка памяти до 256 Тб.

Каждое из четырёх ядер процессора Phenom обладает собственным 64 Кб собственной кэш-памяти L1 для инструкций и 64 Кб кэш-памяти L1 для данных, что в сумме составляет 512 Кб кэш-памяти L1 на процессор. Суммарный объём кэш-памяти L2 составляет 2 Мб, по 512 Кб на каждое ядро. Помимо этого, архитектуры Barcelona и Stars подразумевают наличие 2 Мб кэш-памяти L3. В отличие от кэш-памяти уровней L1 и L2, эксклюзивных для каждого ядра, кэш-память L3 динамически распределяется между всеми ядрами.

Среди ключевых характеристик, присущих новым 4-ядерным процессорам Phenom, следует отметить следующие ключевые функциональные возможности: Наличие нового планировщика задач с плавающей запятой, теперь поддерживающего 36 новых 128-битных операций Поддержка 128-битных операций SSE, появившихся в дополнение к возможностям прежней 64-битной архитектуры Возможность обработки двух операций SSE и одного SSE переноса за такт Буфер модуля выборки инструкций стал 32 байтным (ранее 16 байт) Модуль предсказания ветвлений с 512-ходовым предсказанием непрямых ветвлений Производительность кэша данных увеличена с одной 64-битной загрузки за такт до одной 128-битной загрузки за такт Производительность кэша данных L2 - контроллера памяти увеличена с 64-битной загрузки на такт до 128-битной загрузки за такт Реализация шины HyperTransport 3.0 позволила увеличить пропускную способность до 20,8 Гб/с Реализация технологии AMD Virtualization Technology с функцией быстрой индексации Rapid Page Indexing

Согласно информации, полученной от источника из среды тайваньских производителей системных плат, компания AMD на днях известила своих партнеров о намерении начать отгрузку трехъядерных процессоров Phenom X3 (Toliman) уже в феврале 2008 года, а не в марте, как планировалось ранее. Двухъядерные процессоры Kuma появятся только в конце второго квартала будущего года.

Напомним, что первые трехъядерные процессоры, модели 7700 и 7600, будут работать на частотах 2,5 ГГц и 2,3 ГГц, соответственно, тепловыделение моделей установлена в 89 Вт. Тактовые частоты процессоров Kuma, моделей 6250 и 6050, пока не называются, известно лишь, что их TDP будет на уровне 65 Вт.

В 1985 году фирма Intel выпустила 32-разрядный микропроцессор, ставший родоначальником семейства IA-32 . Развитие этого семейства прошло ряд этапов, среди которых можно выделить следующие: реализация блока обработки чисел с плавающей запятой непосредственно на кристалле МП (микропроцессор I486 ), введение MMX -технологии обработки данных с фиксированной точкой по принципу SIMD - singl instruction multi data (один поток команд - множество потоков данных) в микропроцессоре Pentium MMX и развитие этой технологии на числа с плавающей запятой (SSE - streaming SIMD Extention ), появившееся впервые в МП Pentium III . Однако основные черты этой архитектуры вплоть до настоящего времени остаются неизменными.

Архитектура 32-разрядного микропроцессора существенно отличается от архитектуры 16-разрядного. Некоторые из этих отличий чисто количественные, другие носят принципиальный характер.

Главное внешнее отличие - увеличение разрядности шины данных и шины адреса до 32 бит. Это, в свою очередь, связано с изменениями в разрядности внутренних элементов микропроцессора и в механизме выполнения некоторых процессов, например, формирования физического адреса.

Регистры блока обработки чисел с фиксированной точкой стали 32-разрядными. К каждому из них можно обращаться как к одному двойному слову (32 разряда). К младшим 16 разрядам этих регистров можно обращаться так же, как и в 16-разрядном микропроцессоре.

В блоке сегментных регистров произошли как количественные, так и качественные изменения. К используемым в реальном режиме четырем регистрам CS, DS, SS и ES добавлены еще два: FS и GS. Хотя разрядность регистров этого блока осталась прежней (каждый по 16 бит), в формировании физического адреса оперативной памяти они используются по-другому. При работе микропроцессора в так называемом защищенном режиме они предназначаются для поиска дескриптора (описателя) сегмента в соответствующих системных таблицах, а уже в дескрипторе хранится базовый адрес и атрибуты сегмента. Формирование адреса в этом случае выполняет блок сегментации диспетчера памяти.

Если помимо сегментов память разбита еще и на страницы, то окончательное вычисление физических адресов выполняет блок управления страницами.

Начиная с микропроцессора I486, в состав кристалла микропроцессора входит блок обработки чисел с плавающей запятой, включающий в себя восемь 80-разрядных регистров для представления знаков, мантисс и порядков таких чисел.

На кристалле микропроцессора располагается также внутренняя кэш-память, которая представляет собой особым образом организованную быстродействующую буферную память, предназначенную для хранения наиболее часто используемой информации (команд и данных). В различных моделях микропроцессоров объем кэш-памяти составляет от 8 Кбайт до 512 Кбайт.

Микропроцессор на аппаратном уровне поддерживает мультипрограммный режим работы ЭВМ, то есть возможность иметь в памяти одновременно несколько готовых к выполнению программ, запуск которых осуществляется операционной системой в соответствии с алгоритмами ее функционирования либо в зависимости от особых ситуаций, складывающихся в работе внешних устройств.

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

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

ЭА = (base) + (index) · scale + disp,

где (base) - значение базового регистра; (index) - значение индексного регистра; scale - величина масштабного множителя (scale = 1,2,3,4); disp - значение смещения, закодированного в самой команде.

Отметим, что в 32-разрядной архитектуре эффективный адрес обычно называют смещением (offset), в то же время отличая его от смещения, кодируемого в самой команде (displacement).

Разрядная архитектура ПЭВМ.

Win64-код объединяет в себе основные возможности 32-разрядного кода, а также включает изменения, связанные с повышением разрядности. В распоряжении программиста оказываются:

· 64-разрядные указатели;

· 64-разрядные типы данных;

· 32-разрядные типы данных;

· интерфейс Win64 API.

Обратите внимание, что 32-разрядные типы данных не исчезли при повышении разрядности платформы (как было с 16-разрядными типами данных при переходе к Win32). Это связано с тем, что даже в 64-разрядных приложениях в большинстве случаев переменные не требуют объема памяти в 8 байт, поэтому использование 64-разрядных типов в таких случаях оказалось бы крайне неэффективным. Операционной системе пришлось бы дописывать нули в старшие разряды, чтобы увеличить размер данных до 8 байт (такие данные к тому же очень неудобно считывать). Это привело бы к снижению производительности.

Иная участь постигла 32-разрядные указатели: они полностью исчезли. Дело в том, что использование 32-разрядных указателей накладывает ограничение на объем адресуемой памяти. Например, одним из главных преимуществ плоской модели памяти (она является основной для программирования 32-разрядных приложений для платформы NT), использующей 32-разрядные указатели, является возможность создания сегментов объемом до 4 Гбайт. Новые 64-разрядные указатели обеспечивают возможность адресации до 16 Тбайт памяти (1 Тбайт = 1012 Мбайт). Современными бизнес-приложениями этот объем вполне востребован.

Функции в Win64 API претерпели незначительные изменения. Только названия некоторых из них были изменены так, чтобы отразить принадлежность к 64-разрядной платформе. В большинстве случаев изменениям подверглись лишь типы параметров, являющихся аргументами вызова функций. Все остальные преимущества (возможность отказаться от использования файлов подкачки и т. д.) связаны либо с увеличившимся объемом адресации, либо с новыми типами данных.

Конструктивное исполнение системных плат. Форм фактор

Конструкция системной платы ЭВМ

Матери́нская пла́та (англ. motherboard, MB, также используется название англ. mainboard - главная плата; сленг. мама, мать, материнка) - это сложная многослойная печатная плата, на которой устанавливаются основные компоненты персонального компьютера (центральный процессор, контроллер ОЗУ и собственно ОЗУ, загрузочное ПЗУ, контроллеры базовых интерфейсов ввода-вывода). Как правило, материнская плата содержит разъёмы (слоты) для подключения дополнительных контроллеров, для подключения которых обычно используются шины USB, PCI и PCI-Express.

Центральный процессор

Набор системной логики (англ. chipset) - набор микросхем, обеспечивающих подключение ЦПУ к ОЗУ и контроллерам периферийных устройств. Как правило, современные наборы системной логики строятся на базе двух СБИС: «северного» и «южного мостов».

Северный мост (англ. Northbridge), MCH (Memory controller hub), системный контроллер - обеспечивает подключение ЦПУ к узлам, использующим высокопроизводительные шины: ОЗУ, графический контроллер.

Для подключения ЦПУ к системному контроллеру могут использоваться такие FSB-шины, как Hyper-Transport и SCI.

Обычно к системному контроллеру подключается ОЗУ. В таком случае он содержит в себе контроллер памяти. Таким образом, от типа применённого системного контроллера обычно зависит максимальный объём ОЗУ, а также пропускная способность шины памяти персонального компьютера. Но в настоящее время имеется тенденция встраивания контроллера ОЗУ непосредственно в ЦПУ (например, контроллер памяти встроен в процессор в AMD K8 и Intel Core i7), что упрощает функции системного контроллера и снижает тепловыделение.

В качестве шины для подключения графического контроллера на современных материнских платах используется PCI Express. Ранее использовались общие шины (ISA, VLB, PCI) и шина AGP.

Южный мост (англ. Southbridge), ICH (I/O controller hub), периферийный контроллер - содержит контроллеры периферийных устройств (жёсткого диска, Ethernet, аудио), контроллеры шин для подключения периферийных устройств (шины PCI, PCI-Express и USB), а также контроллеры шин, к которым подключаются устройства, не требующие высокой пропускной способности (LPC - используется для подключения загрузочного ПЗУ; также шина LPC используется для подключения мультиконтроллера (англ. Super I/O) - микросхемы, обеспечивающей поддержку «устаревших» низкопроизводительных интерфейсов передачи данных: последовательного и параллельного интерфейсов, контроллера клавиатуры и мыши).

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

Оперативная память (также оперативное запоминающее устройство, ОЗУ) - в информатике - память, часть системы памяти ЭВМ, в которую процессор может обратиться за одну операцию (jump, move и т. п.). Предназначена для временного хранения данных и команд, необходимых процессору для выполнения им операций. Оперативная память передаёт процессору данные непосредственно, либо через кэш-память. Каждая ячейка оперативной памяти имеет свой индивидуальный адрес.

ОЗУ может изготавливаться как отдельный блок или входить в конструкцию однокристальной ЭВМ или микроконтроллера.

Загрузочное ПЗУ - хранит ПО, которое исполняется сразу после включения питания. Как правило, загрузочное ПЗУ содержит BIOS, однако может содержать и ПО, работающие в рамках EFI.