Микросхемы процессоров. Цоколевка типичного ЦП
Основу центрального процессора ВМ составляет микропроцессор -обрабатывающее устройство, служащее для арифметических и логических преобразований данных, для организации обращения к основной памяти и внешним устройствам и для управления ходом вычислительного процесса. В настоящее время существует большое число разновидностей микропроцессоров, различающихся по назначению, функциональными возможностями, структурой, исполнением.
Для работы центральному процессору(ЦП), или микропроцессору (МП), необходимы напряжение питания и тактовые сигналы (импульсы). Генератор тактовых импульсов (ГТИ) может быть отдельным устройством или входить в состав кристалла МП.
Все современные микропроцессоры помещаются на одной микросхеме, что определяет их взаимодействие с остальными частями системы. Каждая микросхема процессора содержит набор выводов, через которые происходит обмен информации с внешним миром.
Выводы микросхемы центрального процессора можно подразделить на три типа: адресные, информационные и управляющие. Эти выводы связаны с соответствующими выводами на микросхемах памяти и микросхемах устройств ввода/вывода (УВВы) через набор параллельных выводов (так называемую шину).
Микропроцессор контролирует все системы и управляет ими посредством линий управления и/или контроля. Адресная шина выбирает ячейку памяти или порты ввода/вывода, представляющие часть интерфейса ввода/вывода. Двунаправленная шина данных служит для передачи данных в центральное устройство обработки информации (ЦП) или из него. ЦП пересылает данные в память или получает их из нее посредством шины данных.
Чтобы вызвать команду, центральный процессор сначала посылает в память адрес этой команды по адресным выводам. Затем по линиям управления посылается сигнал, что требуется процессору (например: прочитать слово). Память выдаёт ответ на информационные выводы процессора и посылает сигнал (по линиям управления), что работа выполнена. Когда центральный процессор получает данный сигнал, он принимает слово и выполняет вызванную команду. Таким образом, ЦП обменивается информацией с памятью и устройствами ввода/вывода, подавая сигналы на выводы и принимая сигналы на входы. Команда может потребовать чтения или записи слов, содержащих данные. В этом случае процесс повторяется для каждого дополнительного слова.
На рис.2.24 приведена упрощенная схема обмена сигналами[7] между ЦП и другими узлами ВМ. Сигналы из ЦП: 1- установка физического адреса устройства, к которому обращается ЦП; 2- команда, которую должно выполнить устройство, информация для записи в Память. Сигналы в ЦП: 3- ответ устройства, в общем случае содержит сигнал о выполнении требуемой команды и информацию, поступающую по шине данных из Памяти. Сигналы в устройства: 1 – физический адрес устройства; 2- команда, которую должно выполнить устройство; 3 информации, поступающая по шине данных. Сигналы из устройства: 3- ответ устройства, информации из шины данных.
Число адресных и число информационных выводов являются ключевыми параметрами, определяющими производительность процессора. Микросхема, содержащая m адресных выводов, может обращаться к 2m ячейкам памяти (m=16, 20, 32, 65). Микросхема, содержащая n информационных выводов, может считывать или записывать n –битное слово за одну операцию (n=8, 16, 32, 64).
Выводы управления регулируют и синхронизируют поток данных к процессору и от него.
Все процессоры содержат выводы для питания (обычно +1,5в, +3,3в или +5в), «Земли» и синхронизирующего сигнала (меандра). Остальные выводы разнятся от процессора к процессору, однако выводы управления можно разделить на несколько основных категорий:
1. управление шиной. Выводы управления шиной в основном являются выходами из ЦП в шину (т.е. входами в микросхемы памяти и микросхемы УВВы);
2. прерывание. Выводы прерывания – это входы из УВВы в процессор. В большинстве систем процессор может дать сигнал УВВы начать операцию, а затем приступить к какому-нибудь другому действию, пока УВВы выполняет свою работу. Когда УВВы закончит свою работу, контроллер устройства посылает сигнал на один из выводов прерывания, чтобы прервать работу процессора и заставить его обслужить УВВы;
3. арбитраж шин. Выводы разрешения конфликтов (особая микросхема арбитр шин) используются для регулирования потока информации в шине, т.е. не допускают попыток использования шины нескольким устройствами одновременно (в таких случаях ЦП считается устройством);
4. сопроцессор. Некоторые ЦП могут работать с различными сопроцессорами – графическими процессорами, процессорами с плавающей точкой и т.п.;
5. состояние;
6. разное.
Схема типичного центрального процессора, в котором используются эти типы сигналов, изображена на рис.2.25.
|
1.13.2. Характеристики микропроцессоров.
Микропроцессор характеризуется тремя основными параметрами - тактовой частотой, разрядностью, архитектурой, набором команд. Рассмотрим каждую из этих характеристик.
1. Тактовая частота – количество элементарных операций (тактов[8]), выполняемых МП в одну секунду.
Работа МП синхронизируется импульсами тактовой частоты от задающего генератора, выполненного на основе кварцевого резонатора. Чем выше тактовая частота МП, тем, при прочих равных условиях, выше его быстродействие.
Разрядность.
Разрядностью МП называют максимальное количество разрядов двоичного кода, которое может обрабатываться или передаваться одновременно.
Понятие разрядности включает:
· разрядность внутренних регистров (внутренняя длина слова);
· разрядность шины данных (от неё зависит скорость передачи информации между МП и другими устройствами);
· разрядность шины адреса (определяет адресное пространство МП).
Рассмотрим разрядность внутренних регистров:
· 8-ми разрядные МП используют последовательный принцип выполнения команд, при котором каждая очередная операция начинается только после выполнения предыдущей;
· в некоторых 16-ти разрядных МП используется параллельный принцип обработки, при котором устройство управления одновременно с выполнением текущей команды производит предварительную выборку и хранение последующих команд;
· в МП с 32-х разрядной архитектурой используется конвейерный метод выполнения команд, при котором несколько внутренних устройств МП работают параллельно, производя одновременно обработку нескольких последовательных команд.
Архитектура и набор команд.
Под архитектурой вычислительной машины обычно понимают логическое построение ВМ, то есть то, какой машина представляется программисту. Впервые термин «архитектура вычислительной машины» был употреблен фирмой IBM при разработке машин семейства IBM 360 для описания тех средств, которыми может пользоваться программист, составляя программу на уровне машинных команд. Подобную трактовку называют «узкой», она охватывает перечень и формат команд, формы представления данных, механизмы ввода/вывода, способы адресации памяти, определяет необходимые регистры, стеки.13.13
Типы процессоров
Система команд – представляет собой совокупность команд, которые способен выполнить МП. Она включает полный список кодов операций, для каждой из которых указывается число операндов и допустимые способы их адресации.
В зависимости от набора и порядка выполнения команд процессоры подразделяются на четыре класса:
1. CISC(Complex Instruction Set Computer)-традиционная архитектура, в которой центральный процессор использует микропрограммы для выполнения исчерпывающего набора команд. Для CISC – архитектуры типичны:
· наличие в процессоре сравнительно небольшого числа регистров общего назначения;
· большое количество машинных команд, некоторые из них аппаратно реализуют сложные операторы языков высокого уровня;
· разнообразие способов адресации;
· множество форматов команд различной разрядности;
· наличие команд, где обработка совмещается с обращением к памяти.
К типу CISC можно отнести практически все ВМ, выпускавшиеся до середины 1980-х годов, и значительную часть производящихся в настоящее время. В течение долгих лет разрабатывались всё более сложные и полные системы команд, однако анализ работы процессора показал, что в течение примерно 80% времени выполняется примерно 20% большого набора команд. В тоже время объем аппаратных средств, для реализации дополнительных команд, возрастает весьма существенно. Поэтому было решено оптимизировать выполнение небольшого по числу, но часто используемых команд.
2. RISC (Reduced Instruction Set Computer) - процессор, функционирующий с сокращённым набором команд. Современные процессоры RISCхарактеризуются:
· упрощённый набор команд, имеющих одинаковую длину;
· большинство команд выполняется за один такт процессора;
· отсутствуют макрокоманды, усложняющие структуру процессора и уменьшающие скорость его работы;
· взаимодействие с оперативной памятью ограничивается операциями пересылки данных;
· резко уменьшается число способов адресации памяти (не используется косвенная адресация);
· используется конвейер команд;
· применяется высокоскоростная память.
Такой подход к архитектуре значительно сократил площадь процессора на кристалле. Это позволило увеличить число регистров, их более 100, и на 20-30 % уменьшить число обращений к оперативной памяти. RISC -технологии стали внедряться, начиная с процессора Pentium.
3. MISC- процессор, работающий с минимальным набором длинных команд.
Увеличение разрядности процессоров привело к идее укладки нескольких команд в одно слово (связку, bound) размером 128 бит. Это позволило использовать возросшую производительность компьютера и его возможность обрабатывать одновременно несколько потоков данных. Группа команд выполняется за один цикл работы процессора, порядок выполнения команд распределяется таким образом, чтобы в максимальной степени загрузить маршруты, по которым проходят потоки данных (суперскалярная архитектура), отбор групп происходит непосредственно в ходе выполнения прикладной программы.
4. VLIW (Very Long Instruction Word)- процессор, работающий с системой команд сверхбольшой разрядности.
Процессоры такой архитектуры имеют несколько операционных блоков различного либо одинакового назначения, которые могут работать параллельно. Для повышения эффективности загрузки операционных блоков создаётся специальный компилятор планирования, который перед выполнением прикладной программы проводит её анализ, и по множеству ветвей последовательности операций определяет группу команд, которые могут выполняться параллельно. Каждая группа образует одну сверхдлинную команду.
Процессор VLIW имеет следующие особенности:
· большое количество регистров: 128 64-разрядных регистров общего назначения (целочисленных), 128 80-разрядных регистров арифметики с плавающей запятой, 64 1-разрядных предикатных регистра;
· явный параллелизм в машинном коде (поиск зависимостей между командами производит не процессор, а компилятор);
· предикация – команды из разных ветвей условного ветвления снабжаются предикатными полями (полями условий) и запускаются на выполнение параллельно;
· данные из медленной основной памяти загружаются заранее (загрузка по предложению).
В таблице 2.6 приводится сравнительная оценка наиболее существенных различий в архитектуре CISC, RISC, VLIW.
Таблица 2.6
Характеристика | CISC | RISC | VLIW |
Длина команды | Варьируется | Единая | Единая |
Расположение полей в команде | Варьируется | Неизменное | Неизменное |
Количество регистров | Несколько (часто специализированных) | Много регистров общего назначения | Много регистров общего назначения |
Доступ к памяти | Может выполняться как часть команд различных типов | Выполняется только специальными командами | Выполняется только специальными командами |
Регистры процессора
Во всех компьютерах имеется несколько регистров, которые видны на уровне команд. Они нужны там для того, чтобы контролировать выполнение программы, хранить временные результаты, а также для некоторых других целей. Обычно регистры, которые видны на микроархитектурном уровне, не видны на уровне команд.
Регистры уровня команд можно разделить на две категории: специальные регистры и регистры общего назначения. Специальные регистры включают счётчик команд и указатель стека, а также другие регистры с особой функцией. Регистры общего назначения содержат ключевые локальные переменные и промежуточные результаты вычислений. Их основной функцией является обеспечение быстрого доступа к часто используемым данным (обычно избегая обращений к памяти). Машины RISC с высокоскоростными процессорами и относительно медленной памятью обычно содержат как минимум 32 регистра общего назначения, а в новых процессорах их количество постоянно растёт. Регистры общего назначения могут быть симметричны и взаимозаменяемы, либо специализированы.
Кроме регистров, доступных на уровне команд, всегда существуют довольно большое количество специальных регистров, доступных только в привилегированном режиме. Эти регистры контролируют различные блоки кэш – памяти, основную память, устройства ввода – вывода и другие элементы аппаратного обеспечения машины. Данные регистры используются только операционной системой, поэтому компиляторам и пользователям необязательно знать об их существовании.
Есть один регистр управления, который представляет собой привилегированно – пользовательский гибрид. Это флаговый регистр, или PSW (Program State Word) – слово состояния программы. Этот регистр содержит различные биты, которые нужны ЦП. Самые важные биты – это коды условия. Они устанавливаются в каждом цикле АЛУ и отражают состояние результата предыдущей операции. Биты кода условия включают:
· N – устанавливается, если результат был отрицательным ( Negative);
· Z – устанавливается, если результат был равен 0 (Zero);
· V – устанавливается, если результат вызвал переполнение (oVerflow);
· C – устанавливается, если результат вызвал выход переноса самого левого бита (Carry out);
· A – устанавливается, если произошёл выход переноса бита 3 (Auxiliary carry – служебный перенос);
· P – устанавливается, если результат чётный (Parity).
Коды условия используются при сравнении и в условных переходах.
Содержимое флагового регистра меняется от машины к машине. Дополнительные поля указывают режим машины (например, пользовательский или привилегированный), трассовый бит (который используется для отладки), уровень приоритета процессора, а также статус разрешения прерываний.
1.13.5. Регистры процессора семейства 80х86.
Условно микропроцессор можно разделить на две части: исполнительный блок (Execution Unit - EU) и устройство сопряжения с системной магистралью (Bus Interface Unit - ВIU).
|
AX (16) | |||
AH (8) |
| ||
BX (16) | |||
BH (8) |
| ||
CX (16) | |||
CH (8) |
| ||
DX (16) | |||
DH (8) | DL (8) |
|
В исполнительном блоке находятся: арифметический блок и регистры общего назначения (РОН). Арифметический блок включает арифметико-логическое устройство, вспомогательные регистры для хранения операндов и регистр флагов.
Восемь регистров исполнительного блока МП (EАХ, EВХ, EСХ, EDX, ESP, EВР, ESI, EDI), имеющие длину, равную машинному слову (32 разряда), делятся на две группы. Первую группу составляют регистры общего назначения: EАХ, EВХ, EСХ и EDX (формат регистров представлен на рис. 2.26)[9]. Каждый из регистров данной группы можно рассматривать как 32-х битный регистр с приставкой E (Extended – расширенный) или 16–ти битный регистр, представляющий собой регистровую пару, составленную из двух регистров длиной в 0.25 машинного слова (8 битов). Аккумулятор, основной арифметический регистр или регистр EАХ состоит из регистров AX, АН и AL. Регистр базы (Base Register) EBX предназначен для хранения указателей (адресов памяти) состоит из регистров ВХ, ВН и BL. Счетчик (Count Register) связан с организацией циклов ECX включает регистры СХ, СН и CL. Регистр данных (Data Register) EDX используется для умножения и деления, вместе с EAX содержит 64 – битные произведения и делимые, содержит регистры DX, DH и DL. Каждый из коротких регистров может использоваться самостоятельно или в составе регистровой пары. Условные названия (аккумулятор, регистр базы, счетчик, регистр данных) не ограничивают применения этих регистров - эти названия говорят о наиболее частом их использовании или об особенности использования того или иного регистра в той или иной команде.
Вторую группу составляют адресные регистры ESP, EBP, ESI и EDI. Эти регистры активно используются по функциональному назначению и в других целях их променять не рекомендуется. В качестве адресного регистра часто используется РОН EВХ. Программно допускается использование регистров EBP, EDI и ESI в качестве регистров для хранения операндов, но отдельные байты в этих регистрах недоступны. Основное их назначение - хранить числовые значения, реализуемые при формировании адресов операндов.
Устройство сопряжения с системной магистралью содержит управляющие регистры, конвейер команд, АЛУ команд, устройство управления исполнительным блоком МП и интерфейс памяти (соединяющий внутреннюю магистраль МП с системной магистралью ВМ). 3.11
Управляющие регистры BIU (рис.2.27): CS (указатель командного сегмента), DS ( указатель сегмента данных), SS (указатель сегмента стека), ES (указатель дополнительного сегмента) и др. служат для определения физических адресов ОП - операндов и команд. Регистры от CS до GS – сегментные регистры, оставшиеся от процессора 8088, который обращался к 220 байтам памяти, используя 16 – битные адреса, используются в реальном режиме.
Регистр EIP (Instruction Pointer) является указателем адреса команды, которая будет выбираться в конвейер команд в качестве очередной команды (в отечественной литературе такое устройство называется счетчик команд). Конвейер команд МП хранит несколько команд, что позволяет при выполнении линейных программ совместить подготовку очередной команды с выполнением текущей
|
|
|
|
|
|
|
К управляющим регистрам МП относится и регистр флагов, каждый разряд которого имеет строго определенное назначение. Обычно разряды регистра флагов устанавливаются аппаратно при выполнении очередной операции в зависимости от получаемого в АЛУ результата. При этом фиксируются такие свойства получаемого результата, как нулевой результат, отрицательное число, переполнение разрядной сетки АЛУ и т.д. Но некоторые разряды регистра флагов могут устанавливаться по специальным командам. Некоторые разряды имеют чисто служебное назначение (например, хранят разряд, «выпавший» из АЛУ во время сдвига) или являются резервными, т.е. не используются.
Все флаги младшего байта регистра устанавливаются арифметическими или логическими операциями МП. Все флаги старших байтов, за исключением флага переполнения, устанавливаются программным путем, для этого в МП имеются команды установки флагов (STC, STD, STI), сброса (CLC CLD, CLI), инвертирования (CMC).
Режимы процессора.
Расширение системы команд продолжается во всех новых моделях, в каждой новой модели вводятся дополнительные архитектурные решения такие как:
· встроенный блок управления ОП, работающий в виртуальном режиме (что позволило увеличить предельно допустимый объем виртуальной памяти до 4 Гбайт при 16 Мбайт физической);
· блоки, позволяющие реализовать мультизадачность;
· блок защиты ОП;
· блок проверки уровня привилегий, присваиваемых каждой задаче;
· конвейер команд;
· встроенный блок управления ОП;
· микропрограммное управление операциями;
· прогнозирование переходов по командам условной передачи управления;
· скалярная архитектура ЦП (арифметический конвейер) и мультискалярная архитектура (несколько параллельно работающих арифметических конвейеров, одновременно выполняющих несколько машинных операций, благодаря чему появляется возможность за один такт МП выполнять более одной машинной операции) и т.д.
Все эти усовершенствования позволяют сделать ВМ мультипрограммной, многопользовательской и многозадачной. Процессоры разных типов значительно отличаются друг от друга по количеству и размерности регистров, размерности адресных шин. Для совмещения программ, написанных для разных типов процессоров, стали использовать несколько режимов работы процессора. Pentium II имеет 3 операционных режима, в двух из которых он работает как 8086.
Все 32-разрядные процессоры Intel (и совместимые с ними), начиная с 80386-го, могут выполнять программы в нескольких режимах. В зависимости от режима процессора изменяется схема управления памятью системы и задачами. Процессоры могут работать в трёх режимах:
· реальном;
· виртуальном;
· защищённом.
Реальный режим. В первых IBM PC использовался процессор i8086, который мог использовать 16-разрядные внутренние регистры, выполнять 16-разрядные команды и адресовать 1 Мбайт (220 байт) памяти, используя 20 разрядов для адреса. Всё программное обеспечение разрабатывалось с учётом этих аппаратных особенностей. Последующие процессоры, начиная с i80286, имеют увеличенную ширину адресной шины (24, 32 и 64 разряда) и 32-х (64) - разрядные внутренние регистры, но все они обязаны поддерживать данный режим, т.е. использовать только 16-разрядные команды и 20 разрядные адреса.
В реальном режиме все особенности, которые были добавлены к процессорам со времён системы 8088, отключаются и PentiumII работает как простой компьютер 8088. Для программного обеспечения этого типа обычно используется однозадачный режим (одновременно может выполняться только одна задача), нет встроенной защиты памяти (при выполнении нескольких задач одна программа может испортить код или данные другой программы). Если программа совершает ошибку, то происходит полный отказ системы. В реальном режиме вся основная память (ОП) делится на сегменты (длина сегмента - 64 Кбайта). Адрес ОП разделяется на две части: номер сегмента в ОП (база сегмента) и номер ячейки внутри данного сегмента (смещение относительно начала сегмента). Базовый адрес сегмента образуется добавлением к номеру сегмента справа четырех нулей. Поскольку последние четыре разряда абсолютного (физического) адреса сегмента всегда нулевые, то они отбрасываются, при этом сегмент может начинаться не с любой ячейки ОП, а только с “параграфа” - начала 16-байтного блока ОП.
Номер ячейки внутри сегмента (смещение) называется также исполнительным адресом. В большинстве случаев в адресной части команды указывается именно исполнительный адрес - номер сегмента чаще всего подразумевается по умолчанию. Однако допускается указание и полного адреса ОП в виде префиксной структуры: «сегмент: смещение». Если сегмент в команде не указывается, значит, работа ведется внутри текущего сегмента (характер выполняемой работы и какой из сегментных регистров определяет текущую базу сегмента, зависят от вида выполняемой команды).
Номер сегмента так же, как и смещение, имеет длину 2 байта. При вычислении физического адреса ОП сегмент и смещение суммируются, но сегмент перед суммированием сдвигается влево на 4 бита. В результате суммирования образуется физический адрес ОП длиной 20 бит.
Виртуальный режим. На следующей ступени находится виртуальный режим 8086, который делает возможным выполнение старых программ, написанных для 8088, с защитой. Чтобы запустить старую программу 8088, операционная система создаёт специальную изолированную среду, которая работает как процессор 8088, за исключением того, что если программа даёт сбой, операционной системе передается соответствующая информация и полного отказа системы не происходит. Когда пользователь WINDOWS начинает работу с MS-DOS, то программа, которая действует там, запускает в виртуальном режиме 8086, чтобы программа WINDOWS не могла вмешаться в программы MS-DOS.
Механизм страничной виртуальной памяти позволяет разместить часть оперативной памяти на диске. При этом размер виртуальной памяти, предоставляемый программам, ограничивается размером свободной памяти на диске.
Защищённый режим. Начиная с процессора 80286, появляется возможность работать в защищённом режиме, имеется аппаратная поддержка многозадачных операционных систем, значительно ускоряющая и упрощающая процесс переключения задач. Это поддержка активно используется всеми мультизадачными операционными системами и оболочками, разработанными для компьютера IBM PC.
Для увеличения адресного пространства до 16 Мбайт в процессоре 80286 пришлось добавить ещё 4 адресные линии (24) и линии управления для них. Новый метод адресации позволил изолировать адресные пространства отдельных задач друг от друга. При этом прикладная программа, работающая в среде операционной системы, не может случайно или намерено разрушить целостность самой операционной системы.
В защищённом режиме программа может записывать данные только в те области, которые выделены ей операционной системой.
Процессоры 80386 и выше имеют 32- разрядные регистры, число адресных линий увеличено до 32(4 Гбайт), в них реализована концепция страничной виртуальной памяти, возможной только в защищённом режиме.
В этом режиме доступны 4 уровня привилегий, которые управляются битами во флаговом регистре. Уровень 0 соответствует привилегированному режиму на других компьютерах и имеет полный доступ к машине. Этот уровень используется операционной системой. Уровень 3 предназначен для пользовательских программ. Он блокирует доступ к определённым командам и регистрам управления, чтобы ошибки какой-нибудь пользовательской программы не привели к поломке всей машины. Уровни 1 и 2 используются редко.
Pentium II имеет огромное адресное пространство. Память разделена на 16384 сегмента, каждый из которых идёт от адреса 0 до адреса 232-1. Однако большинство операционных систем (включая UNIX и все версии WINDOWS) поддерживают только один сегмент, поэтому большинство прикладных программ видят линейное адресное пространство в 232 байтов, а иногда часть этого пространства занимает сама операционная система. Каждый байт в адресном пространстве имеет свой адрес. Слова состоят из 32 битов. Байты нумеруются справа налево, то есть самый первый адрес соответствует младшему байту. В защищенном режиме базовые адреса сегментов хранятся в дескрипторных таблицах и имеют длину 24 или 32 бита (в зависимости от типа МП). В сегментных же регистрах хранится селектор, содержащий номер дескрипторной таблицы и дескрипторное смещение, т.е. порядковый номер дескриптора (в котором и хранится базовый адрес сегмента) в данной дескрипторной таблице.
1.13.6. Компьютерные шины. Характеристики шин.
· Шина – набор параллельно соединенных проводов для связи компонентов компьютера, по которым передаются адреса, данные и сигналы.
Шины можно разделить на две группы в соответствии с выполняемыми функциями:
· внутренние - используются для передачи данных в АЛУ и из АЛУ;
· внешние - связывают процессор с памятью и УВВы.
Первые ПК имели одну внешнюю шину, которая называлась системной шиной. Она состояла из нескольких медных проводов (от 50 до 100), которые встраивались в материнскую плату. На материнской плате находились разъемы на одинаковом расстоянии друг от друга для микросхем памяти и УВВы. Современные ПК обычно содержат специальную шину между центральным процессором и памятью и, по крайней мере, ещё одну шину для УВВы (рис. 2.28). Часть шин скрыта внутри интегральной схемы или доступна только в пределах печатной платы. Некоторые шины имеют выходы, доступные для подключения дополнительных устройств (гнезда подключения соответствуют определенным стандартам для возможности подсоединения к шине устройств различных производителей). На схемах шины изображают в виде широких стрелок, указывая тем самым, что информация передается одновременно по параллельным проводам.
Английский эквивалент термина «шина» - «bus» восходит к латинскому слову omnibus, означающему «для всего»[10]. Этим стремятся подчеркнуть, что шина является магистралью, способной обеспечить всевозможные виды трафика.
Упрощенно шину можно представить как совокупность сигнальных линий, объединенных по их назначению (данные, адреса, управление). Каждая линия способна передавать сигналы, представляющие двоичные цифры 1 и 0. При совместном использовании несколько линий могут обеспечить одновременную (параллельную) передачу двоичных чисел. Физически линии шины реализуются в виде отдельных проводников, как полоски проводящего материала на монтажной плате либо как алюминиевые или медные проводящие дорожки на кристалле микросхемы.
Операции на шине называются транзакциями. Шинная транзакция состоит из двух частей: посылку адреса и прием (или посылку) данных. Устройство, инициировавшее обмен и управляющее им, называют ведущим (bus master). Устройство, необладающее свойством инициирования транзакции, называется ведомым.
Шины характеризуются следующими основными параметрами:
1. Ширина шины - количество адресных и управляющих линий в шине. Ширина шины адреса определяет максимально возможный размер адресного пространства. Чем больше адресных линий, тем к большему объёму памяти может обращаться процессор. Если шина содержит n адресных линий, тогда процессор может использовать её для обращения к 2n различным ячейкам памяти. Для памяти большой ёмкости необходимо много адресных линий. Чем больше ширина шины, тем больше требуется проводов и физического пространства (разъёмы большего размера). Ширина шины данных определяет количество битов информации, которое может быть передано по шине за одну транзакцию (цикл шины). Типовая ширина шины данных 32, 64 или 128 бит, т.е. кратная целому числу байтов.
2. Синхронизация шин. Синхронная шина содержит линию, которая запускается кварцевым генератором. Синхронная передача быстрая. Синхронные протоколы требуют меньше сигнальных линий, проще для реализации и тестирования, но привязаны к конкретной максимальной тактовой частоте и из-за проблемы перекоса синхросигналов не могут быть длинными. По синхронному протоколу обычно работают шины «процессор-память». Недостатком синхронной шины можно считать то, что если шина соединяет ряд устройств, работающих с разной скоростью, то шина подстраивается под самое медленное устройство и более быстрые не могут использовать свой полный потенциал.
Асинхронная шина не содержит задающего генератора. Начало очередного события на шине определяется не тактовым импульсом, а предшествующим событием и следует непосредственно за этим событием. Каждая совокупность сигналов, помещаемых на шину, сопровождается соответствующим синхронизирующим сигналом, называемым стробом. Скорость асинхронной пересылки данных диктуется ведомым. Асинхронные протоколы по своей сути являются самосинхронизирующимися, поэтому шину могут совместно использовать устройства с различным быстродействием, построенные на базе старых или новых технологий. Шины ввода/вывода обычно реализуются как асинхронные.
3. Арбитраж шин –определение порядка обработки прерываний от микросхем ввода/вывода, центрального процессора.
4. Принципы работы шины. Шины могут работать с использованием нескольких типов циклов работы. Обычно задающее устройство (обычно центральный процессор) считывает информацию из подчиненного устройства (обычно из памяти) или записывает в него информацию, при этом за раз передаётся одно слово. При использовании кэш-памяти вызывается вся строка КЭШа (16последовательных 32-битных слов), появляются новые дополнительные сигналы. Другим важным циклом является цикл обработки прерываний (работа с контроллером прерываний), когда при работе с устройствами ввода-вывода центральный процессор ожидает прерывания после завершения работы.
Существуют чёткие правила работы шины – протокол шины, а также технические требования на платы, выпускаемые различными производителями.
1.13.7. Типы шин Системные шины. Локальные шины
2.13.7.1. По целевому назначению шины подразделяются на три группы:
· шины «процессор-память»;
· шины ввода/вывода;
· системные шины.
Шина «процессор-память» обеспечивает непосредственную связь между центральным процессором и основной памятью. Эту шину часто называют шиной переднего плана FSB (Front-Side Bus). Интенсивный обмен информацией между процессором и памятью требует, чтобы полоса пропускания шины (количество информации, походящей по шине в единицу времени) была наибольшей. Роль этой шины иногда выполняет системная шина, но выгоднее, если обмен между ЦП и ОП ведется по отдельной шине. Для связи процессора с кэш-памятью второго уровня используется шина заднего плана – BSB (Back-Side Bus), позволяющая вести обмен с большей скоростью, чем FSB.
Шина ввода/вывода служит для соединения процессора (памяти) с устройствами ввода/вывода (УВВ). Ввиду разнообразия таких устройств шины ввода/вывода унифицируются и стандартизируются. Связи с большинством УВВ (кроме видеосистем) не требуют от шины высокой пропускной способности, учитывается стоимость конструктива и соединительных разъемов. В шинах используется меньше линий, длина линий может быть весьма большой.
Системная шина служит для физического и логического объединения всех устройств вычислительной машины. Основные устройства машины, как правило, размещаются на одной монта