Чем определяется разрядность шины
Шина данных. разрядность шины
Шину данных образуют линии, служащие для передачи данных между отдельными структурными группами ПК. Исходным пунктом линий данных является центральный процессор. Он определяет разрядность шины данных, т.е. число линий, по которым передаются данные. Чем выше разрядность шины данных, тем больший объем данных можно передать по ней за некоторый определенный промежуток времени и тем выше быстродействие компьютера.
В первых ПК использовался процессор Intel 8088. Этот 16-разрядный процессор имел всего лишь 8 внешних линий данных (этим объясняется его низкая стоимость). Для внутренних операций было задействовано 16 линий данных, благодаря чему процессор мог одновременно обрабатывать два восьмиразрядных числа. Но на внешнем уровне к нему присоединялась дешевая восьмиразрядная шина данных. Эти 8 линий обеспечивали связь со всеми микросхемами на системной плате, выполняющими функции обработки данных, и всеми платами расширения, установленными в гнездах. Таким образом осуществлялась передача данных между платами расширения и процессором.
Современные процессоры допускают внешнее подключение большего числа линий данных: процессор 80286 — 16 линий данных, процессоры 80386 DX и 80486 DX — 32 линии, а процессор Pentium — 64 линии данных.
Адресная шина. Разрядность шины
Другая группа линий образует адресную шину. Эта шина используется для адресации. Каждая ячейка памяти и устройство ввода-вывода компьютера имеет свой собственный адрес.
При считывании или записи данных процессор должен сообщать, по какому адресу он желает прочитать или записать данные, для чего необходимо указать этот адрес.
В отличие от шины данных шина адреса является однонаправленной.
Разрядность адресной шины определяет максимальное число адресов, по которым может обратиться процессор, т. е. число линий в адресной шине показывает, каким объемом памяти может управлять процессор. Учитывая, что одна адресная линия обеспечивает представление одного разряда двоичного числа, формулу для максимального объема адресуемой памяти можно записать в следующем виде:
максимальное число адресов = 2n,
где n — разрядность адресной шины.
Процессор 8088 имел 20 адресных линий, что в соответствии с приведенной формулой обеспечивало адресацию памяти объемом:
220 =1 048 576 байт = 1024 Кбайт = 1 Мбайт.
Это тот самый предельный объем памяти, который все еще имеет силу в операционной системе DOS.
Совсем иная ситуация с процессором 80286. Он имеет 24 адресных линии и поэтому в состоянии управлять памятью объемом:
224= 16 777 216 байт =16 Мбайт.
Для обеспечения связи с микросхемами памяти число адресных линий процессора должно равняться числу адресных линий на системной плате.
Процессоры 80386, 80486 и Pentium имеют 32 адресных линии, что обеспечивает адресацию свыше 4 млрд. ячеек памяти. На системной плате с такими процессорами должно быть 32 линии, обеспечивающие обмен адресами между центральным процессором и всеми важными периферийными микросхемами.
Линии шины управления на системной плате служат для управления различными компонентами ПК. По выполняемой ими функции их можно сравнить с переводной стрелкой на железнодорожных путях.
С помощью небольшого числа линий шина управления обеспечивает такое функционирование системы, чтобы в каждый данный момент времени только одна структурная единица ПК пересылала данные по шине данных или осуществляла адресацию памяти.
К шине может быть подключено много приемных устройств. Сочетание управляющих и адресных сигналов определяет, для кого именно предназначаются данные на шине. Управляющая логика возбуждает специальные стробирующие сигналы, чтобы указать получателю, когда ему следует принимать данные.
Управляющая логика активизирует в каждый конкретный момент только одно устройство, которое становиться ведущим. Когда устройство активизировано, оно помещает свои данные на шину. Все другие микросхемы в этот промежуток времени должны блокироваться с помощью соответствующего сигнала на линии управления.
Микропроцессор взаимодействует с внешней средой с помощью шины адреса/данных/состояния и нескольких управляющих сигналов. Собственно взаимодействие заключается в выполнении одной из двух операций: МП либо выводит (записывает) данные, либо вводит (считывает) данные или команды. В каждой из этих операций процессор должен указывать то устройство, с которым он будет взаимодействовать; другими словами, процессор должен адресовать ячейку памяти либо порт ввода или вывода.
Для передачи данных или выборки команды процессор инициирует так называемый цикл шины. Кроме процессора, цикл шины могут инициировать и другие устройства, например, арифметический сопроцессор.
Цикл шины представляет собой последовательность событий, в течение которой процессор выдает адрес ячейки памяти или периферийного устройства, а затем формирует сигнал записи или считывания, а также выдает данные в операции записи. Выбранное устройство воспринимает данные с шины в цикле записи или помещает данные на шину в цикле считывания. По окончании цикла шины устройство фиксирует записываемые данные или снимает считываемые данные.
Рассмотрим цикл шины микропроцессора 8086, который имеет совмещенную 20-разрядную шину адреса/данных/состояния и шину управления (рис. 4).
Рис. 4. Шины микропроцессора 8086
Цикл шины микропроцессора 8086 состоит минимум из четырех тактов синхронизации, называемых также состояниями T, которые идентифицируются спадающим фронтом сигнала синхронизации CLC. В первом такте (T1) процессор выдает на шину адреса/данных/состояния AD20-AD0 адрес устройства, которое будет источником или получателем информации в текущем цикле шины. Во втором такте (T2) процессор снимает адрес с шины и либо переводит тристабильные буферы линий AD15-AD0 в высокоимпедансное состояние, подготавливая их к выводу информации в цикле считывания, либо выдает на них данные в цикле записи.
Управляющие сигналы, инициирующие считывание, запись или подтверждение прерываний, всегда выдаются в такте T2. В максимальной конфигурации системы сигнал записи формируется в такте T3, чтобы гарантировать стабилизацию сигналов данных до начала действия этого сигнала.
В такте T2 старшие четыре линии адреса/состояния переключаются с режима выдачи адреса на режим выдачи состояния. Сигналы состояния предназначены в основном для диагностических целей, например, идентифицируют сегментный регистр, который участвует в формировании адреса памяти.
В течение такта T3 процессор сохраняет информацию на линиях состояния. На шине данных в цикле записи сохраняются выводимые данные, а в цикле считывания производится опрос вводимых данных.
Тактом T4 заканчивается цикл шины. В этом такте снимаются все управляющие сигналы и выбранное устройство отключается от шины.
Таким образом, цикл шины для памяти или периферийного устройства представляет собой асинхронное действие. Устройство может управлять циклом шины только путем введения состояний ожидания.
Процессор выполняет цикл шины в том случае, когда ему необходимо осуществить запись или считывание информации. Если циклы шины не требуются, шинный интерфейс реализует холостые состояния Ti, в течение которых процессор сохраняет на линиях состояния сигналы состояния от предыдущего цикла шины.
Статьи к прочтению:
Как выбрать видеокарту. Или почему шина 256 бит — не рулит. (см. описание)
Похожие статьи:
Современные устройства радиоэлектронной техники используют большое число микросхем, что требует много линий для адресации, выбора и управления их…
Шины микропроцессорной системы и циклы обмена Самое главное, что должен знать разработчик микропроцессорных систем — это принципы организации обмена…
Шины персонального компьютера
Шиной (Bus) называется вся совокупность линий (проводников на материнской плате), по которым обмениваются информацией компоненты и устройства ПК. Шины предназначены для обмена информацией между двумя и более устройствами. Шина, связывающая только два устройства, называется портом. На рис. 1 дана структура шины.
Шина имеет места для подключения внешних устройств – слоты, которые в результате становятся частью шины и могут обмениваться информацией со всеми другими подключенными к ней устройствами.
Рис. 1. Структура шины
Шины в ПК различаются по своему функциональному назначению:
Локальная шина ввода/вывода – это скоростная шина, предназначенная для обмена информацией между быстродействующими периферийными устройствами (видеоадаптерами, сетевыми картами, картами сканера и др.) и системной шиной под управлением CPU. В настоящее время в качестве локальной шины используется шина PCI. Для ускорения ввода/вывода видеоданных и повышения производительности ПК при обработке трехмерных изображений корпорацией Intel была разработана шина AGP (Accelerated Graphics Port).
Стандартная шина ввода/вывода используется для подключения к перечисленным выше шинам более медленных устройств (например, мыши, клавиатуры, модемов, старых звуковых карт). До недавнего времени в качестве этой шины использовалась шина стандарта ISA. В настоящее время – шина USB.
Шина имеет собственную архитектуру, позволяющую реализовывать важнейшие ее свойства – возможность параллельного подключения практически неограниченного числа внешних устройств и обеспечение обмена информацией между ними. Архитектура любой шины имеет следующие компоненты:
Контроллер шины осуществляет управление процессором обмена данными и служебными сигналами и обычно выполняется в виде отдельной микросхемы либо в виде совместимого набора микросхем – Chipset.
Шина данных обеспечивает обмен данными между CPU, картами расширения, установленными в слоты, и памятью RAM. Чем выше разрядность шины, тем больше данных может быть передано за один такт и тем выше производительность ПК. Компьютеры с процессором 80286 имеют 16-разрядную шину данных, с CPU 80386 и 80486 – 32-разрядную, а компьютеры с CPU семейства Pentium – 64-разрядную шину данных.
Шина адреса служит для указания адреса к какому-либо устройству ПК, с которым CPU производит обмен данными. Каждый компонент ПК, каждый регистр ввода/вывода и ячейка RAM имеют свой адрес и входят в общее адресное пространство ПК. По шине адреса передается идентификационный код (адрес) отправителя и (или) получателя данных.
Процессор 8088, например, имел 20 адресных линий и мог, таким образом, адресовать память объемом 1 Мбайт (2 20 =1 048 576 байт=1024 Кбайт). В ПК с процессором 80286 разрядность адресной шины была увеличена до 24 бит, а процессоры 80486, Pentium, Pentium MMX и Pentium II имеют уже 32-разрядную шину адреса, с помощью которой можно адресовать 4 Гбайт памяти.
Шина управления передает ряд служебных сигналов: записи/считывания, готовности к приему/передаче данных, подтверждения приема данных, аппаратного прерывания, управления и других, чтобы обеспечить передачу данных.
Основные характеристики шины
Разрядность шины определяется числом параллельных проводников, входящих в нее. Первая шина ISA для IBM PC была восьмиразрядной, т.е. по ней можно было одновременно передавать 8 бит. Системные шины современных ПК, например, Pentium IV – 64-разрядные.
Пропускная способность шины определяется количеством байт информации, передаваемых по шине за секунду.
При расчете пропускной способности, например шины AGP, следует учитывать режим ее работы: благодаря увеличению в два раза тактовой частоты видеопроцессора и изменению протокола передачи данных удалось повысить пропускную способность шины в два (режим 2 х ) или четыре (режим 4 х ) раза, что эквивалентно увеличению тактовой частоты шины в соответствующее число раз (до 133 и 266 МГц соответственно).
Внешние устройства к шинам подключается посредством интерфейса (Interface – сопряжение), представляющего собой совокупность различных характеристик какого-либо периферийного устройства ПК, определяющих организацию обмена информацией между ним и центральным процессором.
К числу таких характеристик относятся электрические и временные параметры, набор управляющих сигналов, протокол обмена данными и конструктивные особенности подключения. Обмен данными между компонентами ПК возможен, только если интерфейсы этих компоненты совместимы.
Стандарты шин ПК
Принцип IBM-совместимости подразумевает стандартизацию интерфейсов отдельных компонентов ПК, что, в свою очередь, определяет гибкость системы в целом, т.е. возможность по мере необходимости изменять конфигурацию системы и подключать различные периферийные устройства. В случае несовместимости интерфейсов используются контроллеры. Кроме того, гибкость и унификация системы достигаются за счет введения промежуточных стандартных интерфейсов, таких как интерфейсы необходимы для работы наиболее важных периферийных устройств ввода и вывода.
Системная шина предназначена для обмена информацией между CPU, памятью и другими устройствами, входящими в систему. К системным шинам относятся:
Шины ввода/вывода совершенствуются в соответствии с развитием периферийных устройств ПК. В табл. 2 представлены характеристики некоторых шин ввода/вывода.
Шина ISA в течение многих лет считалась стандартом ПК, однако и до сих пор сохраняется в некоторых ПК наряду с современной шиной PCI. Корпорация Intel совместно с Microsoft разработала стратегию постепенного отказа от шины ISA. В начале планируется исключить ISA-разъемы на материнской плате, а впоследствии исключить слоты ISA и подключить дисководы, мыши, клавиатуры, сканеры к шине USB, а винчестеры, приводы CD-ROM – к шине IEEE 1394. Однако наличие огромного парка ПК с шиной ISA будет востребована еще на протяжении некоторого времени.
Шина EISA стала дальнейшим развитием шины ISA в направлении повышения производительности системы и совместимости ее компонентов. Шина не получила широкого распространения в связи с ее высокой стоимостью и пропускной способностью, уступающей пропускной способности появившейся на рынке шины VESA.
Таблица 2. Характеристики шин ввода/вывода
Шина | Разрядность, бит | Тактовая частота, МГц | Пропускная способность, Мбайт/с |
ISA 8-разрядная | 08 | 8,33 | 0008,33 |
ISA 16-разрядная | 16 | 8,33 | 0016,6 |
EISA | 32 | 8,33 | 0033,3 |
VLB | 32 | 33 | 0132,3 |
PCI | 32 | 33 | 0132,3 |
PCI 2.1 64-разрядная | 64 | 66 | 0528,3 |
AGP (1 x ) | 32 | 66 | 0262,6 |
AGP (2 x ) | 32 | 66х2 | 0528,3 |
AGP (4 x ) | 32 | 66х2 | 1056,6 |
Шина VESA, или VLB, предназначена для связи CPU с быстрыми периферийными устройствами и представляет собой расширение шины ISA для обмена видеоданными.
Шина PCI была разработана фирмой Intel для процессора Pentium и представляет собой совершено новую шину. Основополагающим принципом, положенным в основу шины PCI, является применение так называемых мостов (Bridges), которые осуществляют связь между шиной PCI и другими типами шин. В шине PCI реализован принцип Bus Mastering, который подразумевает способность внешнего устройства при пересылке данных управлять шиной (без участия CPU). Во время передачи информации устройство, поддерживающее Bus Mastering, захватывает шину и становится главным. В этом случае центральный процессор освобождается для решения других задач, пока происходит передача данных. В современных
материнских платах тактовая частота шины PCI задается как половина тактовой частоты системной шины, т.е. при тактовой частоте системной шины 66 МГц шина PCI будет работать на частоте 33 МГц. В настоящее время шина PCI стала фактическим стандартом среди шин ввода/вывода.
Шина AGP – высокоскоростная локальная шина ввода/вывода, предназначенная исключительно для нужд видеосистемы. Она связывает видеоадаптер (3D-акселератор) с системой памятью ПК. Шина AGP была разработана на основе архитектуры шины PCI, поэтому она также является 32-разрядной. Однако при этом у нее есть дополнительные возможности увеличения пропускной способности, в частности, за счет использования более высоких тактовых частот.
Шина USB была разработана лидерами компьютерной и телекоммуникационной промышленности Compaq, DEC, IBM, Intel, Microsoft для подключения периферийных устройств вне корпуса PC. Скорость обмена информацией по шине USB составляет 12 Мбит/с или 15 Мбайт/с. К компьютерам, оборудованным шиной USB, можно подключать такие периферийные устройства, как клавиатура, мышь, джойстик, принтер, не выключая питания. Все периферийные устройства должны быть оборудованы разъемами USB и подключаться к ПК через отдельный выносной блок, называемый USB-хабом, или концентратором, с помощью которого к ПК можно подключить до 127 периферийных устройств. Архитектура шины USB представлена на рис. 4.
Шина SCSI (Small Computer System Interface) обеспечивает скорость передачи данных до 320 Мбайт/с и предусматривает подключение к одному адаптеру до восьми устройств: винчестеры, приводы CD-ROM, сканеры, фото- и видеокамеры. Отличительной особенностью шины SCSI является то, что она представляет собой кабельный шлейф. С шинами PC (ISA или PCI) шина SCSI связана через хост-адаптер (Host Adapter). Каждое устройство, подключенное к шине SCSI, может инициировать обмен с другими устройством.
Шина IEEE 1394 – это стандарт высокоскоростной локальной последовательной шины, разработанный фирмами Apple и Texas Instruments. Шина IEEE 1394 предназначена для обмена цифровой информацией между
ПК и другими электронными устройствами, особенно для подключения жестких дисков и устройств обработки аудио- и видеоинформации, а также работы мультимедийных приложений. Она способна передавать данные со скоростью до 1600 Мбайт/с, работать одновременно с несколькими устройствами, передающими данные с разными скоростями, как и SCSI.
Подключить к компьютеру через интерфейс IEEE 1394 можно практически любые устройств, способные работать с SCSI. К ним относятся все виды накопителей на дисках, включая жесткие, оптические, CD-ROM, DVD, цифровые видеокамеры, устройства. Благодаря таким широким возможностям, эта шина стала наиболее перспективной для объединения компьютера с бытовой электроникой. В настоящее время уже выпускаются адаптеры IEEE 1394 для шины PCI.
Шины в микропроцессорной системе
В предыдущей главе я рассказывал про цифровую электронику и общее устройство микроконтроллера (МК). А также, что он состоит из процессора, устройств ввода-вывода (УВВ) и устройства памяти. Но я практически ничего не сказал о том, как они общаются между собой. А это весьма важная тема, в которую я и посвящу тебя в этот раз.
Шины и разряды
Как ты уже знаешь, вся информация в цифровой технике стараниями инженеров и математиков представляется в виде двоичных чисел, которые записываются с помощью всего двух цифр: «0» и «1». Обычное десятичное число «3» в двоичной записи будет выглядеть как «11», т.е. 310 = 112. Нижние индексы указывают в какой системе счисления записано число, т.е. 10 – десятичная, а 2 – двоичная. Одна цифра в двоичном числе называется разрядом. У разрядов есть старшинство. Самый правый разряд называется младшим, а самый левый – старшим. Старшинство разряда растет справа налево:
Двоичное число, состоящее из 8 разрядов называется 8-ми разрядным, из 16 – шестнадцатиразрядным и т.д. Разрядность двоичного числа имеет самое прямое отношение к взаимодействию между процессором, памятью и устройствами ввода-вывода.
Дело в том, что в твоем МК бегают такие же двоичные числа. Они ходят от памяти к процессору, от процессора назад к памяти или УВВ, а от последних к процессору. Бегают они естественно по проводам (в МК эти шины спрятаны внутри микросхемы). Каждый провод в определённый момент времени может передавать только один разряд со значением «0» или «1». Поэтому, чтобы передать, к примеру, 8-ми разрядное число от процессора к памяти или назад понадобится минимум 8 таких поводов.
Несколько таких проводов, объединенных вместе называются шиной. Шины бывают нескольких видов: шина адреса, шина данных и шина управления. По шине адреса бегают числа, которые обозначают адрес ячейки памяти или устройства ввода-вывода, откуда ты хочешь получить или куда хочешь записать данные. А сами данные будут передаваться уже по шине данных. Это похоже на почтовую посылку. У посылки есть адрес и есть содержание. Так вот в микропроцессорной системе, каковой МК также является, адрес и данные передаются по разным путям, именуемым шинами.
Сколько проводов должно быть в шине?
Это напрямую зависит от конструкции процессора. Процессор может иметь 32-разрядную шину данных и 16-ти разрядное АЛУ. Такие случаи в истории процессоров и МК встречаются многократно. Поэтому разрядность процессора не определяет 100% разрядность шин данных и шин адреса. Всё зависит от конкретной конструкции.
На что влияет разрядность шины адреса
Самым главным, на что она влияет, является количество адресов, которые можно по ней передавать. Например, в 4-разрядной системе это будет всего 2 4 = 16 адресов, в 64-разрядной числов сдресов будет уже 2 64 =18 446 744 073 709 551 616. Таким образом, чем выше разрядность шины адреса, тем к больше объем памяти и больше устройств ввода-вывода, с которыми может работать процессор. Это важно.
На что влияет разрядность шины данных
Её разрядность определяет сколько данных процессор может считать за один раз. Чем выше разрядность, тем больше данных можно считывать за один раз. Её разрядность, как и разрядность шины адреса целиком определяется конструкцией конкретного процессора или МК. Но при этом всегда кратна восьми. Связано это с тем, что практически во всех устройствах памяти минимальной единицей информации является байт, т.е. двоичное число из 8-ми разрядов.
Зачем было нужно вводить ещё одно название: байт? Оно служит для обозначения количества информации. Если количество разрядов говорит просто о длине двоичного числа, то битность говорит о количестве информации, которую это число несет. Считается, что один разряд двоичного числа может передавать 1 бит информации. При этом биты группируются в байты, килобайты, мегабайты, гигабайты, терабайты и т.д.
Кстати, 1 байт = 8 бит, 1 килобайт = 1024 байтам, 1 мегабайт = 1024 килобайтам и т.д. Почему именно 1024? Все это связано с тем, что размер памяти всегда кратен степени двойки: 2 3 = 8, 2 10 =1024. В свою очередь кратность двойке была выбрана благодаря тому, что она упрощает техническую реализацию устройств памяти. Устройство памяти представляет.
Алгоритм работы микроконтроллера
Давай теперь попробуем посмотреть как взаимодействует процессор с памятью и разберёмся зачем нужна шина управления. Любой процессор помимо выполнения арифметических и логических команд умеет делать ещё несколько важных операций: чтение из ячейки памяти, запись в ячейку памяти, чтение из порта ВВ, запись в порт ВВ:
Для того, чтобы указывать какую из этих операций производить используется шина управления. По этой шине от процессора к памяти или портам ввода-вывода передаются сигналы:
RD (read) | сигнал на чтение |
WR (write) | сигнал на запись |
MREQ (memory request) | запрос обращения к памяти |
IORQ (input/output request) | запрос обращения к портам в/в |
READY | сигнал готовности |
RESET | сигнал сброса |
Когда процессору требуется обратиться к памяти он выставляет на шине управления сигнал MREQ, при этом будет выставлен одновременно с ним сигнал RD/WR. Если процессор будет писать в память, то выставляется сигнал WR, если чтение – RD. Тоже самое происходит, если процессор обращается к портам ввода-вывода.
А вот сигнал READY нужен для того, чтобы сообщить процессору, что чтение/запись завершены. Всё довольно просто. Если тебя одолевают вопросы почему несмотря на то, что и память и порты ввода-вывода, через которые подключены внешние устройства, не конфликтуют, то разгадка будет довольно простой. В каждый момент времени процессор обращается только к одному конкретному устройству: либо памяти, либо через порты к портам ввода-вывода. И шина управления обеспечивает правильное разделение доступа.
Все описанное – упрощенная модель микропроцессорной системы, каковой является и персональный компьютер, и микроконтроллер.
Теперь вырисовывается уточнение к алгоритму работу микроконтроллера, который я описывал в прошлой главе. Когда ты подаёшь питание на МК, то он выставляет сигнал на шине управления MREQ, RD, а на шине адреса адрес, по которому в ячейке памяти программ должна находиться первая команда его программы (чаще всего это нулевой адрес памяти программ). Затем МК её выполнит и в зависимости от этой и последующих команд на шине управления, адреса и данных будут появляться соответствующие сигналы и данные.