Что такое архитектура процессора? Кто создает процессоры на основе ARM архитектуры. История возникновения процессоров

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

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

Кэш-память построена на триггерах, которые, в свою очередь, состоят из транзисторов. Группа транзисторов занимает гораздо больше места, нежели те же самые конденсаторы, из которых состоит оперативная память. Это тянет за собой множество трудностей в производстве, а также ограничения в объёмах. Именно поэтому кэш память является очень дорогой памятью, при этом обладая ничтожными объёмами. Но из такой структуры, вытекает главное преимущество такой памяти - скорость. Так как триггеры не нуждаются в регенерации, а время задержки вентиля, на которых они собраны, невелико, то время переключения триггера из одного состояния в другое происходит очень быстро. Это и позволяет кэш-памяти работать на таких же частотах, что и современные процессоры.

Также, немаловажным фактором является размещение кэш-памяти. Размещена она, на самом кристалле процессора, что значительно уменьшает время доступа к ней. Ранее, кэш память некоторых уровней, размещалась за пределами кристалла процессора, на специальной микросхеме SRAM где-то на просторах материнской платы. Сейчас же, практически у всех процессоров, кэш-память размещена на кристалле процессора.

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

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

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

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

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

Современные процессоры, оснащены кэшем, который состоит, зачастую из 2 -ух или 3-ёх уровней. Конечно же, бывают и исключения, но зачастую это именно так.

В общем, могут быть такие уровни: L1 (первый уровень), L2 (второй уровень), L3 (третий уровень). Теперь немного подробнее по каждому из них:

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

Мы будем рассматривать объёмы на процессоре высокого уровня производительности Intel Core i7-3770K. Данный процессор оснащен 4х32 Кб кэш-памяти первого уровня 4 x 32 КБ = 128 Кб. (на каждое ядро по 32 КБ)

2. Кэш второго уровня (L2) - второй уровень более масштабный, нежели первый, но в результате, обладает меньшими «скоростными характеристиками». Соответственно, служит буфером между уровнем L1 и L3. Если обратиться снова к нашему примеру Core i7-3770 K, то здесь объём кэш-памяти L2 составляет 4х256 Кб = 1 Мб.

3. Кэш третьего уровня (L3) - третий уровень, опять же, более медленный, нежели два предыдущих. Но всё равно он гораздо быстрее, нежели оперативная память. Объём кэша L3 в i7-3770K составляет 8 Мбайт. Если два предыдущих уровня разделяются на каждое ядро, то данный уровень является общим для всего процессора. Показатель довольно солидный, но не заоблачный. Так как, к примеру, у процессоров Extreme-серии по типу i7-3960X, он равен 15Мб, а у некоторых новых процессоров Xeon, более 20.

Рассмотрим CISK и RISK архитектуру.

CISC -- концепция проектирования процессоров, которая характеризуется следующим набором свойств:

Нефиксированное значение длины команды;

Арифметические действия кодируются в одной команде;

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

Типичными представителями являются процессоры на основе команд x86 (исключая современные Intel Pentium 4, Pentium D, Core, AMD Athlon, Phenom, которые являются гибридными) и процессоры Motorola MC680x0.

Наиболее распространённая архитектура современных настольных, серверных и мобильных процессоров построена по архитектуре Intel x86 (или х86-64 в случае 64-разрядных процессоров). Формально, все х86-процессоры являлись CISC-процессорами, однако новые процессоры, начиная с Intel Pentium Pro, являются CISC-процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISC-инструкции процессоров x86 в более простой набор внутренних инструкций RISC.

В микропроцессор встраивается аппаратный транслятор, превращающий команды x86 в команды внутреннего RISC-процессора. При этом одна команда x86 может порождать несколько RISC-команд (в случае процессоров типа P6 -- до четырёх RISC-команд в большинстве случаев). Исполнение команд происходит на суперскалярном конвейере одновременно по несколько штук.

Это потребовалось для увеличения скорости обработки CISC-команд, так как известно, что любой CISC-процессор уступает RISC-процессорам по количеству выполняемых операций в секунду. В итоге, такой подход и позволил поднять производительность CPU.

Недостатки CISK архитектуры:

Высокая стоимость аппаратной части;

Сложности с распараллеливанием вычислений.

Методика построения системы команд CISC противоположна другой методике - RISC. Различие этих концепций состоит в методах программирования, а не в реальной архитектуре процессора. Практически все современные процессоры эмулируют наборы команд как RISC так и CISC типа.

В рабочих станциях, серверах среднего звена и персональных компьютерах используются процессоры с CISC. Наиболее распространенная архитектура команд процессоров мобильных уcтройств - SOC и мэйнфреймов - RISC. В микроконтроллерах различных устройств RISC используется в подавляющем большинстве случаев.

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

Наборы инструкций в более ранних архитектурах для облегчения ручного написания программ на языках ассемблеров или прямо в машинных кодах, а также для упрощения реализации компиляторов, выполняли как можно больше работы. Нередко в наборы включались инструкции для прямой поддержки конструкций языков высокого уровня. Другая особенность этих наборов -- большинство инструкций, как правило, допускали все возможные методы адресации -- к примеру, и операнды, и результат в арифметических операциях доступны не только в регистрах, но и через непосредственную адресацию, и прямо в памяти. Позднее такие архитектуры были названы CISC. Однако многие компиляторы не задействовали все возможности таких наборов инструкций, а на сложные методы адресации уходит много времени из-за дополнительных обращений к медленной памяти. Было показано, что такие функции лучше исполнять последовательностью более простых инструкций, если при этом процессор упрощается и в нём остаётся место для большего числа регистров, за счёт которых можно сократить количество обращений к памяти. В первых архитектурах, причисляемых к RISC, большинство инструкций для упрощения декодирования имеют одинаковую длину и похожую структуру, арифметические операции работают только с регистрами, а работа с памятью идёт через отдельные инструкции загрузки (load) и сохранения (store). Эти свойства и позволили лучше сбалансировать этапы конвейеризации, сделав конвейеры в RISC значительно более эффективными и позволив поднять тактовую частоту.

Характерные особенности RISK процессоров:

Фиксированная длина машинных инструкций (например, 32 бита) и простой формат команды.

Специализированные команды для операций с памятью -- чтения или записи. Операции вида «прочитать-изменить-записать» отсутствуют. Любые операции «изменить» выполняются только над содержимым регистров (т. н. архитектура load-and-store).

Большое количество регистров общего назначения (32 и более).

Отсутствие поддержки операций вида «изменить» над укороченными типами данных -- байт, 16-битное слово. Так, например, система команд DEC Alpha содержала только операции над 64-битными словами, и требовала разработки и последующего вызова процедур для выполнения операций над байтами, 16- и 32-битными словами.

Отсутствие микропрограмм внутри самого процессора. То, что в CISC-процессоре исполняется микропрограммами, в RISC-процессоре исполняется как обыкновенный (хотя и помещённый в специальное хранилище) машинный код, не отличающийся принципиально от кода ядра ОС и приложений. Так, например, обработка отказов страниц в DEC Alpha и интерпретация таблиц страниц содержалась в так называемом PALCode (Privileged Architecture Library), помещённом в ПЗУ. Заменой PALCode можно было превратить процессор Alpha из 64-битного в 32-битный, а также изменить порядок байтов в слове и формат входов таблиц страниц виртуальной памяти.

Рассмотрим конвейеры.

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

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

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

Считается, что впервые конвейерные вычисления были использованы либо в проекте ILLIAC II (англ. en:ILLIAC II), либо в проекте IBM Stretch (англ. en:IBM Stretch). Проект IBM Stretch предложил термины «получение» (англ. «Fetch»), «расшифровка» (англ. «Decode») и «выполнение» (англ. «Execute»), которые затем стали общеупотребимыми.

Многие современные процессоры управляются тактовым генератором. Процессор внутри состоит из логических элементов и ячеек памяти -- триггеров. Когда приходит сигнал от тактового генератора, триггеры приобретают своё новое значение и логике требуется некоторое время для декодирования новых значений. Затем приходит следующий сигнал от тактового генератора, триггеры принимают новые значения, и так далее.

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

При написании ассемблерного кода (либо разработке компилятора, генерирующего последовательность инструкций) делается предположение, что результат выполнения инструкций будет точно таким, как если бы каждая инструкция заканчивала выполняться до начала выполнения следующей за ней. Использование конвейера сохраняет справедливость этого предположения, однако не обязательно сохраняет порядок выполнения инструкций. Ситуация, когда одновременное выполнение нескольких инструкций может привести к логически некорректной работе конвейера, известна как «конфликт конвейера» (англ. Pipeline hazard). Существуют различные методы устранения конфликтов (форвардинг и другие).

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

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

Не все инструкции являются независимыми. В простейшем конвейере, где обработка инструкции представлена пятью стадиями, для обеспечения полной загрузки, в то время пока заканчивается обработка первой инструкции, должно обрабатываться параллельно ещё четыре последовательных независимых инструкции. Если последовательность содержит инструкции, зависимые от выполняемых в данный момент, то управляющая логика простейшего конвейера приостанавливает несколько начальных стадий конвейера, помещая этим самым в конвейер пустую инструкцию («пузырёк»), иногда неоднократно, -- до тех пор, пока зависимость не будет разрешена. Существует ряд приёмов, таких как форвардинг, значительно снижающих необходимость приостанавливать в таких случаях часть конвейера. Однако зависимость между инструкциями, одновременно обрабатываемыми процессором, не позволяет добиться увеличения производительности кратно количеству стадий конвейера в сравнении с бесконвейерным процессором.

Преимущества и недостатки.

Конвейер помогает не во всех случаях. Существует несколько возможных минусов. Конвейер инструкций можно назвать «полностью конвейерным», если он может принимать новую инструкцию каждый машинный цикл (англ. en:clock cycle). Иначе в конвейер должны быть вынужденно вставлены задержки, которые выравняют конвейер, при этом ухудшат его производительность.

Преимущества:

Время цикла процессора уменьшается, таким образом увеличивая скорость обработки инструкций в большинстве случаев.

Некоторые комбинационные логические элементы, такие как сумматоры (англ. adders) или умножители (англ. multipliers) могут быть ускорены путем увеличения количества логических элементов. Использование конвейера может предотвратить ненужное наращивание количества элементов.

Недостатки:

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

Задержка инструкций в беcконвейерном процессоре слегка ниже, чем в конвейерном эквиваленте. Это происходит из-за того, что в конвейерный процессор должны быть добавлены дополнительные триггеры.

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

центральный графический процессор производитель

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

Основные понятия

Микропроцессор — это программно-управляемое устройство в виде интегральной микросхемы (БИС или СБИС), предназначенное для обработки цифровой информации. Поскольку все современные микро-процессоры имеют интегральное исполнение, синонимом микропроцессора стал термин процессор.

Микроконтроллер — это специализированный процессор, предназначен-ный для реализации функций управления (control— управление).

{xtypo_quote}Цифровой сигнальный процессор(Digital Signal Processor — DSP) — это специа-лизированный процессор, предназначенный для обработки цифровых сигналов. {/xtypo_quote}
Микропроцессорная система представляет собой функционально законченное изделие, состоящее из нескольких цифровых устройств, включая процессор. Это понятие объединяет широкий набор законченных изделий, начиная с микроконтроллеров, выполненных на интегральных микросхемах, и кон-чая компьютерными системами, представляющими собой набор отдельных конст-руктивно оформленных устройств (системный блок, клавиатура, монитор и др.). В дальнейшем рассматриваются простейшие (однокристальные) микропроцес-сорные системы, содержащие помимо процессора основную память и устройства ввода/вывода. Такие микропроцессорные системы можно отнести к классу микро-процессоров.

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

● физическую организацию в виде принципиальной схемы;

● логическую организацию в виде структурно-функциональной схемы.

В дальнейшем рассматривается организация микропроцессоров на логиче-ском уровне, или структурно-функциональная организация процессоров.

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

{xtypo_quote}Например, современные 32-разрядные процессоры х86 с архитектурой IA-32 (Intel Architecture — 2 bit) имеют стандарт-ный набор регистров, общую систему основных команд, одинаковые способы организации и адресации памяти, защиты памяти и обслуживания прерываний. Отметим, что понятие архитектуры в большей степени характеризует свойства системы, чем устройства. {/xtypo_quote}

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

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

● CISC-архитектуру, которая относится к процессорам (компьютерам) с полным набором команд (Complete Instruction Set Computer— CISC). Она реализова-на во многих типах микропроцессоров (например Pentium), выполняющих большой набор разноформатных команд с использованием многочисленных способов адресации.

Система команд процессоров с CISC-архитектурой может содержать не-сколько сотен команд разного формата (от 1 до 15 байт), или степени слож-ности, и использовать более 10 различных способов адресации, что позволя-ет программисту реализовать наиболее эффективные алгоритмы решения различных задач.

Развитие традиционных CISC

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

● RISC-архитектуру, которая относится к процессорам (компьютерам) с сокра-щенным набором команд (Reduced instruction Set Computer — RISC). Появле-ние RISC -архитектуры продиктовано тем, что многие CISC -команды и спо-собы адресации используются достаточно редко. Основная особенность RISC-архитектуры проявляется в том, что система команд состоит из неболь-шого количества часто используемых команд одинакового формата, которые могут быть выполнены за один командный цикл (такт) центрального процес-сора. Более сложные, редко используемые команды реализуются на про-граммном уровне. Однако за счет значительного повышения скорости испол-нения команд средняя производительность RISC-процессоров может оказать-ся выше, чем у процессоров с CISC-архитектурой.

{xtypo_quote}Большинство команд RISC -процессоров связано с операцией регистр-регистр. Для обращения к памяти оставлены наиболее простые с точки зре-ния временных затрат операции загрузки в регистры и записи в память. {/xtypo_quote}

Современные RISC -процессоры реализуют около 100 команд, имеющих фиксированный формат длиной 4 байта, и используют небольшое число наи-более простых способов адресации (регистровую, индексную и некоторые другие).

Для сокращения количества обращений к внешней оперативной памяти RISC -процессоры содержат десятки-сотни регистров общего назначения (РОН), тогда как в CISC -процессорах всего 8-16 регистров. Обращение к внешней памяти в RISC-процессорах используется только в операциях за-грузки данных в РОН или пересылки результатов из РОН в память. За счет со-кращения аппаратных средств, необходимых для декодирования и выполне-ния сложных команд, достигается существенное упрощение интегральных схем RISC-процессоров и снижение их стоимости. Кроме того, значительно повышается производительность. Благодаря указанным достоинствам во многих современных
CI SC -процессорах (последние модели Pentium и К7) ис-пользуется RISC-ядро. При этом сложные CI SC-команды предварительно преобразуются в последовательность простых RISC-операций и быстро вы-полняются RISC-ядром;

● VLIW-архитектуру, которая относится к микропроцессорам с использованием очень длинных команд (Very Large Instruction Word— VLIW). Отдельные поля команды содержат коды, обеспечивающие выполнение различных операций. Одна VLIW -команда может выполнить сразу несколько операций одновремен-но в различных узлах микропроцессора. Формирование «длинных» VLIW - koманд производит соответствующий компилятор при трансляции программ, написанных на языке высокого уровня.

{xtypo_quote}VLIW -архитектура реализована в неко-торых типах современных микропроцессоров и является весьма перспектив-ной для создания нового поколения сверхвысокопроизводительных процес-соров. {/xtypo_quote}

По способу организации выборки команд и данных различа-ют два вида архитектур:

● принстонская архитектура, или архитектура фон-Неймана, особенностью которой является (рис. 2.1.1) использование:

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

Общей шины, по которой в процессор поступают команды и данные, а в опе-ративную память записываются результаты, что значительно упрощает отладку, тестирование и текущий контроль функционирования системы, повышает ее надежность. Чтобы отделить команду от данных, первым из памяти всегда поступает код выполняемой операции, а затем следуют данные. По умолчанию код операции загружается в регистр команд, а дан-ные — в блок регистров (рис. 2.1.1). Из-за ограниченного числа внешних выводов общая шина обычно работает в режиме временного мультиплек-сирования, т. е. противоположные направления обмена данными между микропроцессором, памятью или другими внешними устройствами разде-лены во времени.

Недостаток принстонской архитектуры

Использование общей шины для пе-редачи команд и данных ограничивает производительность цифровой системы;

● гарвардская архитектура (создатель Говард Айкен), особенностью которой является физическое разделение памяти команд (программ) и памяти данных (рис. 2.1.2). Это обстоятельство вызвано постоянно возрастающими требова-ниями к производительности микропроцессорных систем. Память команд и память данных соединяются с процессором отдельными шинами. Благодаря разделению потоков команд и данных, а также совмещению операций их вы-борки (и записи результатов обработки) обеспечивается более высокая про-изводительность, чем при использовании принстонской архитектуры.

Недостатки гарвардской архитектуры

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

В то же время во внешней структуре большинства микропроцессор-ных систем реализуются принципы принстонской архитектуры.

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

В процессе работы процессор обрабатывает данные, которые находятся в его регистрах, в оперативной памяти и внешних буферных устройствах процессора. Всего существует 3 информационных потока, обрабатываемых процессором:

  1. Данные подлежащие обработки

Совокупность разнообразных команд, которые может выполнить процессор над данными, образует систему команд процессора. Чем больше набор команд процессора, тем сложнее его архитектура, тем длиннее запись команд в байтах, тем дольше средняя продолжительность выполнения команд процессора. Процессоры Intelнасчитывают более 1000 команд и относятся к процессорам с расширенной системой команд (CISC).

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

    Используя вызовы функций операционной системы(прерывания DOS,APIWindowsи т.д.);

    Используя вызовы функций базовой системы ввода-вывода (BIOS);

    Непосредственно взаимодействуя с известным им «железом» - портами и памятью устройств или контроллеров интерфейсов.

Такое разнообразие существует благодаря изначальной открытости архитектуры первых IBMPCи сохранения имеющихся решений (пускай иногда и не самых лучших) в последующих моделях, обрастающих новыми узлами.

Облик PC-совместимого компьютера в значительной степени определяется разработчиками из фирмMicrosoftиIntel. Для этих фирм стало уже традицией выпускать объемистый документ, диктующий разработчикам аппаратуры требования для получения желаемого логотипа “DesignedforMicrosoftWindows”.

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

В настоящее время выделяют следующие типы архитектур процессора:

    RISC – возможность выполнения меньшего количества команд, но с большой скоростью Команды состоящие из более простых команд, выполняются более производительно и с большой скоростью. Недостатки: сложные алгоритмы не всегда можно разбить на последовательность простых команд.

    CISC – процессоры универсальны и могут использоваться в любых компьютерных системах.

    MISC – промежуточный тип архитектуры. Имеет внутреннее ядро микропроцессора, выполненное поRISC-архитектуре и внешнее выполненное по структуреCISC.

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

Шины расширения является средствами подключения системного уровня: они позволяют адаптерам и контроллерам непосредственно использовать системные ресурсы PC– пространства памяти и ввода-вывода, прерывания, каналы прямого доступа к памяти. Как следствие, изготовителям модулей расширения приходится точно следовать протоколам шины, включая жесткие частотные и нагрузочные параметры, а также временные диаграммы. Отклонения приводят к несовместимости с некоторыми системными платами. Если при подключении к внешним интерфейсам это ведет к неработоспособности только самого устройства, то некорректное подключение к системной шине может блокировать работу всего компьютера. Следует также учитывать ограниченность ресурсовPC. Самые дефицитные из них – линии запросов прерываний, проблема прерываний, известная по шинеISA, так и не была радикально решена с переходом наPCI. Другой дефицит – каналы прямого доступа шиныISA, используемые и для прямого управления шиной, - в шинеPCIисчез. Доступное адресное пространство памяти и портов ввода-вывода, в котором было тесновато абонентам шиныISA, вPCIсущественно расширено. Проблемы распределения ресурсов на шинах решаются по-разному, но чаще всего применяется технологияPnP.

В современных настольных компьютерах основной шиной расширения является PCI, портAGPприсутствует практически повсеместно, шинаISA, несмотря на рекомендации отойти от нее, сохраняется как средство подключения старых карт расширений.

Выделяют 3 вида шин:

    Шина данных

    Адресная шина

    Шина команд

Шина данных – происходит копирование данных из оперативной памяти, в регистре процессора и наоборот. 64 разрядная.

Адресная шина – данные, которые передаются, трактуются как адреса ячеек оперативной памяти. С помощью этой шины процессор считывает адреса команд, которые надо выполнить, а также данные, которыми оперируют команды. 32-разрядная.

Шина команд (управления)– поставляет команды, которые выполняет процессором. Простые команды укладываются в один байт, более сложные в 2,3 байта. 32-разрядная.

Магистрально-модульный принцип построения компьютера

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

    ISA – позволяет связать между собой все устройства в системном блоке, а так же обеспечить подключение новых устройств через стандартные слоты. Пропускная способность составляет 5,5 Мб в секунду. Сейчас используют только для подключения внешних устройств, которые не требуют большой пропускной способности (звук, модемы).

    EISA - 32-битная шина средней производительности, применяемая в основном для подключения контроллеров дисков и адаптеров локальных сетей в серверах. В настоящее время вытеснена шинойPCI. Раньше применялась в серверных платформах, где необходимо устанавливать множество дополнительных плат расширения. В слотEISAможно устанавливать картыISA(но не наоборот). Пропускная способность до 32-Мб-в секунду.

    VLB – локальная шина, которая представляет собой соединение процессора с оперативной памятью в обход основной магистральной шины. Эта шина работает на более высокой частоте и позволяет увеличить скорость передачи данных. Эта шина имеет интерфейс для подключения видео адаптера необходимого для подключения монитора в состав вычислительного комплекса. Пропускная способность до 130 Мб в секунду. Рабочая тактовая частота – 50 МГц. Зависит от типа устройств подключаемых к этой шине.

    PCI – стандарт подключения внешних устройств который введен дляPentium. По своей сути это интерфейс - локальные шины с разъемами для подключения внешних компонентов вычислительных систем. Тактовая частота - до 166 МГц и обеспечивает передачу информации со скоростью 264 Мб в секунду независимо от количества подключенных устройств. С введением этого стандарта появилась возможность для подключения технологии “Plug&Play”: после физического подключения устройства обеспечивается автоматическая конфигурация в составе вычислительной системы.

    FSB – шина, которая используется для связи процессора с оперативной памятью компьютера, эта шина работает на частоте 133-МГц и выше. Пропускная способность до 800 Мб/сек. Частота работы шиныFSBявляется основным параметром, который указывается в спецификации материнской платы.

    AGP – специальный шинный интерфейс, который предназначен для подключения видео адаптера. Этот интерфейс необходим в современных вычислительных устройствах, потому что параметры шиныPCIне отвечают требованиям видеоадаптера по быстродействию. Пропускная способность 1066 Мб/сек. В отличие от шиныPCIдля портаAGPвозникают проблемы совместимости карт акселераторов с типом системной платы (чипсета) и процессора даже при формальном соответствии их параметров.

    USB – стандарт универсальной последовательной шины, который определяет способ взаимодействия компьютера с современным периферийном оборудованием. Этот порт разрешает подключать 256 различных устройств с последовательным интерфейсом, причем устройства могут подключаться последовательно (цепочкой). Преимущество этого стандарта в том, что периферийное устройство можно подключать. Во время текущего сеанса работы без перезагрузки. Этот порт позволяет соединять компьютеры в сеть без использования специальной аппаратуры и программного обеспечения.

Конфигурирование шин расширения предполагает в основном настройку их временных параметров:

    Для шины PCIзадается частота синхронизации, кроме того, сCMOSSetupдля этой шины могут определяться некоторые её возможные режимы – конкурентные обращения, слежение за палитрами.

    Для порта AGPзадается частота, поддерживаемые режимы, а также апертурыAGP.

    Для шин ISAиPCIиногда настройкамиCMOSSetupприходится распределять системные ресурсы (главным образом, линии запросов прерываний).

    Для шины ISAкроме частоты (которая должна быть порядка 8 МГц) задают время восстановления для 8- и 16-битных обращений к памяти и вводу-выводу. Неустойчивая работа адаптеров может потребовать замедления шиныISA, но в настоящее время понижение её производительности не сильно отражается на производительности компьютера в целом.

Существуют процессоры различной архитектуры.

CISC (Complex Instruction Set Computing). Эта конфигурация для повышения гибкости и расширения возможностей предусматривает:

· увеличение числа различных по формату и длине команд;

· введение большого числа различных режимов адресации;

· сложную кодировку инструкции.

Процессору с архитектурой CISC приходится иметь дело с более сложными инструкциями неодинаковой длины. Выполнение одиночной CISC-инструкции может происходить быстрее, однако обрабатывать несколько таких инструкций параллельно сложнее.

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

RISC (Reduced Instruction Set Computing). Процессор с сокращенным набором команд. Система команд имеет упрощенный вид. Все команды одинакового формата с простой кодировкой. Обращение к памяти происходит посредством команд загрузки и записи, остальные команды типа регистр-регистр. Команда, поступающая в CPU, уже разделена по полям и не требует дополнительной дешифрации.

Часть кристалла освобождается для включения дополнительных компонентов. Степень интеграции ниже, чем в предыдущем архитектурном варианте, поэтому при высоком быстродействии допускается более низкая тактовая частота. Команда меньше загромождает ОЗУ, CPU дешевле. Программной совместимостью указанные архитектуры не обладают. Отладка программ на RISC более сложна. Данная технология может быть реализована программно-совместимым с технологией CISC (например, суперскалярная технология).

Поскольку RISC-инструкции просты, для их выполнения нужно меньше логических элементов, что в конечном итоге снижает стоимость процессора. Но большая часть программного обеспечения сегодня написана и откомпилирована специально для CISC-процессоров фирмы Intel. Для использования архитектуры RISC нынешние программы должны быть перекомпилированы, а иногда и переписаны заново.

MISC (Multipurpose lnstruction Set Computer) сочетает преимущества вышерассмотренных архитектур. Элементная база состоит из двух частей, которые либо выполнены в отдельных корпусах, либо объединены. Основная часть – RISC CPU, расширяемый подключением второй части – ПЗУ микропрограммного управления. Система приобретает свойства CISC. Основные команды работают на RISC CPU, а команды расширения преобразуются в адрес микропрограммы. RISC CPU выполняет все команды за один такт, а вторая часть эквивалентна CPU со сложным набором команд. Наличие ПЗУ устраняет недостаток RISC, выраженный в том, что при компиляции с языка высокого уровня микрокод генерируется из библиотеки стандартных функций, занимающей много места в ОЗУ. Поскольку микропрограмма уже дешифрована и открыта для программиста, то времени выборки из ОЗУ на дешифрацию не требуется.

План
1. Архитектуры процессоров.
1.1. RISC.
1.2. CISC.
1.3. Параметры процессоров.
1.4. Процесс производства.

