Системная шина процессора предназначена для обмена информацией микропроцессора с любыми внутренними устройствами микропроцессорной системы (контроллера или компьютера). В качестве обязательных устройств, которые входят в состав любой микропроцессорной системы, можно назвать ОЗУ, ПЗУ, таймер и порты ввода-вывода. Структурная схема простейшего микропроцессорного устройства приведена на рисунке 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, где для расширения области регистров специальных функций используется оконная адресация.
Понравился материал? Поделись с друзьями!
Вместе со статьей «Системная шина микропроцессора» читают:
Видео:03. Основы устройства компьютера. Память и шина. [Универсальный программист]Скачать
Принцип работы микропроцессора
Что такое микропроцессоры, сегодня знает каждый.
Это одно из самых интересных технологических новшеств в электронике после появления транзистора в 1948 году.
Чудо-устройства не только начали революцию в области цифровой электроники, но и проникли почти во все сферы жизни человека. Они применяются в сложнейших управляющих контроллерах, оборудовании диспетчерского управления, в простых игровых автоматах и даже игрушках.
Видео:CAN шина👏 Как это работаетСкачать
Что такое микропроцессоры?
Компьютер, большой и не очень, функционально (в упрощенной форме) может быть представлен в виде блок-схемы, состоящей из трех основных частей:
- Центрального процессорного устройства (ЦПУ), которое выполняет необходимые логические и арифметические операции, используя регистры (память микропроцессора), и контролирует синхронизацию и общую работу всей системы.
- Устройств ввода-вывода, которые служат для подачи данных в ЦПУ (к ним относятся коммутаторы, аналого-цифровые преобразователи, устройства чтения карт памяти, клавиатура, накопители на жестких дисках и т. д.) и вывода результатов вычислений (светодиоды, дисплеи, цифроаналоговые преобразователи, принтеры, плоттеры, линии связи и т. д.). Так подсистема ввода-вывода позволяет компьютеру общаться с внешним миром. Такие устройства также называются периферийными.
- Памяти, в которой хранятся команды (программа) и данные. Обычно состоит из ОЗУ (памяти с произвольным доступом) и ПЗУ (постоянной, предназначенной только для чтения).
Микропроцессор является интегральной схемой, предназначенной для работы в качестве ЦПУ микрокомпьютера.
Видео:Как работает LIN шина автомобиля. K-Line L-Line шины данных. Лин шина автомобиля. Lin-bus networkСкачать
Принцип действия
Назначение микропроцессора заключается в считывании каждой команды из памяти, ее декодировании и выполнении.
ЦПУ обрабатывает данные согласно инструкциям программы в форме логических и арифметических операций. Информация извлекается из памяти или поступает из устройства ввода, и результат обработки сохраняется в памяти или доставляется на соответствующее устройство вывода так, как это указано в командах. Вот что такое микропроцессоры. Для выполнения всех указанных функций у них имеются различные функциональные блоки.
Такая внутренняя или организационная структура ЦПУ, определяющая его работу, называется его архитектурой.
Типичная схема устройства микропроцессора представлена ниже.
Микрокомпьютер оперирует двоичным кодом. Бинарная информация представлена двоичными цифрами, называемыми битами. Группа битов образует машинное слово (их количество зависит от конкретной реализации). Обычные размеры слова равны 4, 8, 12, 16, 32 и 64 бит. Байт и полубайт представляют собой набор из 8 и 4 бит соответственно.
Шины соединяют различные блоки устройства и позволяют им обмениваться машинными словами. Они выполнены в виде отдельного провода для каждого бита, что позволяет обмениваться всеми разрядами машинного слова одновременно. Обработка информации в ЦПУ также происходит параллельно. Таким образом, шины могут рассматриваться как магистрали передачи данных. Их ширина определяется количеством составляющих их сигнальных линий. По адресной шине ЦПУ передает адрес устройства ввода-вывода или ячейки памяти, к которой он хочет получить доступ. Этот адрес принимается всеми устройствами, подключенными к процессору. Но реагирует на него только то, которому был адресован запрос. Шина данных служит для отправки и приема информации из устройств ввода-вывода и памяти, в т. ч. команд. Очевидно, что она является двунаправленной, а адресная – однонаправленной. Шина управления используется для передачи и приема сигналов управления между микропроцессором и различными элементами системы.
Читайте также: Вывод в ремонт системы шин 110 кв
Видео:КАК работает ПРОЦЕССОР? ОБЪЯСНЯЕМСкачать
Арифметико-логическое устройство и внутренние регистры
Представляет собой комбинационную сеть, которая выполняет логические и арифметические операции над данными.
В состав микропроцессора обычно входит и ряд регистров. Они используются для временного хранения команд, данных и адресов во время выполнения программы. Например, у микропроцессора Intel 8085 имеется 8-битный аккумулятор (Acc), 6 8-битных регистров общего назначения (B, C, D, E, H и L), 8-разрядный регистр команд (IR), в котором хранится следующая исполняемая инструкция, 16-битный программный счетчик с адресом следующей команды, которую необходимо выбрать из памяти в IR, 16-битный указатель стека, регистр флагов, который сигнализирует о выполнении определенных условий, возникающих во время выполнения логических и арифметических операций, и некоторые другие специальные регистры для внутренних процессов, доступа к которым у программиста нет.
Видео:Шина компьютера, оперативная память, процессор и мостыСкачать
Декодер, блок управления и память
Расшифровывает каждую команду и управляет внешними и внутренними блоками, обеспечивая правильную логическую работу системы.
Для сохранения команд, данных и результатов вычислений требуется наличие полупроводниковых запоминающих устройств. Программа записывается в память, подключенную к микропроцессору через адресную шину и шины данных и управления (подобно устройствам ввода-вывода).
Видео:СПРОСИ ЭКСПЕРТА: Выпуск 1. Чем отличается шина данных от ETL?Скачать
Интерфейс
Если к ЦПУ необходимо подключить одно или несколько устройств ввода-вывода, то возникает необходимость в соответствующем интерфейсе. Он выполняет следующие 4 функции:
- буферизацию, необходимую для обеспечения совместимости микропроцессора и периферии;
- декодирование адреса для выбора одного из нескольких подключенных к системе ввода-вывода устройств;
- декодирование команд, требуемое для выполнения функций, отличных от передачи данных;
- синхронизацию и управление всеми вышеперечисленными функциями.
Видео:Кан шина, что это? Поймет школьник! принцип работыСкачать
Передача информации
Обмен данными, который происходит между периферийным устройством и микрокомпьютером, относятся либо к их программной передаче, либо к прямому доступу к памяти.
В первом случае загруженная программа запрашивает систему ввода-вывода на передачу данных микропроцессору или из него. Как правило, информация поступает в аккумулятор, хотя другие внутренние регистры могут также участвовать. Программная передача обычно используется при пересылке небольшого объема данных относительно медленными устройствами ввода-вывода, например, периферийным умножителем, периферийным АЛУ и т. д. В таких случаях трансфер обычно производится пословно.
Прямой доступ к памяти или захват циклов контролируется периферийным устройством. При этом системой ввода-вывода принудительно задерживает работа микропроцессора, пока пересылка не будет завершена. Поскольку процесс контролируется аппаратно, интерфейс сложнее, чем требуется для программной передачи данных. Используется при необходимости переслать большой блок информации, например, из таких периферийных хранилищ, как гибкие диски и высокоскоростной картридер.
Видео:Как работает процессор: частоты, шины и т.д.Скачать
Интерфейсные устройства
Для разработки пользовательских интерфейсов доступно обширное аппаратное обеспечение. К нему относятся мультиплексоры и демультиплексоры, линейные драйверы и приемники, буферы, стабильные и моностабильные мультивибраторы, триггер-защелки, вентильные схемы, сдвиговые регистры и т. д. Есть и более сложные программируемые интерфейсы, функции которых можно изменить командой микропроцессора. Эти интерфейсы могут быть общего или специального назначения.
Видео:Подробно про CAN шинуСкачать
Языки программирования
Поскольку компьютер может хранить и обрабатывать информацию в двоичной форме, команды для подачи на машину должны быть представлены в двоичном формате. В таком виде программа является машинным языком.
На языке ассемблера команды, включая места хранения, представлены буквенно-цифровыми символами, называемыми мнемоническими. По сравнению с машинным языком их использование значительно облегчает написание программ. Однако если программа написана на таком мнемоническом языке, она должна быть переведена в инструкции, понятные машине, чтобы их можно было хранить и выполнять в микрокомпьютере. В основном одна команда ассемблера транслируется в одну команду машинного языка.
Писать программы на ассемблере очень утомительно и требует много времени. Поэтому широкое распространение получили языки высокого уровня, такие как Fortran, Cobol, Algol, Pascal, которые можно затем перевести на язык машины. В этом случае одному оператору обычно соответствует несколько инструкций машинного языка.
Видео:лекция 403 CAN шина- введениеСкачать
Набор команд микрокомпьютера
Основные характеристики микропроцессора также определяются набором инструкций.
Обычно он состоит из 5 групп:
- Группа передачи данных. Данные команды помогают перемещать информацию между регистрами внутри микропроцессора, между памятью и регистром или ячейками памяти.
- Арифметическая группа позволяет складывать, вычитать, увеличивать или уменьшать данные в памяти или регистрах (например, сложить содержимое двух регистров ЦПУ).
- Логическая группа используется для операций И, ИЛИ, ИСКЛЮЧАЮЩЕГО ИЛИ, сравнения, циклического сдвига, дополнения данных в памяти или регистрах (например, чтобы пропустить через схему ИЛИ содержимое двух регистров микропроцессора).
- Группа ветвления включает безусловные и условные переходы, вызов подпрограмм и возвращение из них. Условные инструкции служат для того, чтобы определенная операция выполнялась только в случае выполнения определенного условия (например, если требуется перейти к конкретной команде, когда результат последнего вычисления был равен нулю). Они обеспечивают возможность программе самой принимать решения.
- Группа стека, ввода-вывода и управления микропроцессором производит передачу данных между ЦПУ и периферией, манипулирует стеком и изменяет внутренние флаги управления. Эти команды позволяют программисту остановить устройство, перевести его в нерабочее состояние, включить и отключить систему прерываний и т. д.
Инструкции, которые хранятся вместе с данными в памяти, могут иметь длину в 1 или несколько байт. Длинные команды хранятся в последовательных ячейках памяти, причем адрес первого байта всегда используется как адрес всей команды. Кроме того, первый байт всегда является кодом операции.
Видео:лекция 417 Чтение и запись данных на общую шинуСкачать
Память микропроцессора
Знакомство с подробностями, касающимися компьютерной памяти и ее иерархии помогут лучше понять содержание этого раздела.
Выше мы писали о шинах (адресной и данных), а также о каналах чтения (RD) и записи (WR). Эти шины и каналы соединены с памятью: оперативной (ОЗУ, RAM) и постоянным запоминающим устройством (ПЗУ, ROM). В нашем примере рассматривается микропроцессор, ширина каждой из шин которого составляет 8 бит. Это значит, что он способен выполнять адресацию 256 байт (два в восьмой степени). В один момент времени он может считывать из памяти или записывать в нее 8 бит данных. Предположим, что этот простой микропроцессор располагает 128 байтами ПЗУ (начиная с адреса 0) или 128 байтами оперативной памяти (начиная с адреса 128).
Читайте также: Рейтинг китайских зимних шин для внедорожников
Модуль постоянной памяти содержит определенный предварительно установленный постоянный набор байт. Адресная шина запрашивает у ПЗУ определенный байт, который следует передать шине данных. Когда канал чтения (RD) меняет свое состояние, модуль ПЗУ предоставляет запрошенный байт шине данных. То есть в данном случае возможно только чтение данных.
Из оперативной памяти процессор может не только считывать информацию, он способен также записывать в нее данные. В зависимости от того, чтение или запись осуществляется, сигнал поступает либо через канал чтения (RD), либо через канал записи (WR). К сожалению, оперативная память энергозависима. При отключении питания она теряет все размещенные в ней данные. По этой причине компьютеру необходимо энергонезависимое постоянное запоминающее устройство.
Более того, теоретически компьютер может обойтись и вовсе без оперативной памяти. Многие микроконтроллеры позволяют размещать необходимые байты данных непосредственно в чип процессора. Но без ПЗУ обойтись невозможно. В персональных компьютерах ПЗУ называется базовой системой ввода и вывода (БСВВ, BIOS, Basic Input/Output System). Свою работу при запуске микропроцессор начинает с выполнения команд, найденных им в BIOS.
Команды BIOS выполняют тестирование аппаратного обеспечения компьютера, а затем они обращаются к жесткому диску и выбирают загрузочный сектор. Этот загрузочный сектор является отдельной небольшой программой, которую BIOS сначала считывает с диска, а затем размещает в оперативной памяти. После этого микропроцессор начинает выполнять команды расположенного в ОЗУ загрузочного сектора. Программа загрузочного сектора сообщает микропроцессору о том, какие данные (предназначенные для последующего выполнения процессором) следует дополнительно переместить с жесткого диска в оперативную память. Именно так происходит процесс загрузки процессором операционной системы.
Видео:Работа шины данных в ЭВМСкачать
Инструкции микропроцессора
Даже простейший микропроцессор способен обрабатывать достаточно большой набор инструкций. Набор инструкций является своего рода шаблоном. Каждая из этих загружаемых в регистр команд инструкций имеет свое значение. Людям непросто запомнить последовательность битов, поэтому каждая инструкция описывается в виде короткого слова, каждое из которых отражает определенную команду. Эти слова составляют язык ассемблера процессора. Ассемблер переводит эти слова на понятный процессору язык двоичных кодов.
Приведем список слов-команд языка ассемблера для условного простого процессора, который мы рассматриваем в качестве примера к нашему повествованию:
- LOADA mem — Загрузить (load) регистр A из некоторого адреса памяти
- LOADB mem — Загрузить (load) регистр B из некоторого адреса памяти
- CONB con — Загрузить постоянное значение (constant value) в регистр B
- SAVEB mem — Сохранить (save) значение регистра B в памяти по определенному адресу
- SAVEC mem — Сохранить (save) значение регистра C в памяти по определенному адресу
- ADD — Сложить (add) значения регистров A и B. Результат действия сохранить в регистре C
- SUB — Вычесть (subtract) значение регистра B из значения регистра A. Результат действия сохранить в регистре C
- MUL — Перемножить (multiply) значения регистров A и B. Результат действия сохранить в регистре C
- DIV — Разделить (divide) значение регистра A на значение регистра B. Результат действия сохранить в регистре C
- COM — Сравнить (compare) значения регистров A и B. Результат передать в тестовый регистр
- JUMP addr — Перепрыгнуть (jump) к указанному адресу
- JEQ addr — Если выполняется условие равенства значений двух регистров, перепрыгнуть (jump) к указанному адресу
- JNEQ addr — Если условие равенства значений двух регистров не выполняется, перепрыгнуть (jump) к указанному адресу
- JG addr — Если значение больше, перепрыгнуть (jump) к указанному адресу
- JGE addr — Если значение больше или равно, перепрыгнуть (jump) к указанному адресу
- JL addr — Если значение меньше, перепрыгнуть (jump) к указанному адресу
- JLE addr — Если значение меньше или равно, перепрыгнуть (jump) к указанному адресу
- STOP — Остановить (stop) выполнение
Английские слова, обозначающие выполняемые действия, в скобках приведены неспроста. Так мы можем видеть, что язык ассемблера (как и многие другие языки программирования) основан на английском языке, то есть на привычном средстве общения тех людей, которые создавали цифровые технологии.
Видео:Передача данных - шина SPIСкачать
Работа микропроцессора на примере вычисления факториала
Рассмотрим работу микропроцессора на конкретном примере выполнения им простой программы, которая вычисляет факториал от числа «5». Сначала решим эту задачку «в тетради»:
факториал от 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120
На языке программирования C этот фрагмент кода, выполняющего данное вычисление, будет выглядеть следующим образом:
a=1;f=1;while (a 5 the jump to 175 CONB 56 COM7 JG 178 LOADA 129 // f=f*a;9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a=a+1;13 CONB 114 ADD15 SAVEC 12816 JUMP 4 // loop back to if17 STOP
Теперь возникает следующий вопрос: а как же все эти команды выглядят в постоянной памяти? Каждая из этих инструкций должна быть представлена в виде двоичного числа. Чтобы упростить понимание материала, предположим, что каждая из команд языка ассемблера рассматриваемого нами процессора имеет уникальный номер:
- LOADA — 1
- LOADB — 2
- CONB — 3
- SAVEB — 4
- SAVEC mem — 5
- ADD — 6
- SUB — 7
- MUL — 8
- DIV — 9
- COM — 10
- JUMP addr — 11
- JEQ addr — 12
- JNEQ addr — 13
- JG addr — 14
- JGE addr — 15
- JL addr — 16
- JLE addr — 17
- STOP — 18
Будем считать эти порядковые номера кодами машинных команд (opcodes). Их еще называют кодами операций. При таком допущении, наша небольшая программа в постоянной памяти будет представлена в таком виде:
// Предположим, что a по адресу 128// Предположим, что F по адресу 129Addr машинная команда/значение0 3 // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 1297 1298 1 // LOADA 1289 12810 3 // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 8 // MUL20 5 // SAVEC 12921 12922 1 // LOADA 12823 12824 3 // CONB 125 126 6 // ADD27 5 // SAVEC 12828 12829 11 // JUMP 430 831 18 // STOP
Как вы заметили, семь строчек кода на языке C были преобразованы в 18 строчек на языке ассемблера. Они заняли в ПЗУ 32 байта.
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
🔍 Видео
Чем отличается МИКРОКОНТРОЛЛЕР и МИКРОПРОЦЕССОРСкачать
Лекция 308. Шина I2CСкачать
Шины данных и интеграции | ESB шина данных | Интеграция 1С ERPСкачать
DevCon.3 11. Пример интеграции информационных систем через 1С:ШинуСкачать