Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Микропроцессоры в телевидении

..pdf
Скачиваний:
5
Добавлен:
12.11.2023
Размер:
8.04 Mб
Скачать

для остальных узлов. Блок рабочей памяти называют оператив­ ным запоминающим устройством (ОЗУ). Помимо ОЗУ часть ад­ ресного пространства занимает постоянное ЗУ (ПЗУ), предназ­ наченное для хранения наиболее важных системных программ и данных. Информация в ПЗУ сохраняется и после выключения ЭВМ, благодаря чему не требуется загружать ее от внешних но­ сителей. Оперативная память состоит из нескольких микросхем. Часто на отдельной плате размещается и дополнительная опера­ тивная память. На базовой плате устанавливают лишь некото­ рый необходимый объем: 64, 128 или 256 Кбайт, а остальная па­ мять выносится на дополнительную плату, так что пользователь может по своему усмотрению регулировать ее объем [17]. Каж­ дая микросхема памяти может содержать 64 Кбита ли 8 Кбайт информации.

Для постоянного хранения информации используют накопи­ тели на магнитных дисках гибких (НГМД) или жестких (НЖМД) К В качестве носителей информации для НГМД при­ меняют небольшие гибкие диски с нанесенным магнитным покры­ тием, которые заключены в специальный конверт. Существует несколько типов НГМД, различающихся физическими размера­ ми, плотностью, объемами хранимой информации и скоростью чтения/записи. В табл. 1.4 представлены обобщенные параметры основных типов магнитных накопителей. В настоящее время все большее распространение получают диски с диаметром 89 мм (3,5 дюйма) — микродиски, которые имеют жесткую конструк­ цию, что позволяет точнее подводить магнитные головки к по­ верхности диска.

Накопители на жестких несъемных дисках обладают высоки­ ми показателями благодаря тому, что основной носитель — ме­ таллический диск — вращается в замкнутой атмосфере и маг­ нитные головки расположены очень близко к его поверхности. Это позволяет увеличивать скорость вращения и обеспечивает очень высокую плотность записи информации. Эти устройства называют иногда дисками типа «Винчестер». Размеры накопи­ телей очень небольшие.

Накопители на жестких магнитных дисках обычно надежнее НГМД, но стоимость их в 5—10 раз выше стоимости НГМД. На-

Табмща 1.4

Накопитель

Диаметр диска, мм

Объем хранимой ин­

Средняя скорость

формации, Мбайт

чтения/записм,

 

 

 

Кбит/с

НГМД

203

0,5... 1,6

800

НГМД

133

0,2 ... 1

250

НГМД

89

0,5 ... 1

250

НЖМД

133

5... 20

5000

1 В литературе

применяется обозначение жестких магнитных дисков НМД.

II

чинают использовать сменные НЖМД диаметром 90 мм. Эти уст­ ройства по внешним показателям похожи на обычные НЖМД типа «Винчестер», но их диски, заключенные в .специальные кас­ сеты, можно вынимать из накопителей. Создаются также лазер­ ные видеодиски. Эти устройства при небольших размерах (диа­ метр 50... 300 мм) позволяют хранить огромные объемы инфор­ мации 60... 4000 Мбайт. Они сравнительно дешевы и имеют раз­ меры, как и обычные НГМД.

Главный недостаток этих устройств — сложность оперативной записи информации. Однако .уже появились видеодиски с воз­ можностью оперативной записи информации.

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

Типовой УУ (см. рис. 1.2) состоит из модуля управления этой памятью, или блока микропрограммного управления [10]. В па­ мяти, хранящей микропрограммы, содержится управляющая ин­ формация в виде последовательности микрокоманд, под воздей­ ствием которых выполняются различные микрооперации. Объем управляющей памяти, реализованный в виде БИС электрически программируемых ПЗУ, может быть увеличен путем использо­ вания ПЗУ с емкостями 1, 4 и 16 Кбит. Наращивание разрядно­ сти микрокоманды реализуется соединением между собой одно­ типных модулей ПЗУ [10]. Модуль управления памятью, содер­ жащей микропрограммы, дешифрирует команды и формирует по­ следовательности адресов управляющей памяти в процессе вы­ полнения микропрограммы.

Операционный узел, состоящий из процессорных модулей, бло­ ков сдвига данных и селектора кода условий, обрабатывает дан­ ные. Процессорный модуль, выполняющий арифметические и ло­ гические операции, построен по вертикальному принципу, состо­ ящему в том, что АЛУ, регистры общего назначения и накапли­ вающий регистр разделяют на функционально одинаковые час­ ти-м одули (секции). Объединением таких секций, обрабаты­ вающих 2, 4 или 8 разрядов путем соединения цепей переноса и сдвига соседних секций, получается операционный узел полной разрядности. Процессорный модуль вырабатывает признаки ре­ зультата выполняемой операции, такие как знак, переполнения,, равенство нулю. В нем имеется также дешифратор микрокоманд, формирующий внутренние сигналы для АЛУ и регистров. Навход дешифраторов микрокоманд всех секций одновременно по­ дается одна и та же управляющая информация, что обеспечива­ ет параллельную работу всех модулей [10].

Блок сдвига выполняет циклические и арифметические сдвиги данных. Селектор кода условия служит для хранения признаков результата операции АЛУ, выбора и формирования проверяемо­ го условия для формирования разветвлений в микропрограмме..

12

Узел сопряжения с устройствами ввода — вывода информации предназначен для обмена данными с периферийными устройства­ ми и содержит: модули приоритетного прерывания и обмена ин­ формацией, интерфейсные адаптеры и шинные формирователи. Блок синхронизации создает сигналы для всех модулей. Для формирования адресов оперативной памяти при различных ре­ жимах операции можно использовать модуль управления опера­ тивной памятью.

Впроцессоре, построенном из секционированных МП, все мо­ дули работают под. управлением микрокоманды. Блок микропро­ граммного управления управляет последовательностью микро­ команд. Этот блок в соответствии с кодом операции команды, который приходит из блока оперативной памяти, а также функ­ цией управления и условиями, формируемыми на выходе различ­ ных модулей, вырабатывает адреса микрокоманд. Операция, записанная в поле операндов команды, поступает на вход про­ цессорных модулей. В процессорных модулях выполняются вы­ числительные операции над числовыми данными, а также может быть сформулирован адрес следующей команды, хранимой в бло­ ке оперативной памяти [10]. В табл. 1.5 приведен состав различ­ ных комплектов секционированных МП [10].

Вкомплекты входят базовые модули (процессорный, управ­ ления микропрограммной памятью), а также различные допол­ нительные модули. Все они электрически, конструктивно и по ло­ гике работы совместимы. По номенклатуре модулей наиболее представительным является комплект 2900, в котором более 20 БИС. Эти БИС образуют полный набор совместимых модулей, поэтому из них можно построить вычислительную структуру с ми­ нимальным числом дополнительных микросхем. Комплекты КР1804 и КР1802 совместно с отдельными элементами серии К5В9 представляют достаточно развитые МП серии.

МикроЭВМ. От микропроцессорной системы до микроЭВМ

один шаг. Основой микроЭВМ является микропроцессор, однако в ее состав входит ряд других блоков, позволяющих определять это устройство именно как микроЭВМ. В состав микроЭВМ вхо­ дят: микропроцессор, блок памяти произвольного доступа, видео­ терминал— буквенно-цифровой дисплей — с панелью, -на которой имеется клавиатура для ввода данных, блок ввода — вывода, ис­ точник электропитания. Все блоки микроЭВМ соединены между собой шиной, содержащей большое число линий передачи сиг­ налов. Память произвольного доступа характеризуется временем доступа к памяти и временем ее цикла. Чем меньшее время дос­ тупа к памяти, тем короче ее цикл. Время доступа при чтении — это время, необходимое для вывода информации из блока памя­ ти на шину данных после адресации нужной области памяти [5]. Время доступа при записи — это время, необходимое для записи данных в адресуемую область. Время доступа определяется ор­ ганизацией памяти и скоростью работы устройств, на которых построен блок памяти. Время цикла — это наименьший интервал

13

Таблица 1.5

 

Узел управления

 

Операционный узел

МП комплект

Блок микро­

Программи­

 

 

 

руемое посто­ Процессорный Блок ускорен­

 

 

программного

Сдвигатель

 

янное запоми­

элемент

ного переноса

 

управления

нающее уст-

 

 

 

 

 

ройстоо

 

 

 

К589

ИК01

556РТ4

ИК02

и к о з

-

К1800

ВУ1

_

 

ВС1

_

;ВБ8

КР1802

 

556РТ5

 

 

 

 

"

556РТ6,

 

 

 

 

556РТ7

 

 

 

КР1804

ВУ1, ВУ2,

ВС1

ВР1

ВР2

 

 

 

ВУЗ, ВУ4

 

 

 

 

 

АМ2900

2909

29751

2901

2902

2904

 

2910

29759

2901А

 

29М

29760

2903

 

29803

29761

28203

3000

29811

29775

29116

3001

3601,

3604

3002

3003

MCI0800

10801

-

 

10800

-

10808

времени, который может иметь место между двумя обращения­ ми к памяти. Блок ввода вывода содержит универсальный при­ емопередатчик, который преобразует данные из параллельного кода в последовательный, необходимый для связи с видеотерми­ налом. На рис. 1.3 показана структурная схема типичной микроЭВМ.

Блок ввода-вывода

Блок микропроцессора

 

 

Микропроцессор

Таймер

Приемо­

Устройство

ПЗУ

передатчик

управления

 

т

JT

 

 

ъ .

 

 

•Блок памяти произвольного

 

доступа

 

Рис. 1.3. Структурная схема микроЭВМ

14

Узел

сопряжений

 

Дополнительные

модули

 

Блок прио-

Шинный

Регистр обще-

Сверхопера­

Блок управле­

Блок синхро­

формнрова-

рнтетного

тсль,

буфер­

го назначения

тивная па­

ния

оператив­

низации

прерывания

ный

регистр,

 

мять

ной

памяти

 

 

коммутатор

 

 

 

 

 

ИК14

АП 16, АП26,

-

 

-

ХЛ4

 

ИР12

РП6

втз

ВБ2

ВА4, ВА7

ИР—1

 

2913

2905

29700

29720

2930

2925

2914

2915

29701

29721

__

__

2918

29704

__

__

2920

29705

3014, 3026,

3016

-

3012

10804, 10805,

10806

 

10803

10802

~

 

 

10807

 

 

 

 

Современные микроЭВМ могут

быть

выполнены

на одном

кристалле. Обычно они предназначены для решения какой-либо определенной задачи. В состав такой ЭВМ входят: центральный процессор, ПЗУ, ОЗУ, средства ввода — вывода данных. Объем ПЗУ, как правило, значительно превышает объем ОЗУ. Некото­ рые однокристальные микроЭВМ имеют ПЗУ, в которых инфор­ мацию можно заменять путем стирания старой и записи новой. Иногда предусматривается возможность подключения дополни­ тельных блоков памяти.

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

Память и схемы управления

 

п

г

АЦП

ЦП

Н>Г

Рис. 1.4. Структурная схема аналого-цифровой однокристальной микроЭВМ

15

ЭВМ можно значительно точнее реализовать устройство фильтра­ ции сигналов, чем с помощью классических аналоговых фильтров, собранных на резисторах, индуктивностях и конденсаторах. Циф­ ровая фильтрация находит особенно широкое применение в сис­ темах распознавания и обработки изображений [18].

1.2. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ МИКРОПРОЦЕССОРОВ

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

Программа, как правило, создается поэтапно. Вначале фор­ мулируют задачу. Затем составляют алгоритм решения задачи. После этого разрабатывают собственно программу. И в конце эту программу отлаживают. Формулировка задачи должна со­ держать указание о совокупности всех исходных данных, а так­ же правило, по которому процесс вычислений можно считать за­ конченным. Алгоритмическое описание начинается с полного ма­ тематического исследования ее постановки, поиска формул и ло­ гических правил для нахождения результатов решения. Алгорит­ мический процесс происходит дискретными «шагами». Каждый «шаг» преобразует входные данные. Результат последующего «шага» полностью определяется предшествующим. Наряду с ис­ ходными данными образуется совокупность промежуточных ре­ зультатов, представляющая среду, в которой развивается алго­ ритмический процесс.

Таким образом, для любого алгоритма можно выделить семь характеризующих его однозначно определяющих и независимых параметров: 1) совокупность исходных данных; 2) совокупность промежуточных результатов; 3) совокупность результатов; 4) пра­ вило начала вычислений; 5) правило непосредственной перера­ ботки исходных данных; 6) правило окончания; 7) правило из­ влечения результата процесса вычислений. Для каждого пара­ метра можно задать класс, в пределах которого этот параметр может меняться. Часто все параметры, кроме совокупности про­ межуточных результатов и правил непосредственной переработ­ ки, фиксируют. Выбор всех семи параметров однозначно опреде­ ляет алгоритм, а выбор семи классов изменений этих парамет­ ров определяет некоторый класс алгоритмов.

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

16

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

ти линия продолжается

с того места, где находится второй соединитель. В

ряде случаев ■применяют

также другие графические обозначения блоков. Так

в виде параллелограмма

изображают блок, содержащий процедуру ввода —

вывода.

 

Следующим этапом решения задачи является разработка про­ граммы, т. е. описание алгоритма на некотором языке, который представляет собой набор команд и правил их применения для реализации этого алгоритма. Это означает, что каждый «шаг» алгоритма надо записывать, используя команды, которые выпол­ няет данный МП или микроЭВМ. В общей программе часто вы­ деляют одну или несколько подпрограмм. Они представляют со­ бой части программы, многократно используемые в процессе ее выполнения. Хотя обращаются к подпрограмме в процессе реше­ ния задачи не один раз, в программе их записывают единожды. Каждый раз, когда требуется провести расчеты по подпрограм­ ме, организуют в программе специальное обращение к ней.

Любому микропроцессору (микроЭВМ) присущ определен­ ный набор команд, которые обеспечивают выполнение им управ­ ляющих и вычислительных функций. Команды кодируют двоич­ ными числами. Так в 81-разрядном МП каждая команда пред­ ставлена восемью двоичными цифрами. Ясно, что программу мож­ но записать в виде последовательности двоичных чисел, т. е. на языке машинных кодов. Программы, написанные на этом языке, выполняются за минимальное время и занимают сравнительно небольшие объемы памяти. Однако процесс программирования з машинных кодах достаточно сложен, трудоемок и сопровожда­ ется большим числом ошибок, полученные программы трудно мо­ дифицировать и корректировать, они не применимы для другого типа микропроцессора [6]. Поэтому таким образом можно написать программу, не превышающую по длине нескольких байтов.

Чаще всего при работе с МП применяют для программирова­ ния символический язык ассемблера, в котором команды и ад­ реса ячеек памяти имеют условные имена в виде сокращенных английских слов.

17

Программирование на языке ассемблера позволяет реализо­ вать все потенциальные возможности микропроцессоров. При этом значительно упрощаются процесс создания программы, по­ иск и исправление ошибок, облегчается чтение программ. Состав­ лять программы на языке ассемблера целесообразно для задач средних объемов до 1000 байт [6]. Для перевода программы, на­ писанной на языке ассемблера, в машинный, понятный для МП или микроЭВМ, требуется так называемый транслятор. Трансля­ тор— это программа, осуществляющая по точным правилам пе­ ревод с языка программы решения задачи на машинный язык,,

т.е. в последовательность команд, записанных в двоичном коде.

Сязыка ассемблера переводит транслятор, также называемый

ассемблером.

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

лях народного хозяйства, необходимость работы с ЭВМ людям с минимальной подготовкой и навыками в области программиро­ вания постепенно привели к созданию языков высокого уровня. Эти языки по фразовой структуре и свойствам, использованию служебных слов приближаются к обычным разговорным языкам. Фразы в этих языках, как правило, разделяются точкой с запя­ той, соподчиненность фраз указана с помощью операторных ско­ бок «Начало» и «Конец». В языках высокого уровня фразы под­ разделяют на операторы, которые являются единицей действия в языке, и описания. Операторы делятся на операторы присва­ ивания, условные, цикла. Операторы присваивания производят подсчет по записанной формуле и присваивание вычисленного по ней значения заданной переменной величины. В зависимости от результата проверки заданного условия условные операторы вы­ бирают ту или другую ветвь вычислений. Операторы цикла поз­ воляют повторять выполнение подпрограмм или некоторой груп­ пы операторов. Фразы-описания указывают на характер перемен­ ных величин, различных обозначений, используемых в програм­ ме. Для более удобного включения в состав программ часто пов­ торяющихся подпрограмм им присваивают символическое функ­ циональное обозначение в виде оператора процедуры.

Существует множество языков высокого уровня. Наиболее рас­ пространенными среди них являются Алгол-60, Фортран для ре­ шения инженерных и научных задач, Кобол для экономических расчетов, Бейсик для различных расчетов, Алгол-68, ПЛ/1, ПЛ/М — более мощные языки для всех видов применения ЭВМ.

Для перевода программ с языков высокого уровня на машин­ ный применяют служебные программы — переводчики, интерпре­ таторы и компиляторы. Интерпретатор работает в ходе выполне­ ния программы. Каждая строка переводимой программы преоб­ разуется в последовательность машинных команд, необходимых для ее выполнения непосредственно перед выполнением. Интер­ претатор анализирует содержимое строки программы. Затем на

18

основе анализа программы преобразуются в машинные команды с помощью набора подпрограмм. Эти команды выполняются. По­ сле завершения перевода одной строки интерпретатор начинает перевод следующей. Для выполнения своих функций интерпрета­ тор использует значительное число подпрограмм. Эти подпрог­ раммы вместе со служебной программой синтаксического анали­ за команд языка высокого уровня, программы на языке высокого уровня, а также исходные данные размещаются в памяти. По­ этому интерпретатор можно применять в микропроцессорных си­ стемах с большой памятью. Так для интерпретатора языка Бей­ сик при работе на 8-разрядной микроЭВМ необходимо распола­ гать 12... 24 Кбайт памяти [5, 6, 8]. Интерпретатор языка Бейсик широко используют при работе с микроЭВМ для проведения рас­ четов в научных исследованиях.

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

Недостатком ассемблеров и интерпретаторов является то, что они зависят от модели МП, на работу с которым они рассчитаны; достоинством — то, что они имеют встроенные редакторы, т. е. служебные программы, предназначенные для составления прог­ рамм на языке ассемблера. Редактор позволяет программисту почти без ошибок записывать команды на языке ассемблера, данные и адреса. Возникающие же ошибки с помощью редактора достаточно просто исправляются. Редактор обеспечивает ввод исходной программы с перфоленты или клавиатуры, ее коррек­ цию и запись в память.

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

ных результатов и т. п.

Системы разработки и отладки программ для микропроцес­ соров. Это небольшие системы общего назначения, реализован­ ные на базе микроЭВМ, которые предоставляются в распоряже­ ние пользователя для написания и отладки программ, подлежа­ щих выполнению на том или ином МП. Как правило, такие прог­ раммы пишут на языке ассемблера, однако многие подобные си­ стемы допускают программирование на языках высокого уровня [5]. С помощью систем отладки можно искать неисправности в сложных микропроцессорных системах.

19

Рассмотрим

несколько приемов, наиболее важных для про­

граммирования

алгоритмов обработки информации.

О п е р а ц и я

с ч е т а позволяет циклически повторять часть-

программы и создавать временную задержку. Она может бытьсвязана с какими-либо внешними событиями. Операция счета вы­ полняется следующим образом. В регистр общего назначения МП помещают константу, равную заданному эталону цикла (числу циклов). Далее из содержимого этого регистра после прохожде­ ния каждого цикла действий вычитается единица, т. е. проверя­ ется условие на равенство результата нулю. Если результат не равен нулю, то происходит возвращение к началу цикла, если равен — выход из цикла. Возможен способ организации цикла, когда перед началом выполнения очередного цикла добавляется единица к -счетчику, обнуленному перед счетом. Полученная сум­ ма сравнивается с эталоном; если она ему равна, происходит вы­ ход из циклического отсчета. На рис. 1.5 показаны два варианта структурных схем алгоритмов организации операции счета.

П ри м ер . Приведем программу на языке Ассемблер, обеспечивающую вы­ полнение основной функции 20 раз. Программа, составленная по первому спо­ собу, имеет следующий вид:

COUNT: MVI В, 20;

FUNC: .......................

DGR В;

JNZ FUNC;

установка начального состояния счетчика путем загрузки эталона в регистр В; участок программы, обеспечивающий

выполнение основной функции; счет; переход, если счет закопчен.

Рис. 1.5. Структурная схема алгоритмов организации операции счета

20

Соседние файлы в папке книги