Организация микропроцессорных систем: структуры, магистрали, обращение к памяти
Под организацией микропроцессорной системы (МС) понимают совокупность устройств, связи между ними и их функциональные характеристики. Рассмотрим организацию МС на логическом уровне, или структурно–функциональную организацию.
Тип структуры МС определяют состав и организацию памяти и подсистемы ввода/вывода (ВВ).
В памяти можно выделить:
● постоянные запоминающие устройства (ПЗУ), используемые для хранения программ и констант;
● оперативные запоминающие устройства (ОЗУ), предназначенные для хранения переменных и загружаемого извне объектного кода (программы).
В подсистеме ВВ можно выделить ряд законченных функциональных модулей:
● порты — простейшие модули в виде адресуемых центральным процессором (ЦП) буферных схем и регистров;
● периферийные адаптеры (ПА) — более сложные программно–управляемые модули. При использовании средств ВВ для управления внешними устройствами их называют периферийными контроллерами;
● сопроцессоры ВВ — наиболее сложные модули, работающие по собственным программам.
К основным типовым структурам МС относятся:
● магистральная структура (рис. 3.1.1, а), в которой все модули подключены к магистрали. Использование единой магистрали обеспечивает выполнение за один рабочий цикл одной операции обмена данными между двумя (в общем случае любыми) модулями системы;
● магистрально–каскадная (рис. 3.1.1, б) и магистрально–радиальная (рис. 3.1.1, в) структуры, в которых используются контроллеры шин для реализации приоритетных отношений при обращении к магистрали.
В каждый момент времени магистраль предоставляется в распоряжение одному функциональному модулю. В простейших МС роль активного модуля выполняет центральный процессор (ЦП), который организует управление магистралью. В более сложных системах магистраль распределяется между отдельными модулями в соответствии с запросами на ее захват и приоритетными соглашениями. Эта задача возлагается на арбитра системной магистрали.
Что такое шина данных?
Шина данных имеет в компьютере достаточно важное значение, которое кроется, прежде всего, в передаче информационного потока. Он следует от некоторого одного устройства к другому. Вот самый простой пример: информацией о задаче обмениваются процессор и оперативная память.
Стоит параллельно отметить тот факт, что именно разрядность процессора будет оказывать определяющее влияние на разрядность шины данных. А что же тогда представляет собой разрядность процессора? На самом деле ничего сложного здесь нет. Разрядность процессора есть не что иное, как количество тех двоичных разрядов, которые одновременно процессором и обрабатываются, и передаются.
Характеристики
- Разрядность – количество параллельных линий связи, соответственно, число передаваемых параллельно бит. Первые наборы проводников были 8-разрядными, ныне распространены 64-битные.
- Тактовая частота – число машинных тактов, совершаемых за секунду. Измеряется преимущественно в МГц.
- Пропускная способность – указывает на число байт, пересылаемых по интерфейсу за единицу времени. Определяется как разрядность, умноженная на тактовую частоту.
- ISA, EISA, VESA – старые, практически не используемые стандарты для подключения плат расширения.
- PCI – устаревшая магистраль для коммутации скоростного оборудования.
- AGP – старый интерфейс для графической подсистемы.
- PCIe – современная шина для обмена информацией между процессором и видеокартой.
- USB – универсальный интерфейс для высокоскоростного обмена информацией – подключения накопителей, периферийного оборудования: принтер, МФУ.
- SATA – ряд стандартов, применяемых для подключения жёстких и первых твердотельных накопителей.
- M.2 – инновационное решение для коммутации высокоскоростных SSD.
Шина памяти
Обмен данными между процессором и оперативной памятью производится по шине памяти, частота которой может быть меньше, чем частота шины процессора.
Если частота шины памяти равна 533 МГц, а разрядность шины памяти, равная разрядности процессора, составляет 64 бита, то пропускная способность шины памяти равна:
Основные интерфейсы материнской платы
Интерфейс – совокупность средств сопряжения и связи, обеспечивающая эффективное взаимодействие систем или частей.
В интерфейсе обычно предусмотрено сопряжение на двух уровнях:
— механическом (провода, элементы связи, типы соединений, разъемы, номера контактов ит.д.)
— логическом (сигналы, их длительность, полярности, частоты и амплитуда, протоколы взаимодействия).
Все интерфейсы ЭВМ можно разделить на внутренние и внешние:
— внутренние – система связи и сопряжения узлов и блоков ПК между собой;
— внешние – обеспечивают связь ПК с внешними (периферийными) устройствами и другими компьютерами.
Компьютерная шина
Компьютерная шина – это электронная магистраль предназначенная для передачи информации между функциональными модулями компьютера. Такими как: центральный процессор, графический адаптер, винчестер, ОЗУ и остальными устройствами. Данная система включает в себя некоторое количество других шин, в частности: шины адреса, шина данных, кстати их может быть несколько, и шина управления.
Отличие шин друг от друга базируется на нескольких моментах. Главным признаком считается Первенствующим показателем является место расположения. Исходя из этого шины бывают следующих типов:
- Шины для создания магистральной связи между компонентами установленными внутри компьютерного блока, а именно: центральный процессор, оперативное запоминающее устройство, системная плата. В современных компьютерах она обозначается как — локальная шина.
- Шины служащие для подсоединения к системной плате периферийных гаджетов, таких, как: адаптеры, карты памяти, называются — внешними шинами.
По-большому счету, компьютерной шиной можно охарактеризовать практически всякое устройство, служащее для создания связи между двумя и более компонентами. Даже оборудование для подключения компьютера к сети Интернет в определенной степени считается системной шиной.
Глава 1. Компьютер. Программное и аппаратное обеспечение
Магистраль: шина данных шина адреса и шина управления. Шины периферийных устройств
Вспомним, на прошлом уроке рассматривалось устройство материнской платы. Рассмотрим более подробно, какие же логические устройства можно установить на системную плату, т.к. системная плата наравне с процессором является основным устройством любого современного компьютера. Так же необходимость более подробного знакомства с системной платой обусловлено тем, что на системных платах реализуются шины различных типов. В гнёзда расширения системной платы устанавливаются платы таких периферийных устройств, как модем, сетевая плата, видеоплата и т.п.
Быстродействие различных компонентов компьютера (процессора, оперативной памяти и контроллеров периферийных устройств) может существенно различаться. Для согласования быстродействия на системной плате, как было сказано на прошлом уроке, устанавливаются специальные микросхемы (чипсеты), включающие в себя контроллер оперативной памяти (так называемый северный мост) и контроллер периферийных устройств (южный мост). (см. рис. 1)
Северный мост обеспечивает обмен информацией между процессором и оперативной памятью по системной шине. В процессоре используется внутреннее умножение частоты, поэтому частота процессора в несколько раз больше, чем частота системной шины. В современных компьютерах частота процессора может превышать частоту системной шины в 10 раз (например, частота процессора 1 ГГц, а частота шины — 100 МГц).
Южный мост обеспечивает обмен информацией между северным мостом и портами для подключения периферийного оборудования.
Мышь и внешний модем подключаются к южному мосту с помощью последовательных портов, которые передают электрические импульсы, несущие информацию в машинном коде, последовательно один за другим. Обозначаются последовательные порты как СОМ1 и COM2, а аппаратно реализуются с помощью 25-контактного и 9-контактного разъемов, которые выведены на заднюю панель системного блока.
Для подключения сканеров и цифровых камер обычно используется порт USB ( Universal Serial Bus — универсальная последовательная шина), который обеспечивает высокоскоростное подключение к компьютеру сразу нескольких периферийных устройств.
Рассмотрим структуру магистрали (системной шины), т.к. модульная организация системы опирается на магистральный (шинный) принцип обмена информации.
Магистраль
Системная магистраль осуществляет обмен данными между процессором или ОЗУ с одной стороны и контроллерами внешних устройств компьютера с другой стороны.
Рис 2. Магистрально-модульный принцип
Шина данных
По этой шине данные передаются между различными устройствами. Например, считанные из оперативной памяти данные могут быть переданы процессору для обработки, а затем полученные данные могут быть отправлены обратно в оперативную память для хранения. Таким образом, данные по шине данных могут передаваться от устройства к устройству в любом направлении, т. е. шина данных является двунаправленной.
Разрядность шины данных определяется разрядностью процессора, т.е. количеством двоичных разрядов, которые процессор обрабатывает за один такт. Разрядность процессоров постоянно увеличивалась по мере развития компьютерной техники.
За 25 лет, со времени создания первого персонального компьютера (1975г.), разрядность шины данных увеличилась с 8 до 64 бит.
К основным режимам работы процессора с использованием шины передачи данных можно отнести следующие: запись/чтение данных из оперативной памяти и из внешних запоминающих устройств, чтение данных с устройств ввода, пересылка данных на устройства вывода.
Шина адреса
Шина адреса предназначена для передачи по ней адреса того устройства (или той ячейки памяти), к которому обращается процессор. Адрес на нее выдает всегда только процессор. По шине данных передается вся информация. При операции записи информацию на нее выставляет процессор, а считывает то устройство (например, память или принтер), адрес которого выставлен на шине адреса. При операции чтения информацию выставляет устройство, адрес которого выставлен на шине адреса, а считывает процессор.
Таким образом, каждое устройство или ячейка оперативной памяти имеет свой адрес. Адрес передается по адресной шине, причем сигналы по ней передаются в одном направлении от процессора к оперативной памяти и устройствам (однонаправленная шина).
Разрядность шины адреса определяет адресное пространство процессора, т.е. количество ячеек оперативной памяти, которые могут иметь уникальные адреса. Количество адресуемых ячеек памяти можно рассчитать по формуле:
Каждой шине соответствует свое адресное пространство, т. е. максимальный объем адресуемой памяти:
Разрядность шины адреса постоянно увеличивалась и в современных персональных компьютерах составляет 32 бит. Таким образом, максимально возможное количество адресуемых ячеек памяти равно:
N == 2 32 = 4 294 967 296 = 4 Гб
Аппаратно на системных платах реализуются шины различных типов. В компьютерах РС/286 использовалась шина ISA (Industry Standard Architecture), имевшая 16-разрядную шину данных и 24-разрядную шину адреса. В компьютерах РС/386 и РС/486 используется шина EISA (Extended Industry Standard Architecture), имеющая 32-разрядные шины данных и адреса. В компьютерах PC/ Pentium используется шина PCI (Peripheral Component Interconnect), имеющая 64-разрядную шину данных и 32-разрядную шину адреса.
Шина управления
По шине управления передаются сигналы такие, например, как сигналы чтения, записи, готовности, определяющие характер обмена информацией по магистрали. Сигналы управления определяют, какую операцию считывание или запись информации из памяти нужно производить, синхронизируют обмен информацией между устройствами. Кроме того, каждое внешнее устройство, которому нужно обратиться к процессору, имеет на этой шине собственную линию. Когда периферийное устройство «хочет обратиться» к процессору, оно устанавливает на этой линии специальный сигнал (сигнал прерывания), заметив который, процессор прерывает выполняемые в этот момент действия и обращается (командой чтения или записи) к устройству.
Рассмотрим в качестве примера, как процессор читает содержимое ячейки памяти (см. таблицу). Убедившись, что шина в данный момент свободна, процессор помещает на шину адреса требуемый адрес и устанавливает необходимую служебную информацию (операция – чтение, устройство – ОЗУ и т.п.) на шину управления. Теперь ему остается только ожидать ответа от ОЗУ. Последний, “увидев” на шине обращенный к нему запрос на чтение информации, извлекает содержимое необходимой ячейки и помещает его на шину данных. Разумеется, реальный процесс значительно подробнее.
Особо отметим, что обмен по шине при определенных условиях и при наличии определенного вспомогательного оборудования может происходить и без непосредственного участия процессора, например, между устройством ввода и внутренней памятью.
Подчеркнем также, что описанная нами функциональная схема на практике может быть значительно сложнее. Современный компьютер может содержать несколько согласованно работающих процессоров, прямые информационные каналы между отдельными устройствами, несколько взаимодействующих магистралей и т.д. Тем не менее, если понимать наиболее общую схему, то разобраться в конкретной компьютерной системе будет уже легче.
Магистральная структура позволяет легко подсоединять к компьютеру именно те внешние устройства, которые нужны для данного пользователя. Благодаря ей удается скомпоновать из стандартных блоков любую индивидуальную конфигурацию компьютера.
Необходимость использования контроллеров вызвана тем, что функциональные и технические параметры компонентов компьютера могут существенно различаться, например, их быстродействие. Так, процессор может проводить сотни миллионов операций в секунду, тогда как пользователь может вводить с клавиатуры, в лучшем случае 2-3 знака в секунду. Контроллер клавиатуры как раз и обеспечивает согласование скорости ввода информации со скоростью ее обработки.
Контроллер жестких дисков обычно находится на системной плате. Существуют различные типы контроллеров жестких дисков, которые различаются по количеству подключаемых дисков, скорости обмена информацией, максимальной емкости диска и др.
Адресное пространствомикропроцессорного устройства.
Адресное пространство микропроцессорного
устройства изображается графически
прямоугольником, одна из сторон которого
представляет разрядность адресуемой ячейки
этого микропроцессора, а другая сторона — весь
диапазон доступных адресов для этого же
микропроцессора. Обычно в качестве
минимально адресуемой ячейки памяти
выбирается восьмиразрядная ячейка памяти (байт).
Диапазон доступных адресов
микропроцессора определяется разрядностью шины
адреса системной шины. При этом минимальный
номер ячейки памяти (адрес) будет равен 0, а
максимальный определяется из формулы:
Для шестнадцатиразрядной шины это будет число
65535 (64K). Адресное пространство этой шины и
распределение памяти микропроцессорной
системы, изображЈнной на рисунке 1, приведено на рисунке
2, а
распределение памяти микропроцессорной
системы, изображЈнной на рисунке 1, приведено на рисунке
3.
Рисунок 2. Адресное пространство шестнадцатиразрядной
шины адреса.
Рисунок 3. Распределение памяти микропроцессора с
шестнадцатиразрядной шиной адреса.
Микропроцессоры после включения питания и
выполнения процедуры сброса всегда начинают
выполнение программы с определЈнного адреса,
чаще всего нулевого. Однако есть и
исключения. Например процессоры, на основе
которых строятся универсальные компьютеры
IBM PC или Macintosh стартуют не с нулевого адреса. Программа должна храниться
в памяти, которая не стирается при выключении
питания, то есть в ПЗУ.
Выберем для
построения микропроцессорной системы микросхему ПЗУ
объЈмом 2 килобайта, как это показано на
рисунке 1. При рассмотрении построения
блока обработки сигналов мы договорились, что
процессор после сброса начинает работу с
нулевого адреса, поэтому разместим ПЗУ в
адресном пространстве начиная с нулевого адреса. Для того, чтобы нулевая ячейка
ПЗУ оказались расположенной по нулевому адресу адресного
пространства микропроцессора, старшие
разряды шины адреса должны быть равны 0.
При построении схемы необходимо
декодировать старшие пять разрядов адреса (определить,
чтобы они были равны 0). Это выполняется при помощи дешифратора
адреса, который в данном случае вырождается в
пятивходовую схему «ИЛИ-НЕ» Это связано с
тем, что внутри ПЗУ уже есть одиннадцативходовый
дешифратор адреса. При использовании
дешифратора адреса, обращение к ячейкам
памяти выше двух килобайт не приведЈт к
чтению ячеек ПЗУ, так как на входе выбора
кристалла CS уровень напряжения останется
высоким.
Теперь подключим микросхему ОЗУ. Для
примера выберем микросхему объЈмом 8 Кбайт.
Для выбора любой из ячеек этой микросхемы
достаточно тринадцатибитового адреса,
поэтому необходимо дополнительно
декодировать три оставшихся разряда адреса.
Так как начальные ячейки памяти адресного
пространства уже заняты ПЗУ, то использовать нельзя. Выберем
следующую комбинацию цифр 001 и используем
известные нам принципы .
Дешифратор адреса выродится в данном
случае в трЈхвходовую схему «И-НЕ» с
двумя инверторами на входе. Схема этого
дешифратора приведена на рисунке 1.
ПриведЈнный дешифратор адреса
обеспечивает нулевой уровень сигнала на
входе CS только при комбинации
старших бит 000
Обратите внимание, что так как объЈм ПЗУ
меньше объЈма ОЗУ, то между областью
адресов ПЗУ и областью адресов ОЗУ
образовалось пустое пространство
неиспользуемых адресов памяти
И, наконец, так как все
микропроцессоры предназначены для
обработки данных, поступающих извне, то в
любой микропроцессорной системе должны
присутствовать порты ввода-вывода.
Порт ввода-вывода отображается в адресное
пространство микропроцессорного
устройства как одиночная ячейка памяти,
поэтому порт ввода вывода можно разместить
по любому свободному адресу. Проще всего
построить дешифратор числа FFFFh. В этом
случае дешифратор превращается в обычную 16-ти
входовую схему «И-НЕ», поэтому и
выберем эту ячейку памяти в адресном
пространстве микропроцессора для
размещения порта ввода-вывода.