В предыдущей главе я рассказывал про цифровую электронику и общее устройство микроконтроллера (МК). А также, что он состоит из процессора, устройств ввода-вывода (УВВ) и устройства памяти. Но я практически ничего не сказал о том, как они общаются между собой. А это весьма важная тема, в которую я и посвящу тебя в этот раз.
Видео:Шины ввода-выводаСкачать
Шины и разряды
Как ты уже знаешь, вся информация в цифровой технике стараниями инженеров и математиков представляется в виде двоичных чисел, которые записываются с помощью всего двух цифр: «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, а на шине адреса адрес, по которому в ячейке памяти программ должна находиться первая команда его программы (чаще всего это нулевой адрес памяти программ). Затем МК её выполнит и в зависимости от этой и последующих команд на шине управления, адреса и данных будут появляться соответствующие сигналы и данные.
Видео:03. Основы устройства компьютера. Память и шина. [Универсальный программист]Скачать
Подведу итоги:
- Процессор, память и порты ввода-вывода общаются между собой с помощью шин.
- Основные шины бывают нескольких видов: шина данных, шина адреса, шина управления
- Разрядность шины адреса и шины данных определяется конструкцией процессора
Теперь ты продвинулся ещё на шаг в понимании того, как работает цифровая техника и в частности микропроцессорные системы. В следующий раз мы продвинемся еще на шаг к нашей цели — пониманию как устроен мир электроники
Видео:Архитектура микропроцессора 8085Скачать
Процессор и цифровые шины
Типовая схема микропроцессорной системы.
Структурная схема типичной микропроцессорной системы
Основным действующим элементом современной микропроцессорной системы является микроконтроллер.Однако для того, чтобы понять основополагающие принципы работы, сначала все же необходимо остановиться на микропроцессоре.Сразу нужно сказать, что микропроцессор не работает сам по себе. Микропроцессор — это всего лишь часть той или иной микропроцессорной системы.
Кроме собственно микропроцессора, в состав микропроцессорной системы входят и другие, не менее важные элементы. На рис. 2.1 приведена обобщенная структурная схема типичной микропроцессорной системы. Рассмотрим детально, как она устроена. Как вы видите, названия всех элементов системы даны как в русском, так и в английском варианте.
Русские названия когда-то пытались внедрить в практику в бывшем СССР. Поэтому и сейчас они иногда встречаются в литературе. Однако в настоящее время более широкое распространение получили английские, а точнее — международные наименования. Каждое наименование как в русском, так и в английском варианте представляет собой определенное сокращение полного названия элемента. Ниже приведена их расшифровка.
♦ CPU (Central Processing Unit) — центральное процессорное устройство (ЦПУ).
♦ RAM(Random Access Memory) — устройство с произвольным доступом, или оперативное запоминающее устройство (ОЗУ).
♦ ROM(Read Only Memory) — память только для чтения, или постоянное запоминающее устройство (ПЗУ).
♦ Port I/O(Port Input/Output) — порт ввода-вывода.
Теперь рассмотрим все эти элементы подробнее. Замечу только, что процессор не всегда был Микропроцессором. Были времена, когда процессор представлял собой одну или даже несколько электронных плат, набитых радиоэлементами.
Виды памяти
Два вида памяти (ОЗУ и ПЗУ) предназначены для хранения информации (данных и программ). Оба вида памяти представляют собой набор ячеек,в каждой из которых может храниться одно двоичное число. Деление на постоянную и оперативную память достаточно условно. С точки зрения процессора, оба эти вида памяти практически идентичны. Однако все же между ними есть одно довольно существенное различие.
После того, как информация записана в ОЗУ, она хранится там лишь до тех пор, пока подано напряжение питания. Как только питание будет отключено, информация, записанная в ОЗУ, тут же теряется. Об этом мы уже говорили выше. Классический пример ячейки ОЗУ — это простейший регистр, построенный на D-триггерах.
В такой регистр можно записывать информацию и читать ее оттуда. Однако если отключить, а затем включить питание, то все триггеры, из которых состоят регистры ОЗУ, установятся в случайное состояние. Информация будет утеряна. Современные микросхемы памяти строятся на основе совсем других технологий. Но и по сей день не придумано достаточно быстродействующее устройство памяти, не теряющее информации при выключении питания.
Самая распространенная на сегодняшний день технология построения ОЗУ — это так называемая динамическая память.Хранение информации в микросхемах динамической памяти осуществляется при помощи динамически подзаряжаемых миниатюрных емкостей (конденсаторов), выполненных интегральным способом на кристалле кремния.
Читайте также: Летние шины yokohama bluearth ae50 215 65 r16 98h
Каждый конденсатор хранит один бит информации. Если значение бита должно быть равно единице, то схема управления заряжает конденсатор. Если в ячейке должен быть логический ноль, то конденсатор разряжается. Заряженный конденсатор может хранить свой заряд, а, значит, и записанную в него информацию в течение всего нескольких миллисекунд. Для того, что бы информация не потерялась, используют регенерацию памяти.
Специальная схема периодически считывает содержимое каждой ячейки памяти и подзаряжает конденсаторы для тех битов, где записана единица. Для ускорения процесса регенерации все ячейки памяти каждой микросхемы разбиваются на строки. Считывание и обновление производится сразу для целой строки. Для нормальной работы динамического ОЗУ регенерации должна непрерывно работать в течение всего времени, пока включено питание. В современных ОЗУ схема регенерации встраивается внутрь самих микросхем.
Постоянное запоминающее устройство (ПЗУ) предназначено для долговременного хранения информации и не теряет записанную информацию даже после выключения питания. При изготовлении микросхем ПЗУ применяются совершенно другие технологии. На заре микропроцессорной техники микросхемы ПЗУ осуществляли хранение информации благодаря прожиганию внутренних микроперемычек на кристалле. Занесенная таким образом информация не могла быть изменена. Если информация устаревала, микросхему просто выбрасывали и заменяли на другую.
На смену однократно программируемым ПЗУ пришли ПЗУ с ультрафиолетовым стиранием. Такие микросхемы ПЗУ допускали многократное использование. Пережигаемые перемычки получили возможность восстанавливаться. Перед повторным использованием микросхему нужно было «стереть». То есть восстановить перемычки. Для этого кристалл микросхем подвергался облучению световым потоком ультрафиолетового диапазона, для чего микросхемы снабжались специальным окошечком в верхней части корпуса.
Количество циклов записи-стирания для таких микросхем было ограничено. Микросхемы с ультрафиолетовым стиранием просуществовали достаточно долго. Они и сейчас работают во множестве микропроцессорных устройств, изготовленных на рубеже прошлого и нынешнего веков.
Современные же микросхемы ПЗУ строятся по так называемой флэш-технологии (Flash). Такие микросхемы также основаны на применении специальных пережигаемых перемычек с возможностью восстановления. Но стирание информации в данном случае происходит электрическим путем. Поэтому такие микросхемы еще называют ЭСПЗУ (электрически стираемые ПЗУ). Весь процесс стирания осуществляется внутри микросхемы. Для запуска процесса стирания достаточно подать определенную комбинацию сигналов на ее входы.
Будучи включенными в состав микропроцессорной системы, микросхемы ОЗУ и микросхемы ПЗУ работают как единая память программ и данных. Хотя процессор и работает с обоими видами памяти одинаково, но из ПЗУ он может только читать информацию. Запись информации в ПЗУ невозможна. Если микропроцессор все же попытается произвести запись, то ничего страшного не произойдет. Просто в ячейке останется то, что там было до попытки записи.
Порты ввода-вывода
Это полезно запомнить. Порты ввода-вывода — это специальные устройства, при помощи которых микропроцессорная система может общаться с внешним миром.
Без портов теряется весь смысл микропроцессорной системы. Она не может работать сама по себе. Микропроцессор должен чем-то управлять, а иначе зачем он? Через порты ввода процессор получает внешние воздействия (управляющие сигналы). Например, сигналы от кнопок, датчиков. При помощи портов вывода процессор управляет внешними устройствами (реле, моторами, световыми индикаторами, дисплеями).
Процессор работает с портами ввода-вывода практически так же, как и с ячейками памяти. Работа с портами сводится к тому, что процессор просто читает число из порта ввода или записывает число в порт вывода. В качестве порта вывода чаще всего выступает обыкновенный параллельный регистр. Порт ввода еще проще. Это простая ключевая схема, которая по команде с центрального процессора подает внешние данные на его входы.
Процессор и цифровые шины
Главным управляющим элементом всей микропроцессорной системы является процессор. Именно он, за исключением нескольких особых случаев, управляет и памятью, и портами ввода-вывода. Память и порты ввода-вывода являются пассивными устройствами и могут только отвечать на управляющие воздействия.
Для того, чтобы процессор мог управлять микропроцессорной системой, он соединен со всеми ее элементами при помощи цифровых шин. Как мы уже говорили, шина — это набор параллельных проводников, по которым передается цифровой сигнал. Эти проводники называются линиями шины.
В каждый момент времени по шине передается одно двоичное число. По каждой линии передается один разряд этого числа. В любой микропроцессорной системе имеется, по крайней мере, три основные шины. Все они изображены на рис. 2.1, но даны только русскоязычные названия шин.
Ниже приведена расшифровка этих названий и их англоязычный эквивалент:
♦ ШУ — шина управления (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— сигнал сброса.
И еще несколько специальных сигналов, о которых мы поговорим позже
🎬 Видео
Как работает компьютер? Шины адреса, управления и данных. Дешифрация. Взгляд изнутри!Скачать
Процессор под микроскопом. Нанометровое путешествие.Скачать
Принцип работы процессора на уровне ядраСкачать
КАК работает ПРОЦЕССОР? ОБЪЯСНЯЕМСкачать
лекция 403 CAN шина- введениеСкачать
Провода, токопровод, шиныСкачать
АПС Л19. ШиныСкачать
АПС Л14. ШиныСкачать
Что означает МАРКИРОВКА НА ШИНАХ / Значение всех цифр и букв на резинеСкачать
Cовременные микропроцессоры и микроконтроллерыСкачать
5.Микропроцессорные системы. Виды и классификация микроконтроллеровСкачать
Чем отличается МИКРОКОНТРОЛЛЕР и МИКРОПРОЦЕССОРСкачать
169 секунд и ты знаешь как работает процессорСкачать
Как работает процессорСкачать
Котика ударило током, 10 т. ВольтСкачать
БОКОВУШЕЧКА У ТУАЛЕТА в плацкартеСкачать