Самое главное, что должен знать разработчик микропроцессорных систем — это принципы организации обмена информацией по шинам таких систем. Без этого невозможно разработать аппаратную часть системы, а без аппаратной части не будет работать никакое программное обеспечение.
За более чем 30 лет, прошедших с момента появления первых микропроцессоров, были выработаны определенные правила обмена, которым следуют и разработчики новых микропроцессорных систем. Как показала практика, принципы организации обмена по шинам гораздо важнее, чем особенности конкретных микропроцессоров. Стандартные системные магистрали живут гораздо дольше, чем тот или иной процессор. Разработчики новых процессоров ориентируются на уже существующие стандарты магистрали. Более того, некоторые системы на основе совершенно разных процессоров используют одну и ту же системную магистраль. То есть магистраль оказывается самым главным системообразующим фактором в микропроцессорных системах.
Обмен информацией в микропроцессорных системах происходит в циклах обмена информацией. Под циклом обмена информацией понимается временной интервал, в течение которого происходит выполнение одной элементарной операции обмена по шине. Например, пересылка кода данных из процессора в память или же пересылка кода данных из устройства ввода/вывода в процессор. В пределах одного цикла также может передаваться и несколько кодов данных, даже целый массив данных, но это встречается реже.
Циклы обмена информацией делятся на два основных типа:
Цикл записи (вывода), в котором процессор записывает (выводит) информацию;
Цикл чтения (ввода), в котором процессор читает (вводит) информацию.
В некоторых микропроцессорных системах существует также цикл «чтение-модификация-запись» или же «ввод-пауза-вывод». В этих циклах процессор сначала читает информацию из памяти или устройства ввода/вывода, затем как-то преобразует ее и снова записывает по тому же адресу. Например, процессор может прочитать код из ячейки памяти, увеличить его на единицу и снова записать в эту же ячейку памяти. Наличие или отсутствие данного типа цикла связано с особенностями используемого процессора.
Особое место занимают циклы прямого доступа к памяти (если режим ПДП в системе предусмотрен) и циклы запроса и предоставления прерывания (если прерывания в системе есть).
Во время каждого цикла устройства, участвующие в обмене информацией, передают друг другу информационные и управляющие сигналы в строго установленном порядке или, как еще говорят, в соответствии с принятым протоколом обмена информацией.
Длительность цикла обмена может быть постоянной или переменной, но она всегда включает в себя несколько периодов сигнала тактовой частоты системы. То есть даже в идеальном случае частота чтения информации процессором и частота записи информации оказываются в несколько раз меньше тактовой частоты системы.
Чтение кодов команд из памяти системы также производится с помощью циклов чтения. Поэтому в случае одношинной архитектуры на системной магистрали чередуются циклы чтения команд и циклы пересылки (чтения и записи) данных, но протоколы обмена остаются неизменными независимо от того, что передается — данные или команды. В случае двухшинной архитектуры циклы чтения команд и записи или чтения данных разделяются по разным шинам и могут выполняться одновременно.
Шины микропроцессорной системы
Шина данных — это основная шина, ради которой и создается вся система. Количество ее разрядов (линий связи) определяет скорость и эффективность информационного обмена, а также максимально возможное количество команд.
Шина данных всегда двунаправленная, так как предполагает передачу информации в обоих направлениях. Наиболее часто встречающийся тип выходного каскада для линий этой шины — выход с тремя состояниями.
Обычно шина данных имеет 8, 16, 32 или 64 разряда. Разрядность шины данных определяет и разрядность всей магистрали.
Шина адреса — вторая по важности шина, которая определяет максимально возможную сложность микропроцессорной системы, то есть допустимый объем памяти и, следовательно, максимально возможный размер программы и максимально возможный объем запоминаемых данных. Количество адресов, обеспечиваемых шиной адреса, определяется как 2N, где N — количество разрядов. Например, 16-разрядная шина адреса обеспечивает 65 536 адресов. Разрядность шины адреса обычно кратна 4 и может достигать 32 и даже 64. Шина адреса может быть однонаправленной (когда магистралью всегда управляет только процессор) или двунаправленной (когда процессор может временно передавать управление магистралью другому устройству, например контроллеру ПДП). Наиболее часто используются типы выходных каскадов с тремя состояниями или обычные ТТЛ (с двумя состояниями).
Читайте также: Кто какие зимние шины покупает
Как в шине данных, так и в шине адреса может использоваться положительная логика или отрицательная логика. При положительной логике высокий уровень напряжения соответствует логической единице на соответствующей линии связи, низкий — логическому нулю. При отрицательной логике — наоборот. В большинстве случаев уровни сигналов на шинах — ТТЛ.
Для снижения общего количества линий связи магистрали часто применяется мультиплексирование шин адреса и данных. То есть одни и те же линии связи используются в разные моменты времени для передачи как адреса, так и данных (в начале цикла — адрес, в конце цикла — данные). Для фиксации этих моментов (стробирования) служат специальные сигналы на шине управления. Понятно, что мультиплексированная шина адреса/данных обеспечивает меньшую скорость обмена, требует более длительного цикла обмена (рис. 2.1). По типу шины адреса и шины данных все магистрали также делятся на мультиплексированные и немультиплексированные.
Рис.2. 1. Мультиплексирование шин адреса и данных.
В некоторых мультиплексированных магистралях после одного кода адреса передается несколько кодов данных (массив данных). Это позволяет существенно повысить быстродействие магистрали. Иногда в магистралях применяется частичное мультиплексирование, то есть часть разрядов данных передается по немультиплексированным линиям, а другая часть — по мультиплексированным с адресом линиям.
Шина управления — это вспомогательная шина, управляющие сигналы на которой определяют тип текущего цикла и фиксируют моменты времени, соответствующие разным частям или стадиям цикла. Кроме того, управляющие сигналы обеспечивают согласование работы процессора (или другого хозяина магистрали, задатчика, master) с работой памяти или устройства ввода/вывода (устройства-исполнителя, slave). Управляющие сигналы также обслуживают запрос и предоставление прерываний, запрос и предоставление прямого доступа.
Сигналы шины управления могут передаваться как в положительной логике (реже), так и в отрицательной логике (чаще). Линии шины управления могут быть как однонаправленными, так и двунаправленными. Типы выходных каскадов могут быть самыми разными: с двумя состояниями (для однонаправленных линий), с тремя состояниями (для двунаправленных линий), с открытым коллектором (для двунаправленных и мультиплексированных линий).
Самые главные управляющие сигналы — это стробы обмена, то есть сигналы, формируемые процессором и определяющие моменты времени, в которые производится пересылка данных по шине данных, обмен данными. Чаще всего в магистрали используются два различных строба обмена:
Строб записи (вывода), который определяет момент времени, когда устройство-исполнитель может принимать данные, выставленные процессором на шину данных;
Строб чтения (ввода), который определяет момент времени, когда устройство-исполнитель должно выдать на шину данных код данных, который будет прочитан процессором.
При этом большое значение имеет то, как процессор заканчивает обмен в пределах цикла, в какой момент он снимает свой строб обмена. Возможны два пути решения (рис. 2.2):
При синхронном обмене процессор заканчивает обмен данными самостоятельно, через раз и навсегда установленный временной интервал выдержки (tвыд), то есть без учета интересов устройства-исполнителя;
При асинхронном обмене процессор заканчивает обмен только тогда, когда устройство-исполнитель подтверждает выполнение операции специальным сигналом (так называемый режим handshake — рукопожатие).
Рис. 2.2. Синхронный обмен и асинхронный обмен.
Достоинства синхронного обмена — более простой протокол обмена, меньшее количество управляющих сигналов. Недостатки — отсутствие гарантии, что исполнитель выполнил требуемую операцию, а также высокие требования к быстродействию исполнителя.
Читайте также: Шины для ниссан патфайндер r18
Достоинства асинхронного обмена — более надежная пересылка данных, возможность работы с самыми разными по быстродействию исполнителями. Недостаток — необходимость формирования сигнала подтверждения всеми исполнителями, то есть дополнительные аппаратурные затраты.
По используемому типу обмена магистрали микропроцессорных систем также делятся на синхронные и асинхронные.
Статьи к прочтению:
Лекция 275. Микропроцессорная система с общей шиной
Похожие статьи:
Основные понятия и определения микропроцессорной техники: микропроцессор, микропроцессорная система, микрокомпьютер, контроллер, микроконтроллер….
Что такое микропроцессор? Ядром любой микропроцессорной системы является микропроцессор или просто процессор (от английского processor). Перевести на…
Видео:Системная шина процессораСкачать
Шины в микропроцессорной системе
В предыдущей главе я рассказывал про цифровую электронику и общее устройство микроконтроллера (МК). А также, что он состоит из процессора, устройств ввода-вывода (УВВ) и устройства памяти. Но я практически ничего не сказал о том, как они общаются между собой. А это весьма важная тема, в которую я и посвящу тебя в этот раз.
Видео:Лекция 4: Типы микропроцессорных системСкачать
Шины и разряды
Как ты уже знаешь, вся информация в цифровой технике стараниями инженеров и математиков представляется в виде двоичных чисел, которые записываются с помощью всего двух цифр: «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-ми разрядов.
Читайте также: Шина для пилы echo 3500
Зачем было нужно вводить ещё одно название: байт? Оно служит для обозначения количества информации. Если количество разрядов говорит просто о длине двоичного числа, то битность говорит о количестве информации, которую это число несет. Считается, что один разряд двоичного числа может передавать 1 бит информации. При этом биты группируются в байты, килобайты, мегабайты, гигабайты, терабайты и т.д.
Кстати, 1 байт = 8 бит, 1 килобайт = 1024 байтам, 1 мегабайт = 1024 килобайтам и т.д. Почему именно 1024? Все это связано с тем, что размер памяти всегда кратен степени двойки: 2 3 = 8, 2 10 =1024. В свою очередь кратность двойке была выбрана благодаря тому, что она упрощает техническую реализацию устройств памяти. Устройство памяти представляет.
Видео:5.Микропроцессорные системы. Виды и классификация микроконтроллеровСкачать
Алгоритм работы микроконтроллера
Давай теперь попробуем посмотреть как взаимодействует процессор с памятью и разберёмся зачем нужна шина управления. Любой процессор помимо выполнения арифметических и логических команд умеет делать ещё несколько важных операций: чтение из ячейки памяти, запись в ячейку памяти, чтение из порта ВВ, запись в порт ВВ:
- чтение из ячейки памяти
- запись в ячейку памяти
- чтение из порта ВВ
- запись в порта ВВ
Для того, чтобы указывать какую из этих операций производить используется шина управления. По этой шине от процессора к памяти или портам ввода-вывода передаются сигналы:
RD (read) | сигнал на чтение |
WR (write) | сигнал на запись |
MREQ (memory request) | запрос обращения к памяти |
IORQ (input/output request) | запрос обращения к портам в/в |
READY | сигнал готовности |
RESET | сигнал сброса |
Когда процессору требуется обратиться к памяти он выставляет на шине управления сигнал MREQ, при этом будет выставлен одновременно с ним сигнал RD/WR. Если процессор будет писать в память, то выставляется сигнал WR, если чтение – RD. Тоже самое происходит, если процессор обращается к портам ввода-вывода.
А вот сигнал READY нужен для того, чтобы сообщить процессору, что чтение/запись завершены. Всё довольно просто. Если тебя одолевают вопросы почему несмотря на то, что и память и порты ввода-вывода, через которые подключены внешние устройства, не конфликтуют, то разгадка будет довольно простой. В каждый момент времени процессор обращается только к одному конкретному устройству: либо памяти, либо через порты к портам ввода-вывода. И шина управления обеспечивает правильное разделение доступа.
Все описанное – упрощенная модель микропроцессорной системы, каковой является и персональный компьютер, и микроконтроллер.
Теперь вырисовывается уточнение к алгоритму работу микроконтроллера, который я описывал в прошлой главе. Когда ты подаёшь питание на МК, то он выставляет сигнал на шине управления MREQ, RD, а на шине адреса адрес, по которому в ячейке памяти программ должна находиться первая команда его программы (чаще всего это нулевой адрес памяти программ). Затем МК её выполнит и в зависимости от этой и последующих команд на шине управления, адреса и данных будут появляться соответствующие сигналы и данные.
Видео:Кан шина, что это? Поймет школьник! принцип работыСкачать
Подведу итоги:
- Процессор, память и порты ввода-вывода общаются между собой с помощью шин.
- Основные шины бывают нескольких видов: шина данных, шина адреса, шина управления
- Разрядность шины адреса и шины данных определяется конструкцией процессора
Теперь ты продвинулся ещё на шаг в понимании того, как работает цифровая техника и в частности микропроцессорные системы. В следующий раз мы продвинемся еще на шаг к нашей цели — пониманию как устроен мир электроники
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
🔥 Видео
Вычислительные системы (лекция): разновидности микропроцессорных системСкачать
Чем отличается МИКРОКОНТРОЛЛЕР и МИКРОПРОЦЕССОРСкачать
Понятие Микропроцессорной системыСкачать
Как работает микропроцессорСкачать
Микропроцессорные системы управление тормозамиСкачать
КАК работает ПРОЦЕССОР? ОБЪЯСНЯЕМСкачать
Как работает LIN шина автомобиля. K-Line L-Line шины данных. Лин шина автомобиля. Lin-bus networkСкачать
Микропроцессорные системыСкачать
Лекция 1: Электронная системаСкачать
Лекция 1Программирование микропроцессорных системСкачать
Цифровые интерфейсы и протоколыСкачать
Лекция 304 Шинный формировательСкачать
Как работает компьютерная память: что такое RAM, ROM, SSD, HDD и в чем разница?Скачать
Лекция 16 Программирование микропроцессорных системСкачать
АПС Л19. ШиныСкачать
Импортные шины против локализованных. В чём разница? Made in Russia - как приговор.Скачать