1. АРХИТЕКТУРЫ ПРОЦЕССОРОВ
Процессор, или более полно - микропроцессор, часто
называемый ЦПУ (CPU - central processing unit), является
центральным компонентом компьютера. Это разум, который
прямо или косвенно управляет всем происходящим внутри
компьютера.
Когда фон Нейман впервые предложил хранить после-
довательность инструкций, так называемые программы, в той
же памяти, что и данные, это была поистине новаторская идея.
Опубликована она в «First Draft of a Report on the EDVAC» в
1945 г. Этот отчет описывал компьютер состоящим из четы-
рех основных частей: центрального арифметического устрой-
ства, центрального управляющего устройства, памяти и средств
ввода/вывода.
Сегодня почти все процессоры имеют фон-неймановскую
архитектуру.
Каждый микропроцессор имеет определенное число эле-
ментов памяти, называемых регистрами, арифметико-логичес-
кое устройство (АЛУ) и устройство управления.
Регистры используются для временного хранения вы-
полняемой команды, адресов памяти, обрабатываемых дан-
ных и другой внутренней информации микропроцессора.
В АЛУ производится арифметическая и логическая, об-
работка данных.
Устройство управления реализует временную диаграм-
му и вырабатывает необходимые управляющие сигналы для
внутренней работы микропроцессора и связи его с другой ап-
паратурой через внешние шины микропроцесс ера.
На данный момент существует несколько направлений в
производстве микропроцессоров. Они различается принци-
пами построения архитектуры процессора. Накоолее распрос-
траненными являются архитектуры RISC и CISC.
1.1. RISC
Микропроцессоры с архитектурой RISC (Reduced Instruction
Set Computers) используют сравнительно ызболылой (со-
кращенный) набор наиболее употребимых ком ад, определен-
ный в результате статистического анализа большого числа про-
грамм для основных областей применения CISC-процессоров
исходной архитектуры. Все команды работают с операндами и
имеют одинаковый формат. Обращение к памяти выполняет-
ся с помощью специальных команд загрузки регистра и запи-
си. Простота структуры и небольшой набор к J панд позволя-
ют реализовать полностью их аппаратное выполнение и эф-
Процессор 269
фективный конвейер при небольшом объеме оборудования.
Арифметику RISC-процессоров отличает высокая степень
дробления конвейера. Этот прием позволяет увеличить так-
товую частоту (а значит, и производительность) компьютера;
чем более элементарные действия выполняются в каждой фазе
работы конвейера, тем выше частота его работы. RISC-про-
цессоры с самого начала ориентированы на реализацию всех
возможностей ускорения арифметических операций, поэто-
му их конвейеры обладают значительно более высоким бы-
стродействием, чем в CISC-процессорах. Поэтому RISC-про-
цессоры в 2-4 раза быстрее имеющих ту же тактовую час-
тоту CISC-процессоров с обычной системой команд и более
высокопроизводительны, несмотря на больший размер про-
грамм. RISC-архитектура построена на 4 основных прин-
ципах:
1. Любая операция должна выполняться за один такт,
вне зависимости от ее типа.
2. Система команд должна содержать минимальное коли-
чество наиболее часто используемых простейших инструкций
одинаковой длины.
3. Операции обработки данных реализуются только в
формате «регистр - регистр» (операнды выбираются из опе-
ративных регистров процессора, и результат операции запи-
сывается также в регистр; а обмен между оперативными реги-
страми и памятью выполняется только с помощью команд за-
грузки/записи).
4. Состав системы команд должен быть удобен для ком-
пиляции операторов языков высокого уровня.
Усложнение RISC-процессоров фактически приближает
их архитектуру к CISC-архитектуре.
В настоящее время число процессоров с RISC-архитек-
турой существенно возросло и все ведущие фирмы США их
производят, в том числе фирмы Intel, Motorola - производи-
тели основных семейств процессоров с CISC-архитектурой.
1.2. CISC
Микропроцессоры с архитектурой CISC (Complex
Instruction Set Computers - архитектура вычислений с полной
системой команд) реализуют на уровне машинного языка ком-
плексные наборы команд различной сложности, от простых,
характерных для микропроцессора первого поколения, до
очень сложных. Большинство современных процессоров для
персональных компьютеров построено по архитектуре CISC.
В последнее время появились гибридные процессоры,
которые имеют систему команд CISC, однако внутри преобра-
зовывают их в цепочки RISC-команд, которые и исполняются
ядром процессора.
Постепенное усложнение CISC-процессоров происходит
в направлении более совершенного управления машинными
ресурсами, а также в направлении сближения машинных язы-
ков с языками высокого уровня.
В то же время сложная система команд и переменный
формат команды процессором с CISC-архитектурой привели
к быстрому росту сложности схем. Так, процессор 8086 со-
держал 29 тыс. транзисторов, 80 386 - 275 000, Pentium -
3 100 000, Pentium 4 - 42 млн транзисторов. Для того чтобы
такие процессоры вообще могли работать с приемлемым энер-
гопотреблением и размещаться на ограниченной площади, про-
изводители работают над миниатюризацией транзисторов. Уже
достигнут уровень 0,09 мкм.
1.3. Параметры процессоров
Структуры различных типов процессоров могут существен-
но различаться, однако с точки зрения пользователя наиболее
важными параметрами являются архитектура, адресное простран-
ство памяти, разрядность шины данных, быстродействие.
Архитектуру микропроцессора (МП) определяет разряд-
ность слова и внутренней шины данных МП. Первые МП ос-
новывались на 4-разрядной архитектуре. Первые ПЭВМ ис-
пользовали МП с 8-разрядной архитектурой, а современные
МП основаны на 32- и 64-разрядной архитектуре.
Микропроцессоры с 4- и 8-разрядной архитектурой ис-
пользовали последовательный принцип выполнения команд,
при котором очередная операция начинается только после
выполнения предыдущей. В некоторых МП с 16-разрядной
архитектурой используются принципы параллельной работы,
при которой одновременно с выполнением текущей команды
производятся предварительная выборка и хранение последу-
ющих команд. В МП с 32-разрядной архитектурой использу-
ется конвейерный метод выполнения команд, при котором
несколько внутренних устройств МП работают параллельно,
производя одновременно обработку нескольких последова-
тельных команд программы.
Адресное пространство памяти определяется разряд-
ностью адресных регистров и адресной шины МП. В 8-раз-
рядных МП адресные регистры обычно составляются из
двух 8-разрядных регистров, образуя 16-разрядную шину,
адресующую 68 КБ памяти. В 16-разрядных МП, как пра-
вило, используются 20-разрядные адресные регистры, ад-
ресующие 1 МБ памяти. В 32-разрядных МП используются
24- и 32-разрядные адресные регистры, адресующие от 16 МБ
до 4 ГБ памяти.
Для выборки команд и обмена данными с памятью МП
имеют шину данных, разрядность которой, как правило, сов-
падает с разрядностью внутренней шины данных, определяе-
мой архитектурой МП. Однако для упрощения связи с внеш-
ней аппаратурой внешняя шина данных может иметь разряд-
ность меньшую, чем внутренняя шина и регистры данных.
Например, некоторые МП с 16-разрядной архитектурой име-
ют 8-разрядную внешнюю шину данных. Они представляют
собой специальные модификации обычных 16-разрядных МП
и обладают практически той же вычислительной мощностью.
Одним из важных параметров МП является тактовая
частота его работы и работы системной шины, которая обыч-
но задается внешними синхросигналами. Для современных про-
цессоров стандартными являются частоты системной шины
66, 100, 133 МГц, а собственная частота достигает 3 ГГц. Вы-
полнение простейших команд (например, сложение двух опе-
рандов из регистров или пересылка операндов в регистрах
МП) требует минимально двух периодов тактовых импуль-
сов (для выборки команды и ее выполнения). Более сложные
команды требуют для выполнения до 10-20 периодов такто-
вых импульсов. Если операнды находятся не в регистрах, а в
памяти, дополнительное время расходуется на выборки опе-
рандов в регистры и запись результата в память.
Скорость работы МП определяется не только тактовой
частотой, но и набором его команд, их гибкостью, развитой
системой прерываний.
В соответствии с законом Мура (сформулированным в
1965 г. Гордоном Муром, одним из создателей Intel), CPU
удваивает свою мощность и возможности каждые 18 месяцев.
Этот закон действует на протяжении уже почти сорока лег.
270 Информатика
Однако законы физики ограничивают разработчиков
в непосредственном увеличении частоты, и хотя частоты
растут каждый год, это не может дать того прироста произ-
водительности, что мы используем сегодня. Вот почему ин-
женеры постоянно ищут способ заставить процессор вы-
полнять больше работы за каждый тик. Развитие состоит в
расширении шины данных и регистров. Даже 4-битные про-
цессоры способны складывать 32-битные числа, правда, вы-
полнив массу инструкций; 32-битные процессоры решают
эту задачу в одну инструкцию. Большинство сегодняшних
процессоров имеют 32-разрядную архитектуру, на повестке
уже 64-разрядные.
1.4. Процесс производства
Кремний или силикон - это основной материал для про-
изводства чипов. Это полупроводник, который, будучи приса-
жен добавками по специальной маске, становится транзисто-
ром, основным строительным блоком цифровых схем. Процесс
подразумевает вытравливание транзисторов, резисторов, пере-
секающихся дорожек и т. д. на поверхности кремния.
Сперва выращивается кремневая болванка. Она должна
иметь бездефектную кристаллическую структуру, этот аспект
налагает ограничение на ее размер. В прежние дни болванка
ограничивалась диаметром в 2 дюйма, а сейчас - 8 дюймов. На
следующей стадии болванка разрезается на слои, называемые
пластинами (wafers). Они полируются до безупречной зеркаль-
ной поверхности, На этой пластине и создается чип. Обычно
из одной пластины делается много процессоров.
Электрическая схема состоит из разных материалов.
Например, диоксид кремния - это изолятор, из полисиликона
изготавливаются проводящие дорожки. Когда появляется
открытая пластина, она бомбардируется ионами для создания
транзисторов - .это и называется присадкой.
Чтобы создать все требуемые детали, на всю поверхность
пластины добавляются слои и лишние части вытравливаются
вновь. Для этого новый слой покрывается фоторезистором,
на который проектируется образ требуемых деталей. После
экспозиции проявление удаляет части фоторезистора, выстав-
ленные на свет, оставляя маску, через которую проходило
вытравливание. Оставшийся фоторезистор удаляется раство-
рителем.
Этот процесс повторяется, по слою за раз, до полного
создания всей схемы. Излишне говорить, что детали размером
в миллионную долю метра может испортить мельчайшая пылин-
ка. Такая пьиинка может быть размером от микрона до ста - а
это в 3-300 раз больше детали. Микропроцессоры произво-
дятся в сверхчистой среде, где операторы одеты в специаль-
ные защитные костюмы.
В прежние времена производство полупроводников при-
водило к удаче или неудаче с отношением успеха менее 50%
работающих чипов. Сегодня выход готовой продукции на-
много выше, но никто не ожидает 100%. Как только новый
слой добавляется на пластину, каждый чип тестируется и от-
мечается любое несоответствие. Индивидуальные чипы отде-
ляются. Плохие бракуются, а хорошие упаковываются в PGA-
корпус (Pin Grid Arrays) - керамический прямоугольник с
рядами штырьков на дне; именно такой корпус большинство
людей принимают за процессор.
Intel 4004 использовал 10-микронный процесс: наимень-
шие детали составляли одну 10-миллионную метра. По сегод-
няшним стандартам это чудовищно. Если предположить, что
Pentium II изготовлен по такой технологии, он был бы раз-
мером 14×20 см и был бы медленным - быстрые транзисто-
ры малы. Большинство процессоров сегодня используют
0.13-микрониую технологию, а на подходе уже и 0.09-мик-
ронный процесс.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: