0 просмотров

Какие шины имеются в микропроцессорах

Основные шины компьютера

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

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

Что такое шина компьютера

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

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

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

Виды системных шин

Все шины компьютера можно разделить за их предназначением на несколько типов. Вот они:

  • Шины данных – все шины, которые используются для передачи данных между процессором компьютера и периферией. Для передачи могут использоваться как последовательный, так и параллельный методы, можно передавать от одного до восьми бит за один раз. По размеру данных, которые можно передать за один раз такие шины делятся на 8, 16, 32 и даже 64 битные;
  • Адресные шины – связаны с определенными участками процессора и позволяют записывать и читать данные из оперативной памяти;
  • Шины питания – эти шины питают электричеством различные, подключенные к ним устройства;
  • Шина таймера – эта шина передает системный тактовый сигнал для синхронизации периферийных устройств, подключенных к компьютеру;
  • Шина расширений – позволяет подключать дополнительные компоненты, такие как звуковые или ТВ карты;

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

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

Вот наиболее распространенные типы шин в компьютере для расширений:

  • ISA – Industry Standard Architecture;
  • EISA – Extended Industry Standard Architecture;
  • MCA – Micro Channel Architecture;
  • VESA – Video Electronics Standards Association;
  • PCI – Peripheral Component Interconnect;
  • PCI-E – Peripheral Component Interconnect Express;
  • PCMCIA – Personal Computer Memory Card Industry Association (также известна как PC bus);
  • AGP – Accelerated Graphics Port;
  • SCSI – Small Computer Systems Interface.

А теперь давайте более подробно разберем все эти шины персональных компьютеров.

Шина ISA

Раньше это был наиболее распространенный тип шины расширения. Он был разработан компанией IBM для использования в компьютере IBM PC-XT. Эта шина имела разрядность 8 бит. Это значит что можно было передавать 8 бит или один байт за один раз. Шина работала с тактовой частотой 4,77 МГц.

Для процессора 80286 на базе IBM PC-AT была сделана модификация конструкции шины, и теперь она могла передавать 16 бит данных за раз. Иногда 16 битную версию шины ISA называют AT.

Из других усовершенствований этой шины можно отметить использование 24 адресных линий, что позволяло адресовать 16 мегабайт памяти. Эта шина имела обратную совместимость с 8 битным вариантом, поэтому здесь можно было использовать все старые карты. Первая версия шины работала на частоте процессора – 4,77 МГц, во второй реализации частота была увеличена до 8 МГц.

Шина MCA

Компания IBM разработала эту шину в качестве замены для ISA, для компьютера PS/2, который вышел в 1987 году. Шина получила еще больше усовершенствований по сравнению с ISA. Например, была увеличена частота до 10 МГц, а это привело к увеличению скорости, а также шина могла передавать 16 или 32 бит данных за раз.

Также была добавлена технология Bus Mastering. На плате каждого расширения помещался мини-процессор, эти процессоры контролировали большую часть процессов передачи данных освобождая ресурсы основного процессора.

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

Шина EISA

Эта шина была разработана группой производителей в качестве альтернативы для MCA. Шина была приспособлена для передачи данных по 32 битному каналу с возможностью доступа к 4 Гб памяти. Подобно MCA для каждой карты использовался микропроцессор, и была возможность установить драйвера с помощью диска. Но шина все еще работала на частоте 8 МГц для поддержки карт ISA.

Слоты EISA в два раза глубже чем ISA, если вставляется карта ISA, то она использует только верхний ряд разъемов, а EISA использует все разъемы. Карты EISA были дорогими и использовались обычно на серверах.

Шина VESA

Шина VESA была разработана для стандартизации способов передачи видеосигнала и решить проблему попыток каждого производителя придумать свою шину.

Шина VESA имеет 32 битный канал передачи данных и может работать на частоте 25 и 33 МГц. Она работала на той же тактовой частоте, что и центральный процессор. Но это стало проблемой, частота процессора увеличивается и должна была расти скорость видеокарт, а чем быстрее периферийные устройства, тем они дороже. Из-за этой проблемы шина VESA со временем была заменена на PCI.

Слоты VESA имели дополнительные наборы разъемов, а поэтому сами карты были крупными. Тем не менее сохранялась совместимость с ISA.

Шина PCI

