Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Функциональная и структурная организация процессора




Процессор, или более полно микропроцессор, а также часто называемый ЦПУ (CPU - central processing unit) является центральным компонентом компьютера. Это разум, который управляет, прямо или косвенно, всем происходящим внутри компьютера. Когда фон Нейман впервые предложил хранить последовательность инструкций, так называемые программы, в той же памяти, что и данные, это была поистине новаторская идея. Опубликована она в "First Draft of a Report on the EDVAC" в 1945 году. Этот отчет описывал компьютер состоящим из четырех основных частей: центрального арифметического устройства, центрального управляющего устройства, памяти и средств ввода-вывода. Сегодня, более полувека спустя, почти все процессоры имеют фон-неймановскую архитектуру.

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

Сегодняшний процессор – это не просто скопище транзисторов, а целая система множества важных устройств. На любом процессорном кристалле находятся:

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

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

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

Кэш-память второго уровня – эта память чуть помедленнее, зато больше – от 128 кбайт до 2048 кбайт.

Все эти устройства размещаются на кристалле площадью не более 4-6 квадратных сантиметров. Только под микроскопом можно разглядеть крохотные элементы, из которых состоит микропроцессор, и соединяющие их металлические «дорожки» (для их изготовления ранее использовали алюминий, сейчас же на смену ему пришла медь). Их размер поражает воображение – десятые доли микрона! Сейчас большая часть процессоров производится по 0,09-микронной технологии. Но это не самое важное. Существуют другие, гораздо более важные для нас характеристики процессора, которые прямо связаны с возможностями и скоростью работы.

Основные функциональные компоненты процессора

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

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

Блок плавающей точки. Третий выполняющий модуль внутри процессора, выполняющий нецелочисленные вычисления

Первичный кэш: Pentium имеет два внутричиповых кэша по 8kb, по одному для данных и инструкций, которые намного быстрее большего внешнего вторичного кэша.

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

Все элементы процессора синхронизируются с использованием частоты часов, которые определяют скорость выполнения операций. Самые первые процессоры работали на частоте 100kHz, сегодня рядовая частота процессора - 200MHz, иначе говоря, часики тикают 200 миллионов раз в секунду, а каждый тик влечет за собой выполнение многих действий. Счетчик Команд (PC) - внутренний указатель, содержащий адрес следующей выполняемой команды. Когда приходит время для ее исполнения, Управляющий Модуль помещает инструкцию из памяти в регистр инструкций (IR). В то же самое время Счетчик команд увеличивается, так чтобы указывать на последующую инструкцию, а процессор выполняет инструкцию в IR. Некоторые инструкции управляют самим Управляющим Модулем, так если инструкция гласит 'перейти на адрес 2749', величина 2749 записывается в Счетчик Команд, чтобы процессор выполнял эту инструкцию следующей.

Многие инструкции задействуют Арифметико-логическое Устройство (ALU), работающее совместно с Регистрами Общего Назначения - место для временного хранения, которое может загружать и выгружать данные из памяти. Типичной инструкцией ALU может служить добавление содержимого ячейки памяти к регистру общего назначения. ALU также устанавливает биты Регистра Состояний (Status register - SR) при выполнении инструкций для хранения информации о ее результате. Например, SR имеет биты, указывающие на нулевой результат, переполнение, перенос и так далее. Модуль Управления использует информацию в SR для выполнения условных операций, таких как 'перейти по адресу 7410 если выполнение предыдущей инструкции вызвало переполнение'.

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

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

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

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

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

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

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

Говоря о скорости процессора, подразумевается его тактовая частота. Это величина, измеряемая в мегагерцах (МГц), показывает, сколько инструкций способен выполнить процессор в течение секунды. Тактовая частота обознается цифрой в названии процессора (например, Pentium 4-2400, то есть процессор поколения Pentium 4 с тактовой частотой 2400 МГц или 2.4 ГГц).

Тактовая частота – бесспорно, самый важный показатель скорости работы процессора. Но далеко не единственный.

Системная шина (FSB = Front Side Bus или System Bus) служит для связи процессора с остальным компьютером. Системная шина является основой для формирования частоты других шин передачи данных компьютера – AGP, память, PCI, путем умножения на определенный коэффициент.

Современные процессоры работают быстрее, чем память.Чем медленнее память, тем больше процессору ждать новых данных от нее и ничего не делать. В кэш памяти находятся машинные слова (можно их назвать данными), которые чаще всего используются процессором. Если ему требуется какое-нибудь слово, то он сначала обращается к кэш памяти. Существует принцип локализации, по которому в кэш вместе с требуемым в данный момент словом загружаются также и соседние с ним слова, т.к. велика вероятность того, что они в ближайшее время тоже понадобятся. В современных десктопных процессорах существует два уровня кэш-памяти (для серверов существует процессоры с третьим уровнем кэша, его также). Кэш первого уровня (Level 1 = L1) обычно разделён пополам, половина выделена для данных, а другая половина под инструкции. Кэш второго уровня (Level 2 = L2) предназначается только для данных. Пропускная способность оперативной памяти конечно высока, но кэш память работает в несколько раз быстрее. У старых процессоров микросхемы кэша L2 находились на материнской плате. Скорость работы кэша при этом была довольно низкой (равнялась частоте FSB), но её хватало. У последних процессоров, в целях увеличения быстродействия, упрощения и удешевления производства, кэш L2 интегрирован в ядро и работает на его полной частоте. Чем больше кэш, тем лучше, но с другой стороны, при увеличении кэша увеличивается время выборки (поиска и извлечения) данных из него. Хотя увеличение кэша L2, не смотря на это, почти всегда дает прирост по скорости.

Ядром называют сам процессорный кристалл, ту часть, которая непосредственно является "процессором". Сам кристалл у современных моделей имеет небольшие размеры, а размеры готового процессора увеличиваются очень сильно за счет его корпусировки и разводки. Процессорный кристалл можно увидеть, например, у процессоров Athlon, у них он не закрыт. У P4 вся верхняя часть скрыта под теплорассеивателем (который так же выполняет защитную функцию

Форм-фактор – это тип исполнения процессора, его «внешности» и способа подключения к материнской плате.

Как правило, все элементы процессора расположены на одном и том же кристалле кремния и имеют квадратную форму (тип разъёма «Socket»). Прямоугольный корпус с торчащими из него ножками-контактами.

Процессоры имеют разные разъёмы по причине принципиальных конструктивных отличий (количество транзисторов, архитектура и т. п.). Пока было только два принципиально разных типа разъёмов - Slot и Soсket. По заверениям Intel (но если посмотреть на Pentium Pro, то всё становится ясно), Slot 1 был использован только из-за необходимости помещения кэша поближе к ядру и больше применяться, скорее всего, не будет. Socket же продолжает развиваться - количество контактов все растёт и растёт (если увеличение числа контактов можно считать развитием)

Коэффициент умножения (Frequency Ratio / Multiplier), это то число, на которое умножается частота системной шины, в результате чего получается рабочая частота процессора. Заблокированный коэффициент означает, что процессор будет умножать системную шину всегда на одну и ту же цифру. Т. е. разгон без увеличения частоты шины для такого процессора невозможен.

 

Обобщенная структурная схема процессора.

 

IB

Схема состоит из:

GR – регистр общего назначения

ALU – арифметико-логическое устройство

A – регистр аккумулятор

RB – буферный регистр

F – регистр флагов (признаков)

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

RI (IR) – регистр команд

DC – дешифратор команд

CU – устройство управления

IB –внутренняя общая магистраль

FB – устройство сопряжения с внешней шиной.

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

В регистр флагов записывается:

1) С – carry (переполнение)

2) Z (флаг) – z=1, если результат равен 0, z=0 если результат не равен 0.

3) S – флаг указания положительного или отрицательного результата (положительный – s=0, отрицательный – s=1)

4) P – флаг четности (четное либо нечетное количество единиц в операнде)

р=1 – четное число единиц; р=0 – нечетное число единиц;

При выполнении арифметических и логических операций флаги формируются всегда.

Флаги помогают организовать ветвление программы.

 

 

Основными особенностями организации современных микропроцессоров и микро-ЭВМ является:

 

А) Модульная структура, в которой модули являются функционально законченными устройствами

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

В) Микропрограммное управление

Г) Байтовая адресация памяти и побайтовая обработка данных

Д) Использование внутренних сверхоперативных регистров.

 

В структуре можно выделить три основные части: центральный процессор, блок управления и постоянная память микропрограмм. Центральный процессор содержит АЛУ, сверхоперативную память в виде программно доступных общих регистров и функциональные регистры – командный, индексный, адресный, указатель стека и программный счетчик. АЛУ состоит из двоичного сумматора, сдвигающего регистра, двух регистров операндов и регистра результата. Схемы АЛУ выполняют команды сложения, вычитания, логическое И, ИЛИ, сложение по модулю 2 и сдвигов. Более сложные операции реализуются программно. Блок микропрограммного управления содержит дешифратор кода операции, схему формирования функций перехода к следующему адресу в микропрограмме и регистр адреса микрокоманды. Система прерывания в микропроцессорах достаточно проста и предназначена только для восприятия прерываний от внешних источников. Микропроцессоры имеют упрощенные схемы управления ПУ. В значительной степени управление этими устройствами реализуется посредством микропрограммного управления. Блок постоянной памяти микропрограмм, реализующих команды микропроцессора, обычно выполняется в виде отдельной БИС. В микропроцессорах используют косвенную, непосредственную, индексную адресации основной оперативной памяти и прямую адресацию общих регистров. Сверхоперативная память на общих регистрах, позволяет сократить количество обращений к внешней памяти и уменьшить необходимое количество выводов корпуса за счет сокращения формата команды. Из-за ограниченного числа выводов корпуса БИС не удается реализовать интерфейс микропроцессора с высокой пропускной способностью. Поэтому микропроцессоры имеют так называемый общий интерфейс, обслуживающий как внешнюю оперативную память, так и ПУ. Если не удается выделить для интерфейса достаточное количество выводов, применяют мультиплексирование шин (использование шин для разных целей на основе разделения времени). Для обеспечения совместной работы микропроцессора и внешнего оборудования шины интерфейса снабжаются буферными схемами, в которых используются электронные схемы с тремя состояниями и спец. линии управления выдачи данных.

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

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

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

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

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

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

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

1) Управляющий автомат с жесткой логикой.

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

2) Управляющий автомат с хранимой в памяти логикой.

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

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

 

 


Поделиться:

Дата добавления: 2015-04-21; просмотров: 149; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты