Шина адреса
Как и шина данных, шина адреса представляет собой набор проводников, по которым происходит передача двоичных чисел в электронной форме. Однако, в отличие от шины данных, двоичные числа, передаваемые по шине адреса, имеют другой смысл и назначение. Они представляют собой адрес ячейки памяти или номер порта ввода/вывода, к которому в данный момент обращается процессор. Количество разрядов адресной шины отличается большим разнообразием.
Пример. Микропроцессор серии К580ИК80 имеет 16 разрядов адреса. Это можно считать минимальным количеством для микропроцессора. Процессор Intel 8086, на котором собран компьютер IBM PC-XT, родоначальник всех PC-совместимых персональных компьютеров, имеет 20 разрядов шины адреса. Современные процессоры имеют до 32 разрядов и больше.
От количества разрядов шины адреса зависит то, какое количество ячеек памяти может адресовать процессор. Процессор, имеющий шестнадцатиразрядную шину данных, может обращаться к 216 (то есть к 65536) ячейкам памяти. Это число называется объемом адресуемой памяти.
Реальный объем подключенной памяти может быть меньше, но никак не больше этой величины. Если все же есть необходимость в подключении большего объема памяти, применяют специальные схемные ухищрения (переключаемые банки памяти). В каждый момент времени к микропроцессору подключается свой банк памяти. Переключением банков управляет сам микропроцессор.
Объем памяти определяется в байтах. Сколько ячеек памяти, столько и байт. Существует понятие килобайт, мегабайт, гигабайт, терабайт и т. д. Однако в вычислительной технике используется необычный способ подсчета количества байт в килобайте.
Внимание.
Один килобайт в вычислительной технике не равен 1000 байтов, как этого можно было бы ожидать. Число 1000 не является круглым числом в двоичной системе. В двоичной системе круглыми числами удобнее считать степени числа 2. Например, 4, 8, 16, 32, 64 и т. д. Ближайшей степенью двойки для числа 1000 будет 210, то есть число 1024. Поэтому 1 килобайт равен 1024 байтам. Точно так же 1 мегабайт равен 1024 килобайтам. А один гигабайт равен 1024 мегабайтам.
Такой способ подсчета может показаться странным. Но это только на первый взгляд. На самом деле тут действуют те же закономерности, что и в случае с дешифратором. Вспомните полный и неполный дешифраторы. Для того, чтобы это было более понятно, приведу один небольшой пример.
Пример.
Для адресации 1024 ячеек памяти нужна шина адреса, имеющая ровно 10 разрядов. То есть к адресной шине в 10 разрядов максимально можно подключить 1024 ячейки памяти. Если бы мы подключили 1000 ячеек, то нам все равно пришлось бы использовать 10 разрядов адреса, которые, в этом случае, использовались бы не полностью. Поэтому вы никогда не встретите микросхему памяти, имеющую 1000 ячеек. Именно по этой причине реальный объем памяти любой микропроцессорной системы, даже если она меньше максимально возможной для данной разрядности шины адреса, всегда будет кратным степени двойки.
Для адресации портов ввода-вывода используется та же самая шина адреса. Но микропроцессору обычно не требуется так много портов, как ячеек памяти. Поэтому чаще всего для адресации портов используется не вся шина данных, а только несколько его младших разрядов. Например, в микропроцессоре К580ИК80 для адресации портов используется только 8 младших разрядов шины адреса.