Peripheral Component Interconnect (PCI) – это самая новая разработка в области шин расширений. Она является текущем стандартом для карт расширений персональных компьютеров. Intel разработала эту технологию в 1993 году для процессора Pentium. С помощью этой шины соединяется процессор с памятью и другими периферийными устройствами.

PCI поддерживает передачу 32 и 64 разрядных данных, количество передаваемых данных равно разрядности процессора, 32 битный процессор будет использовать 32 битную шину, а 64 битный – 64 битную. Работает шина на частоте 33 МГц.

В PCI можно использовать технологию Plug and Play (PnP). Все карты PCI поддерживают PnP. Это значит, что пользователь может подключить новую карту, включить компьютер и она будет автоматически распознана и настроена.

Также тут поддерживается управление шиной, есть некоторые возможности обработки данных, поэтому процессор тратит меньше времени на их обработку. Большинство PCI карт работают на напряжении 5 Вольт, но есть карты, которым нужно 3 Вольта.

Шина AGP

Необходимость передачи видео высокого качества с большой скоростью привела к разработке AGP. Accelerated Graphics Port (AGP) подключается к процессору и работает со скоростью шины процессора. Это значит, что видеосигналы будут намного быстрее передаваться на видеокарту для обработки.

AGP использует оперативную память компьютера для хранения 3D изображений. По сути, это дает видеокарте неограниченный объем видеопамяти. Чтобы ускорить передачу данных Intel разработала AGP как прямой путь передачи данных в память. Диапазон скоростей передачи – 264 Мбит до 1,5 Гбит.

PCI-Express

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

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

PC Card

Шина Personal Computer Memory Card Industry Association (PCICIA) была создана для стандартизации шин передачи данных в портативных компьютерах.

Шина SCSI

Шина SCSI была разработана М. Шугартом и стандартизирована в 1986 году. Эта шина используется для подключения различных устройств для хранения данных, таких как жесткие диски, DVD приводы и так далее, а также принтеры и сканеры. Целью этого стандарта было обеспечить единый интерфейс для управления всеми запоминающими устройствами на максимальной скорости.

Шина USB

Это стандарт внешней шины, который поддерживает скорость передачи данных до 12 Мбит/сек. Один порт USB (Universal Serial Bus) позволяет подключить до 127 периферийных устройств, таких как мыши, модемы, клавиатуры, и другие устройства USB. Также поддерживается горячее удаление и вставка оборудования. На данный момент существуют такие внешние шины компьютера USB, это USB 1.0, USB 2.0, USB 3.0, USB 3.1 и USB Type-C.

USB 1.0 был выпущен в 1996 году и поддерживал скорость передачи данных до 1,5 Мбит/сек. Стандарт USB 1.1 уже поддерживал скорость 12 Мбит/сек для таких устройств, как жесткие диски.

Более новая спецификация – USB 2.0 появилась в 2002 году. Скорость передачи данных выросла до 480 Мбит/сек, а это в 40 раз быстрее чем раньше.

USB 3.0 появился в 2008 году и поднял стандарт скорости еще выше, теперь данные могут передаваться со скоростью 5 Гбит/сек. Также было увеличено количество устройств, которые можно питать от одного порта. USB 3.1 был выпущен в 2013 и тут уже поддерживалась скорость до 10 Гбит/с. Также для этой версии был разработан компактный разъем Type-C, к которому коннектор может подключаться любой стороной.

Выводы

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

На завершение небольшое видео про шины и интерфейсы компьютера:

Процессор и цифровые шины

Типовая схема микропроцессорной системы.

Структурная схема типичной микропроцессорной системы

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

Кроме собственно микропроцессора, в состав микропроцессорной системы входят и другие, не менее важные элементы. На рис. 2.1 приведена обобщенная структурная схема типичной микропроцессорной системы. Рассмотрим детально, как она устроена. Как вы видите, названия всех эле­ментов системы даны как в русском, так и в английском варианте.

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

CPU (Central Processing Unit) — центральное процессорное устрой­ство (ЦПУ).

RAM(Random Access Memory) — устройство с произвольным до­ступом, или оперативное запоминающее устройство (ОЗУ).

ROM(Read Only Memory) — память только для чтения, или посто­янное запоминающее устройство (ПЗУ).

Port I/O(Port Input/Output) — порт ввода-вывода.

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

Виды памяти

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

После того, как информация записана в ОЗУ, она хранится там лишь до тех пор, пока подано напряжение питания. Как только питание будет отключено, информация, записанная в ОЗУ, тут же теряется. Об этом мы уже говорили выше. Классический пример ячейки ОЗУ — это простей­ший регистр, построенный на D-триггерах.

В такой регистр можно записывать информацию и читать ее оттуда. Однако если отключить, а затем включить питание, то все триггеры, из которых состоят регистры ОЗУ, установятся в случайное состояние. Информация будет утеряна. Современные микросхемы памяти стро­ятся на основе совсем других технологий. Но и по сей день не придумано достаточно быстродействующее устройство памяти, не теряющее инфор­мации при выключении питания.

Самая распространенная на сегодняшний день технология построе­ния ОЗУ — это так называемая динамическая память.Хранение инфор­мации в микросхемах динамической памяти осуществляется при помощи динамически подзаряжаемых миниатюрных емкостей (конденсаторов), выполненных интегральным способом на кристалле кремния.

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

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

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

На смену однократно программируемым ПЗУ пришли ПЗУ с ультра­фиолетовым стиранием. Такие микросхемы ПЗУ допускали многократ­ное использование. Пережигаемые перемычки получили возможность восстанавливаться. Перед повторным использованием микросхему нужно было «стереть». То есть восстановить перемычки. Для этого кри­сталл микросхем подвергался облучению световым потоком ультрафио­летового диапазона, для чего микросхемы снабжались специальным око­шечком в верхней части корпуса.

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

Современные же микросхемы ПЗУ строятся по так называемой флэш-технологии (Flash). Такие микросхемы также основаны на применении специальных пережигаемых перемычек с возможностью восстановления. Но стирание информации в данном случае происходит электрическим путем. Поэтому такие микросхемы еще называют ЭСПЗУ (электрически стираемые ПЗУ). Весь процесс стирания осуществляется внутри микро­схемы. Для запуска процесса стирания достаточно подать определенную комбинацию сигналов на ее входы.

Будучи включенными в состав микропроцессорной системы, микро­схемы ОЗУ и микросхемы ПЗУ работают как единая память программ и данных. Хотя процессор и работает с обоими видами памяти одинаково, но из ПЗУ он может только читать информацию. Запись информации в ПЗУ невозможна. Если микропроцессор все же попытается произвести запись, то ничего страшного не произойдет. Просто в ячейке останется то, что там было до попытки записи.

Порты ввода-вывода

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

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

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

Процессор и цифровые шины

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

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

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

Ниже приведена расшифровка этих названий и их англоязычный эквивалент:

♦ ШД — шина данных (DATA bus);

♦ ША — шина адреса (ADDR bus);

♦ ШУ — шина управления (CONTROL bus).

Все вместе эти три шины образуют системную шину. Рассмотрим под­робнее назначение каждой шины.

Шина данных

Шина данных предназначена для передачи данных от микропроцес­сора к периферийным устройствам, а также в обратном направлении. Разрядность шины данных определяется типом применяемого процес­сора. В простых микропроцессорах шина данных обычно имеет 8 раз­рядов. Современные процессоры могут иметь шину данных в 16, 32, 64 разрядов. Количество разрядов всегда кратно восьми.

Это полезно запомнить.Двоичное число, имеющее восемь разрядов, называется байтом.

В вычислительной технике байт, по сути, стал минимальной (после бита) единицей информации. Шестнадцатиразрядная шина данных может за раз передавать до двух байтов. 32-разрядная шина передает до четырех байт. 64-разрядная — до восьми. Какой бы ни была разрядность шины, она всегда имеет возможность при необходимости передать всего один байт. И это не случайно. Любой процессор должен иметь возмож­ность записать информацию в одну отдельную ячейку памяти или в один отдельный порт ввода-вывода. А также прочитать информацию из одной ячейки или одного порта.

Шина адреса

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

Пример.Микропроцессор серии К580ИК80 имеет 16 разрядов адреса. Это можно считать минимальным количеством для микропроцессора. Процессор Intel 8086, на котором собран компьютер IBM PC-XT, родо­начальник всех PC-совместимых персональных компьютеров, имеет 20 разрядов шины адреса. Современные процессоры имеют до 32 раз­рядов и больше.

От количества разрядов шины адреса зависит то, какое количество ячеек памяти может адресовать процессор. Процессор, имеющий шест­надцатиразрядную шину данных, может обращаться к 2 16 (то есть к 65536) ячейкам памяти. Это число называется объемом адресуемой памяти.

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

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

Внимание.

Один килобайт в вычислительной технике не равен 1000 байтов, как этого можно было бы ожидать. Число 1000 не является круглым числом в двоичной системе. В двоичной системе круглыми чис­лами удобнее считать степени числа 2. Например, 4, 8, 16, 32, 64 и т. д. Ближайшей степенью двойки для числа 1000 будет 2 10 , то есть число 1024. Поэтому 1 килобайт равен 1024 байтам. Точно так же 1 мегабайт равен 1024 килобайтам. А один гигабайт равен 1024 мегабайтам.

Такой способ подсчета может показаться странным. Но это только на первый взгляд. На самом деле тут действуют те же закономерности, что и в случае с дешифратором. Вспомните полный и неполный дешифраторы.Для того, чтобы это было более понятно, приведу один небольшой пример.

Пример.

Для адресации 1024 ячеек памяти нужна шина адреса, имеющая ровно 10 разрядов. То есть к адресной шине в 10 разрядов максимально можно подключить 1024 ячейки памяти. Если бы мы подключили 1000 ячеек, то нам все равно пришлось бы использовать 10 разрядов адреса, которые, в этом случае, использовались бы не полностью. Поэтому вы никогда не встретите микросхему памяти, имеющую 1000 ячеек. Именно по этой причине реальный объем памяти любой микропроцессорной системы, даже если она меньше максимально возможной для данной разрядно­сти шины адреса, всегда будет кратным степени двойки.

Для адресации портов ввода-вывода используется та же самая шина адреса. Но микропроцессору обычно не требуется так много портов, как ячеек памяти. Поэтому чаще всего для адресации портов используется не вся шина данных, а только несколько его младших разрядов. Например,в микропроцессоре К580ИК80 для адресации портов используется только 8 младших разрядов шины адреса.

Шина управления

Шина управленияв строгом понимании не является цельной циф­ровой шиной. Просто для управления процессами обмена информации микропроцессорная система должна иметь некий набор линий,передаю­щих специальные управляющие сигналы. Эти линии и принято объеди­нять в так называемую шину управления. Что же это за линии и что за сигналы? Ниже приведен примерный набор линий шины управления.

RD (Read) — сигнал чтения.

WR (Write) — сигнал записи.

MREQ— сигнал инициализации устройств памяти (ОЗУ или ПЗУ).

IORQ— сигнал инициализации портов ввода-вывода. Кроме того, к сигналам шины управления относятся:

READY— сигнал готовности;

RESET— сигнал сброса.

И еще несколько специальных сигналов, о которых мы поговорим позже

Системная шина микропроцессора

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

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

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

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

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


Рисунок 1. Структурная схема подключения микропроцессорных устройств к системной шине

При подключении различных устройств к системной шине возникает вопрос — как различать эти устройства между собой? Единственный способ сделать это использовать индивидуальный адрес для каждого устройства, подключенного к системной шине микропроцессора. Так как адресация производится к каждой ячейке устройства индивидуально, то возникает понятие адресного пространства, занимаемого каждым устройством и адресного пространства микропроцессорного устройства в целом.

Адресное пространство микропроцессорного устройства.

Адресное пространство микропроцессорного устройства изображается графически прямоугольником, одна из сторон которого представляет разрядность адресуемой ячейки этого микропроцессора, а другая сторона – весь диапазон доступных адресов для этого же микропроцессора. Обычно в качестве минимально адресуемой ячейки памяти выбирается восьмиразрядная ячейка памяти (байт). Диапазон доступных адресов микропроцессора определяется разрядностью шины адреса системной шины. При этом минимальный номер ячейки памяти (адрес) будет равен 0, а максимальный определяется из формулы:

Для шестнадцатиразрядной шины это будет число 65535 (64K). Адресное пространство этой шины и распределение памяти микропроцессорной системы, изображённой на рисунке 1, приведено на рисунке 2, а распределение памяти микропроцессорной системы, изображённой на рисунке 1, приведено на рисунке 3.


Рисунок 2. Адресное пространство шестнадцатиразрядной шины адреса

Рисунок 3. Распределение памяти микропроцессора с шестнадцатиразрядной шиной адреса

Микропроцессоры после включения питания и выполнения процедуры сброса всегда начинают выполнение программы с определённого адреса, чаще всего нулевого. Однако есть и исключения. Например процессоры, на основе которых строятся универсальные компьютеры IBM PC или Macintosh стартуют не с нулевого адреса. Программа должна храниться в памяти, которая не стирается при выключении питания, то есть в ПЗУ.

Выберем для построения микропроцессорной системы микросхему ПЗУ объёмом 2 килобайта, как это показано на рисунке 1. При рассмотрении построения блока обработки сигналов мы договорились, что процессор после сброса начинает работу с нулевого адреса, поэтому разместим ПЗУ в адресном пространстве начиная с нулевого адреса. Для того, чтобы нулевая ячейка ПЗУ оказались расположенной по нулевому адресу адресного пространства микропроцессора, старшие разряды шины адреса должны быть равны 0.

При построении схемы необходимо декодировать старшие пять разрядов адреса (определить, чтобы они были равны 0). Это выполняется при помощи дешифратора адреса, который в данном случае вырождается в пятивходовую схему “ИЛИ” Это связано с тем, что внутри ПЗУ уже есть одиннадцативходовый дешифратор адреса. При использовании дешифратора адреса, обращение к ячейкам памяти выше двух килобайт не приведёт к чтению ячеек ПЗУ, так как на входе выбора кристалла CS уровень напряжения останется высоким.

Теперь подключим микросхему ОЗУ. Для примера выберем микросхему объёмом 8 Кбайт. Для выбора любой из ячеек этой микросхемы достаточно тринадцатибитового адреса, поэтому необходимо дополнительно декодировать три оставшихся разряда адреса. Так как начальные ячейки памяти адресного пространства уже заняты ПЗУ, то использовать нельзя. Выберем следующую комбинацию цифр 001 и используем известные нам принципы построения схемы по произвольной таблице истинности. Дешифратор адреса выродится в данном случае в трёхвходовую схему “И-НЕ” с двумя инверторами на входе. Схема этого дешифратора приведена на рисунке 1. Приведённый дешифратор адреса обеспечивает нулевой уровень сигнала на входе CS только при комбинации старших бит 001. Обратите внимание, что так как объём ПЗУ меньше объёма ОЗУ, то между областью адресов ПЗУ и областью адресов ОЗУ образовалось пустое пространство неиспользуемых адресов памяти.

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

Способы расширения адресного пространства микропроцессора.

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

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


Рисунок 4. Использование параллельного порта в качестве переключателя страниц памяти

В этой схеме параллельный порт используется в качестве простейшего контроллера памяти микропроцессорного устройства. При применении восьмиразрядного параллельного порта в микропроцессорной системе появились дополнительные восемь линий адреса. В результате адресное пространство микропроцессорной системы увеличилось до 16 Мегабайт. Структура нового адресного пространства приведена на рисунке 5, а принцип формирования нового адреса с использованием переключателя страниц приведён на рисунке 6.


Рисунок 5. Структура страничного адресного пространства

Рисунок 6. Формирование адреса с использованием переключателя страниц

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

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

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

Адресное пространство при использовании сегментного метода адресации приведено на рисунке 7.


Рисунок 7. Пример адресного пространства с разделением на сегменты

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


Рисунок 8. Формирование адреса при сегментной адресации

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

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

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

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

Принцип построения оконной адресации при отображении страниц показан на рисунке 9.


Рисунок 9. Применение окна для расширения адресного пространства

Оконная адресация часто используется при развитии микропроцессорных семейств, когда размера областей памяти, отведённых для конкретных задач в младших моделях семейства, не хватает для старших моделей семейства, а при этом нужно поддерживать аппаратную совместимость с младшими моделями семейства. В качестве примера можно привести микросхемы I81c96 фирмы INTEL или TMS320c5410 фирмы Texas Instrument, где для расширения области регистров специальных функций используется оконная адресация.

Понравился материал? Поделись с друзьями!

  1. Микушин А.В. Занимательно о микроконтроллерах. СПб, БХВ-Петербург, 2006.
  2. Микушин А.В., Сажнев А.М., Сединин В.И. Цифровые устройства и микропроцессоры. СПб, БХВ-Петербург, 2010.
  3. С.А. Майоров, В.В. Кириллов, А.А. Приблуда Введение в микро ЭВМ. Ленинград, Машиностроение, 1988.
  4. Михаил Гук Аппаратные средства IBM PC. СПб, Питер, 2006.
  5. http://ru.wikipedia.org/wiki/RISC

Вместе со статьей “Системная шина микропроцессора” читают:

Ссылка на основную публикацию
Статьи c упоминанием слов: