Последний уровень раздела предыдущего изложения   Текущий уровень изложения предыдущего раздела   Текущий уровень изложения следующего раздела   Первый уровень изложения следующего раздела   Уровень:


Основные определения и понятия микропроцессорной техники

ДВОИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ, ПРЕДСТАВЛЕНИЕ ДВОИЧНЫХ ЦИФР

В микропроцессорной технике используется двоичная система счисления, ее главное достоинство в том, что двоичных цифр всего две 0 и 1, поэтому для их представления достаточно только двух электрических уровней сигнала. При этом необходимо, чтобы электрические схемы цифровых и микропроцессорных устройств различали между собой только два уровня напряжения, что сильно их упрощает. Обычно бывает, что единица - это высокий уровень, а ноль - низкий. Стандартное напряжение питания большинства цифровых устройств - +5 вольт. Значения уровня напряжения выше 2.0 вольт считаются соответствующими 1, меньшие 0.8 вольт - 0. Напряжения между этими двумя уровнями относятся к неопределенным и их интерпретация цифровыми схемами непредсказуема. В том случае, когда говорится, что схема работает в инверсной или обратной логике, или сигнал имеет инверсное значение, это означает, что нулю соответствует высокий логический уровень, а единице низкий

ПРЕДСТАВЛЕНИЕ ДВОИЧНЫХ ЧИСЕЛ, КОЛИЧЕСТВО ЗНАКОВ В ЧИСЛАХ

Младший разряд двоичных (и любых других в европейском стиле написания) чисел пишется справа и называется нулевым. В нем записывается количество единиц (20)в числе (0 или 1), следующий справа - первым, и в нем записывается количество двоек (21), в следующем четверок (22), потом восьмерок (23) и т.д. Иногда поэтому двоичный код называют кодом 1-2-4-8. Максимальное значение двоичного числа (целого положительного) связано с количеством разрядов следующей формулой

m = 2n - 1

здесь m - максимальное значение двоичного числа, n - число разрядов в нем.

Количество одновременно передаваемых (по параллельным проводникам) или обрабатываемых разрядов двоичного важно знать, поскольку это позволяет определить диапазон обрабатываемых за один цикл чисел или точность.

В связи с этим полезно помнить таблицу степеней числа 2 (от 0 до 15)

1 2 4 8 16 32 64 128 512 1024 2048 4096 16384 32768 65536 131072

Один двоичный разряд называют битом, восемь - байтом, четыре тетрадой. Числа других разрядностей еще называют словами, добавляя (если это не очевидно автору) количество разрядов, например 'шестнадцатиразрядное двоичное слово'.

Число 210= 1024 называют двоичной тысячью и обозначают К, например 4096 = 4К, другое часто используемое обозначение 1М = 1К * 1К = 1024*1034 = 1 058 816

ПЕРЕВОД ИЗ ДВОИЧНОЙ СИСТЕМЫ СЧИСЛЕНИЯ В ДЕСЯТИЧНУЮ И ОБРАТНО

Чтобы перевести число из двоичной системы счисления в десятичную надо просуммировать числа, соответствующие двум в тех степенях, в которых в числе стоят единицы, например

110101 2это 1*25+ 1*24+ 0*23+ 1*22+ 0*21+1*20= 32 + 16 + 4 + 1 = 53 10

Обратный перевод из десятичного числа можно выполнить следующим образом

  1. - По количеству таблице степеней числа 2 определяем количество разрядов в двоичном числе. Например, для числа 200 это 8.
  2. - Ставим в старшем разряде получаемого двоичного числа 1. В нашем примере это 1ххх хххх (пробел поставлен для того, чтобы ориентироваться в большом числе разрядов)
  3. - Вычитаем из исходного числа 2 в степени меньшей на единицу, чем количество разрядов. 200 - 27= 200-127 = 73
  4. - Если полученное число больше, чем 2 в очередной (уменьшенной еще на 1) степени, то записываем в очередной разряд 1 и вычитаем это число, иначе просто записываем в очередной разряд результата 0. 73 > 64 значит результат - 11хх хххх и 73-64 = 9
  5. - Повторяем пункт 4, пока не останется последний разряд - 9 меньше 32, значит 110x xxxx, 9 меньше 16 значит 1100 хххх и т. д.
  6. - последний разряд будет 1 или 0, переносим его результат, он будет в нашем примере 1100 1001

И, конечно, полезно просто иметь таблицу для перевода хотя бы первых 16 чисел из одной системы в другую (или хотя бы калькулятор с переводом из одной системы в другую).

ОТРИЦАТЕЛЬНЫЕ ДВОИЧНЫЕ ЧИСЛА, ДВОИЧНО-ДОПОЛНИТЕЛЬНЫЙ КОД

Целые отрицательные двоичные числа обычно представляют в виде дополнительного кода. Он получается путем инверсии прямого кода и добавлением к результату единицы. Например, число -1 будет записано как 1111 1111 (если система оперирует восьмиразрядными двоичными числами), оно получается как инверсия (замена нулей на единицы и наоборот) из 0000 0001 в 1111 1110, при увеличении этого числа на единицу получается результат.

Признаком отрицательного числа в этом представлении служит единица в старшем разряде, который в этом случае называется знаковым.

Следует понимать, что общее количество чисел, которое может быть представлено в определенно количестве разрядов остается неизменным, только они распределяются либо в диапазоне 0 - +255, либо -128 - +127. При этом особенность заключается в том, что при прибавлении единицы к числу +127, в двоичной системе счисления это будет 0111 1111 будет получено число 1000 0000, а оно может быть в зависимости от контекста либо +128, либо -128.

Двоично-дополнительный код обеспечивает 'естественный' переход от положительных чисел к отрицательным через ноль, в самом деле, если прибавить к -1 (см. выше) 1, то получится 0000 0000 (переполнением пренебрегаем).

ЧЕТНОСТЬ ДВОИЧНЫХ ЧИСЕЛ

Четность двоичных чисел определяется несколько иначе, чем десятичных - четным двоичное число считается, если количество нулей или единиц в нем четно. Поэтому можно отдельно определять четность по нуля и единицам. Однако чаще всего в микропроцессорной технике используются числа с четным числом разрядов, поэтому четность чисел по нулям и единицам совпадает.

Четность используется для проверки правильности передачи и хранения информации. Для этого к числу добавляется еще один контрольный разряд, хранящий четность числа (равный единице, если число четное и нулю если нет). Проверяя соответствие четности полученного число и контрольного разряда, можно сделать вывод о правильности полученной информации.

ПОМЕХОУСТОЙЧИВОЕ КОДИРОВАНИЕ ИНФОРМАЦИИ

Любое помехоустойчивое кодирование информации основано на передаче некоторой избыточной информации, проверяя корректность ее соответствия основной можно сделать вывод о наличии ошибки и в некоторых случаях исправить ее. Пример передача вместе с числами контрольных битов, хранящих четность этих чисел.

Проверка четности позволяет определять наличие одиночных ошибок. Двойные ошибки возвращают исходное значение четности и, поэтому не могут быть обнаружены при таком контроле. Для того чтобы определить наличие двойных ошибок и находить разряды, в которых сделаны одиночные ошибки (то есть исправлять их), применяют помехоустойчивое кодирование по Хэммингу. Оно заключается в том, что вычисляется несколько значений четности по выборкам из определенных разрядов числа.

ШЕСТНАДЦАТИРИЧНЫЕ ЧИСЛА, ИХ ПЕРЕВОД В ДВОИЧНЫЕ И НАОБОРОТ

Шестнадцатеричные числа, вообще есть способ компактного и удобного представления двоичных чисел, которые выглядят в виде очень длинных рядов нулей и единиц и в которых очень легко запутаться человеку.

В шестнадцатеричной системе счисления шестнадцать цифр - от 0 до 9 они совпадают с десятичными, после этого идет A - 11, B - 12 и т.д. до 15 - F. В конце шестнадцатеричного числа пишут букву H, если число начинается с цифры, совпадающей с буквой (A-F), то в начале числа пишут ноль.

Шестнадцатеричные числа очень просто переводить в двоичные и наоборот. Двоичное число разбивается на четверки разрядов (тетрады) начиная с младшего, затем, каждая тетрада независимо от других переводится в одну шестнадцатеричную цифру. В этом может помочь следующая таблица

Таблицапереводачиселвразличныхсистемахсчисления

ШЕСТНАДЦАТИРИЧНЫЕ ЧИСЛА, ИХ ПЕРЕВОД В ДЕСЯТИЧНЫЕ И НАОБОРОТ

Прямой перевод шестнадцатеричных чисел в десятичные и наоборот связан с довольно сложными вычислениями. Его проще выполнять с промежуточным переводом в двоичные числа, при этом перевод из двоичной системы в шестнадцатеричную совершенно элементарен.

ДВОИЧНО-ДЕСЯТИЧНОЕ ПРЕДСТАВЛЕНИЕ ЧИСЕЛ, СРАВНЕНИЕ С ДВОИЧНЫМ

При двоично-десятичном представлении чисел каждый разряд (цифра) десятичного числа хранится в четырех независимых разрядах двоичного числа. Хотя внутри этих четырех разрядов действуют обычные правила перевода, но так как десятичных цифр всего 10, то проще его выполнять по таблице. При этом крайне упрощается перевод из десятичной системы счисления в двоично-десятичную, но сложнее становятся правила арифметических действий (разные правила переноса внутри и между тетрадами двоичных разрядов, в которых упакованы десятичные цифры) и числа занимают больше двоичных разрядов. Например, для хранения числа 125 требуется 7 двоичных разрядов при кодировании его в чисто двоичном формате 111 1101 и 9 при упаковке его в двоично-десятичный формат 1 0010 0101. При выполнении действий над двоично-десятичными числами 'вручную', их проще перевести в десятичные. Шестнадцатеричное представление двоично-десятичного числа одинаково с десятичным.

ПРЕДСТАВЛЕНИЕ ЧИСЕЛ В ФОРМАТЕ С ПЛАВАЮЩЕЙ ТОЧКОЙ (ЗАПЯТОЙ)

При представлении чисел в форме с плавающей запятой (точкой по западному стандарту написания десятичных дробей) число представляется в виде двух частей - мантиссы и экспоненты или порядка. Пример записи десятичного числа в формате с плавающей точкой 1.456*1012.

В двоичных числах, естественно, все числа - двоичные и основанием степени тоже служит число 2. Поэтому число в формате с плавающей точкой состоит из 4 частей:

Количество разрядов, отводимых на мантиссу и порядок может быть различно, но в любом случае число в этом формате занимает несколько байт (чаще всего 5).

Формат чисел с плавающей точкой позволяет с большой точностью отображать очень широкий диапазон чисел, но весьма усложняет алгоритм выполнения арифметических операций, поэтому в современных микропроцессорах имеются специализированные блоки для выполнения операций с плавающей точкой.

ПРЕДСТАВЛЕНИЕ СИМВОЛЬНОЙ ИНФОРМАЦИИ, ASCII-КОД

Для представления текстовой информации используется кодирование текста - когда каждому символу - цифре или букве, которые могут встретиться в тексте, соответствует свой двоичный код. Наиболее популярен сейчас ASCII код, в нем закодировано 128 символов (имеющих коды от 0 до 127) в состав этих символов входят большие и маленькие латинские буквы, цифры, специальные символы и управляющие коды. Расширение числа кодируемых символов до 256 позволяет закодировать большие и маленькие буквы национального алфавита (например, русского), символы псевдографики - элементы линий для изображения рамок и таблиц и пр.

ПРОГРАММНО-УПРАВЛЯЕМЫЙ ВВОД-ВЫВОД ИНФОРМАЦИИ

ВВОД-ВЫВОД ИНФОРМАЦИИ ПО ПРЕРЫВАНИЯМ

Прерыванием называется временное прекращение выполнения текущей программы, которое вызвал внешний сигнал. Микропроцессор при этом переходит к выполнению специальной подпрограммы обработки прерывания. Использование прерываний позволяет сократить время реакции ЭВМ на внешнее событие и увеличить гибкость ее работы, особенно это проявляется в случаях, когда требуется обеспечить обмен информации с большим числом асинхронно работающих внешних устройств.

Существуют два способа организации прерываний от нескольких источников:

Часто требуется иметь возможность игнорировать запросы на прерывание - маскировать их, например, когда запрос на прерывание может приходить одновременно от нескольких источников, необходимо устанавливать приоритеты прерываний и обеспечивать маскирование прерываний с низшим приоритетом.

ВВОД-ВЫВОД ИНФОРМАЦИИ С ИСПОЛЬЗОВАНИЕМ ПРЯМОГО ДОСТУПА К ПАМЯТИ

Прямым доступом к памяти (ПДП) называется обмен данными между устройствами ввода-вывода и памятью без участия микропроцессора. Во время ПДП процессор освобождает (отключается от) шины и бездействует. ПДП используется для быстрой пересылки больших объемов информации. Две классические сферы применения ПДП - пересылка данных между микропроцессорным и дисплейным модулями, а также обмен информацией с накопителями на магнитных дисках.

Для реализации ПДП в микропроцессорных системах используют программируемый контроллеры ПДП или специализированные процессоры ввода-вывода. В современных компьютерах функции ПДП встроены в так называемый ChipSet - набор микросхем для работы с процессором. Контроллер ПДП после предварительного программирования позволяет осуществлять двунаправленный обмен массивов данных между памятью устройствами ввода-вывода. При этом после запроса на ПДП, поступающего от устройства ввода-вывода контроллер отключает процессор и начинает формировать адреса ячеек памяти и управляющие сигналы записи и чтения, управляя процессом передачи информации.

В современных МП системах используют интеллектуальные контроллеры ПДП, которые производят передачу информации в моменты, когда микропроцессор не занимает шину данных, как говорят "в прозрачном режиме", это позволяет еще больше увеличить пропускную способность шин.

ПОСЛЕДОВАТЕЛЬНЫЙ СПОСОБ ПЕРЕДАЧИ ИНФОРМАЦИИ

При последовательном способе передачи информации она передается по одному проводу последовательно бит за битом, при параллельном - порциями по несколько (например, по 8) бит по параллельным проводам (в данном случае по 8). Параллельный способ передачи быстрее, но требует больше проводов, поэтому для Связи на большие расстояния (например, в компьютерных сетях) используется последовательный способ. Параллельный же способ применяют в тех случаях, когда необходимо получить наивысшую пропускную способность канала передачи информации (например, все внутрисистемные интерфейсы микропроцессорных систем являются параллельными).

В последовательном канале синхронный режим работы соответствует передаче всего массива информации без специальных сигналов синхронизации и пауз между словами, асинхронный - с синхронизацией после передачи каждого слова, при этом возможна пауза любой длительности между моментами передачи

Пример стандартного последовательного интерфейса - RS-232 (COM в IBM PC совместимых компьютерах)

ПАРАЛЛЕЛЬНЫЙ СПОСОБ ПЕРЕДАЧИ ИНФОРМАЦИИ

При последовательном способе передачи информации она передается по одному проводу последовательно бит за битом, при параллельном - порциями по несколько (например, по 8) бит по параллельным проводам (в данном случае по 8). Параллельный способ передачи быстрее, но требует больше проводов, поэтому для Связи на большие расстояния (например, в компьютерных сетях) используется последовательный способ. Параллельный же способ применяют в тех случаях, когда необходимо получить наивысшую пропускную способность канала передачи информации (например, все внутрисистемные интерфейсы микропроцессорных систем являются параллельными).

В параллельном интерфейсе асинхронный режим - это режим с формированием и приемом управляющих сигналов - сигналов готовности приемника и передатчика - очередное слово не передается, пока не будет сформированы соответствующие сигналы готовности.

Пример стандартного последовательного интерфейса - Centronics - интерфейс принтера (LPT в IBM PC)

ПОНЯТИЕ ИНТЕРФЕЙСА

Объединение модулей микропроцессорного устройства в единую систему производится посредством единой системы сопряжения, называемой интерфейсом- (от английского interface - сопрягать, согласовывать).

Интерфейс должен обеспечивать

Под стандартным интерфейсом понимается совокупность аппаратных, программных и конструктивных средств, необходимых для реализации взаимодействия различных функциональных компонентов в системах и направленные на обеспечение информационной, электрической и конструктивной совместимости компонентов.

Основными элементами интерфейса являются

ДОСТОИНСТВА ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ В ИЗМЕРИТЕЛЬНЫХ ПРИБОРАХ

Одним из основных направлений развития приборостроения является все более широкое использование цифровых методов представления, хранения, передачи и обработки информации. Данные методы позволяют не только повысить метрологические показатели по сравнению с аналоговыми приборами, но и максимально автоматизировать процесс измерения и обработки.

Чтобы выполнить цифровую обработку необходимо предварительно преобразовать аналоговый сигнал на входе в цифровой код с помощью аналого-цифрового преобразователя (АЦП). Затем происходит собственно цифровая обработка сигнала и, наконец, обратное преобразование на выходе цифрового сигнала в аналоговый вид выполняется с помощью цифроаналогового преобразователя (ЦАП).

Цифровая обработка сигналов (ЦОС), в том числе и измерительной информации, имеет ряд преимуществ по сравнению с другими способами:

Недостатки метода цифровой обработки сигнала связаны с некоторыми потерями информации при дискретизации сигнала и его квантовании, а также с ограничениями на сложность алгоритмов обработки, если необходимо выполнять обработку сигналов в реальном масштабе времени.

МЕТОДЫ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ В ИЗМЕРИТЕЛЬНЫХ ПРИБОРАХ

Цифровая обработка сигналов позволяет выполнять в принципе любое формально описываемое преобразование сигнала по сколь угодно сложному алгоритму со сколь угодно большой степенью точности. Например, с помощью ЦОС в измерительных приборах можно решать следующие задачи:

Чтобы выполнить цифровую обработку необходимо предварительно преобразовать аналоговый сигнал на входе в цифровой код с помощью аналого-цифрового преобразователя (АЦП). Обратное преобразование на выходе цифрового сигнала в аналоговый вид выполняется с помощью цифроаналогового преобразователя (ЦАП).

Алгоритмы цифровой обработки сигналов могут реализовываться как в устройствах на жесткой логике, в том числе и на программируемых логических интегральных схемах (ПЛИС), так и в устройствах с программной логикой - универсальных либо специализированных микропроцессорах и микроконтроллерах, а также в универсальных компьютерах.

ОСОБЕННОСТИ ПРОЦЕССОРОВ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ

Особенности архитектуры цифровых процессоров обработки сигналов (ЦПОС) (а англоязычной литературе используется термин Digital Signal Processors и аббревиатура DSP) связаны с особенностью программ, по которым им приходится работать:

Из этого проистекают такие особенности архитектуры:

ОСОБЕННОСТИ УНИВЕРСАЛЬНЫХ ЭВМ, ИСПОЛЬЗУЕМЫХ ДЛЯ ЦЕЛЕЙ ИЗМЕРЕНИЯ И УПРАВЛЕНИЯ

Отличия промышленных PC от стандартных:

Сходство:

Архитектура "Общая шина".

Все блоки, входящие в микро-ЭВМ соединены при помощи трех шин - шины адреса, шины данных и шины управления. Подобная архитектура микропроцессорной системы называется "общая шина". Общей шиной называется совокупность линий (соединительных проводов) которая является общей для всех подключенных к ней устройств и служит для передачи информации. По шине данных передается информация в микропроцессор и из него. На шину адреса микропроцессор выводит информацию о номере (адресе) той ячейки памяти или устройства, с которым он собирается производить обмен информации.

В состав шины управления входят сигналы, управляющие процессом передачи информации, например "ЗАПИСЬ" - "WRITE" - WR, "ЧТЕНИЕ" - "READ" - RD (запись или чтение определяется "от лица" процессора), "ОБМЕН С ПАМЯТЬЮ" - "MEMORY REQUIRE" - MREQ, "ОБМЕН С УСТРОЙСТВОМ ВВОДА-ВЫВОДА" - "I/O REQUIRE" - IOREQ, или их комбинации.

|-------|   |-------|  |-------|  |-------|  |-------|
|центр. |   |  ОЗУ  |  | ПЗУ   |  |устр.  |  |устр.  |
|проц.  |   |       |  |       |  |ввода  |  |вывода |
|-------|   |-------|  |-------|  |-------|  |-------|
| | |       | | |      | | |      | | |      | | |
| | |       | | |      | | |      | | |      | | |
----|-|---------|-|--------|-|--------|-|--------|-|----шина адреса
------|-----------|----------|----------|----------|----шина данных
--------------------------------------------------------шина управления

В микропроцессорной системе на основе МП КР580ВМ80А шина адреса состоит из 16 линий (имеет разрядность 16), а шина данных из 8 линий (8-ми разрядная).

Как происходит процесс передачи информации между процессором и периферийными устройствами

Вначале процессор устанавливает на шине адреса адрес того периферийного устройства или ячейки памяти, с которой происходит информационный обмен.

Устройство, называемое дешифратор в этот период выбирает требуемое устройство ввода вывода или микросхему памяти, формируя сигнал "ВЫБОР МИКРОСХЕМЫ" - "CHIP SELECT" (CS).

На следующем такте процессор формирует сигналы соответствующие требуемому типу информационного обмена на шине управления (WR, RD, IOREQ, MREQ).

После этого и происходит собственно передача информации по шине данных - если запись - то процессор устанавливает сигналы, а периферийное устройство принимает, если чтение, то наоборот.

(В некоторых системах процессор при проведении операции записи-вывода вначале выставляет на шину данных информацию, а потом формирует управляющие сигналы) Таким образом, операции передачи адреса и данных оказываются разнесенными по времени, что позволяет в некоторых системах использовать для их передачи одну и ту же группу соединительных линий - мультиплексированная шина адреса-данных.

Назначение основных блоков, входящих в микроЭВМ.

Центральный процессор (ЦПУ-CPU) служит для обработки информации - ее перемещения, осуществления арифметических и логических операций по командам, которые он считывает из памяти. Последовательность команд называется программой. В микроЭВМ центральный процессор обычно состоит из одной или нескольких микросхем, в этом случае он называется микропроцессором.

Постоянное и оперативное запоминающие устройства (ПЗУ-ROM и ОЗУ-RAM) служат для постоянного и временного хранения программ и данных.

Устройства ввода и вывода служат для обмена информацией между микропроцессорной системой и внешними объектами; в качестве устройств ввода-вывода могут выступать клавиатура, дисплей, принтер, внешняя память на магнитных дисках, аналого-цифровые и цифроаналоговые преобразователи и пр.

Определение микропроцессора. Принцип действия и внутреннее устройство микропроцессоров, назначение их составных частей.

Микропроцессор служит для обработки информации - осуществление арифметических и логических операций. Его работа состоит в считывания из памяти кодов команд, их расшифровки и выполнения.

Микропроцессор включает в себя:

Понятие адреса ячейки памяти или устройства ввода-вывода в микропроцессорной системе. Способы адресации, используемые микропроцессором.

Адреса ячеек памяти или устройств ввода-вывода - это их уникальные номера, по которым они различаются, и по которым к ним обращается микропроцессор. Это означает, что при пересылке информации между микропроцессором и ячейкой памяти (устройством ввода-вывода) на шине адреса должен присутствовать двоичный код, соответствующий ее адресу, этот адрес она "узнает" и включается в процесс пересылки информации.

В командах микропроцессора информация об адресе ячейки, где хранятся требуемые данные, может быть представлена различными способами (способами адресации).

Простейшие способы адресации следующие:

Кроме этих основных современные микропроцессоры имеют много других способов адресации, например относительную, индексную, автоинкрементную и др.

Определение стека, организация стека, использование стека микропроцессором.

Стеком называется последовательность ячеек памяти, организованная таким образом, что последнее записанное число считывается первым (стек магазинного типа или типа "последним вошел - первым вышел"). Никакие другие операции, например считывание информации из середины стека не допускаются.

Обычно при записи в стек нового числа, оно занимает ячейки памяти с адресами лежащими непосредственно перед концом стека. Таким образом, стек в памяти растет "сверху вниз". Адрес последней занятой стеком ячейки памяти хранится в специальном регистре микропроцессора - указателе стека (SP).

Стек используется микропроцессором двояким образом:

  1. для временного хранения информации, то есть программист может записывать в него данные и извлекать их (команды PUSH rp и POP rp ассемблера МП КР580ВМ80);
  2. для организации подпрограмм, при переходе к подпрограмме (по команде CALL adr) в стек автоматически, без участия программиста, записывается адрес команды, следующей за командой вызова подпрограммы. После окончания подпрограммы (команды RET) микропроцессор также самостоятельно извлекает из стека последнее записанное в него число, считает, что это адрес возврата в основную программу и передает управление основной программе начиная с этого адреса.

Поскольку в большинстве микропроцессоров (например, в КР580ВМ80) для обеих целей используется один и тот же стек, обращаться с ним нужно с осторожностью.

Организация условных и безусловных переходов в программах на машинном языке.

В системе команд практически всех микропроцессоров предусмотрено три типа переходов с одного места программы на другое (нарушение последовательного выполнения команд):

  1. переход (команда JMP adr микропроцессора КР580ВМ80) переход к выполнению команды, код которой находится в ячейке памяти с адресом adr.
  2. переход к подпрограмме (команда CALL adr микропроцессора КР580ВМ80).
  3. возврат из подпрограммы (команда RET микропроцессора КР580ВМ80).

Переход к подпрограмме и возврат из нее организуется с участием стека (см.) Все эти переходы могут быть как безусловными - они выполняется всегда, так и условными - они выполняются только в том случае, когда результат предыдущих арифметической или логической операции отвечает определенным условиям. Сведения о выполнении (или невыполнении) этих условий находятся в регистре флагов (F) или признаков, содержимое которого анализируется микропроцессором при выполнении данных команд. Такими условиями могут быть (для МП КР580ВМ80) нулевой или ненулевой результат (Z или NZ), наличие или отсутствие переноса (C или NC), положительный или отрицательный результат (P или M) и др.

Если условный переход не происходит (условие не выполнено), то управление передается команде, следующей за командой перехода.

В системе команд некоторых микропроцессоров есть команда программного прерывания, она выполняется аналогично команде перехода к подпрограмме, но адрес вызываемой подпрограммы не присутствует непосредственно в команде, а находится в ячейках памяти с адресом определяемым номером прерывания.

Общая характеристика, достоинства, недостатки и область применения языка "Ассемблер". Структура текста программы на языке Ассемблера.

Язык Ассемблера является языком программирования низкого уровня, ориентированного на устройство и систему команд определенного процессора. Собственно говоря, операторы (команды) Ассемблера представляют собой простую замену кодов команд процессора на более наглядные и легко запоминающиеся мнемонические обозначения. Главными особенностями языка Ассемблера являются:

Язык Ассемблера позволяет наиболее полно и гибко реализовывать технические возможности ЭВМ. С использованием этого языка можно написать программу, которая будет выполняться наиболее быстро или (и) занимать наименьший объем памяти. В то же время, на Ассемблере трудно написать длинную программу

Поэтому на языке Ассемблера обычно пишут короткие, но наиболее ответственные фрагменты программ, чаще всего, подпрограммы управления внешними устройствами, а также программы для управляющих микропроцессорных систем, имеющих небольшой объем памяти.

Программа на Ассемблере имеет жесткую структуру, она состоит из колонок, называемых полями:

ПОЛЕ   ПОЛЕ     ПОЛЕ   ПОЛЕ      ПОЛЕ      ПОЛЕ
АДРЕСА КОДОВ    МЕТКИ  ОПЕРАТОРА ОПЕРАНДОВ КОММЕНТАРИЕВ
0B00  21 34 12 START: LXI       H, 1234H  ;пример строки ассемблерной прогр.

Типы микросхем постоянных запоминающих устройств (ПЗУ).

Микросхемы постоянных запоминающих устройств (ПЗУ) способны сохранять информацию при отключенном электропитании, но могут быть запрограммированы только один или очень ограниченное число раз.

Существуют следующие основные типы ПЗУ:

Наиболее популярны сейчас УФППЗУ, их типичные параметры: объем 8-64Кбайт, количество циклов перезаписи - 200, время сохранения информации - 5 лет.

Типы микросхемы оперативных запоминающих устройств (ОЗУ).

В микросхемы оперативных запоминающих устройств (ОЗУ) информация может быть записана неограниченное число раз, однако она исчезает с отключением питания.

Существует два типа микросхем ОЗУ:

Ячейка динамического ОЗУ проще, поэтому ОЗУ этого типа дешевле и имеют большую емкость при том же количестве компонентов, однако они требуют периодической подзарядки всех запоминающих конденсаторов. Этот процесс называется регенерацией.

Типичное значение периода регенерации - миллисекунды; регенерация осуществляется при каждой операции чтения или записи. Также в динамических ОЗУ используется мультиплексированная адресная шина - адрес передается за два цикла, сначала одна половина разрядов (строки), потом другая (столбцы), для регенерации достаточно перебрать все номера строк.

Емкость современных динамических ОЗУ - 256 - 1024 Кбит. Основными направлениями совершенствования ОЗУ является разработка: