Диспетчер процессов. Краткое описание архитектуры (1041600)
Текст из файла
1Диспетчер процессов. Краткое описание архитектурыДиспетчер предназначен для управления восемью синхроквантами, выполнениекоторых можно жестко привязать к реальному времени с дискретой (тиком) в 1мс иможет быть дополнен для управления рядом интерквантов, выполнение которыхинициируется внешними событиями, фиксируемыми по изменению состояния выводовсвободного порта микроконтроллера. Очередность выполнения квантов определяетсяописанными в них задержками времени.
При совпадении моментов запуска несколькихквантов, предпочтение отдается кванту с минимальным номером. Имеется возможностьменять стратегию диспетчирования, переходя от приоритетной очереди к круговой (см.ячейку 26h).В таблице 1 приведены адреса резидентной памяти данных, в которой затонированыбайты, определяющие работу диспетчера. Эти адреса пользователь может использовать всвоих квантах для настройки диспетчирования.Таблица 1.Распределение резидентной памяти микроконтроллера под диспетчер задачАдрес00h01h02h03h04h05h06h07h08h09h0Ah0Bh0Ch0Dh0Eh0Fh10…1FhСодержимое ячейки памятиR0 пользователяR1 пользователяR2 пользователяR3 пользователяR4 пользователяR5 пользователяR6 пользователяR7 пользователяR0 таймера – задержка 0-го кванта в тикахR1 таймера - задержка 1-го кванта в тикахR2 таймера - задержка 2-го кванта в тикахR3 таймера - задержка 3-го кванта в тикахR4 таймера - задержка 4-го кванта в тикахR5 таймера - задержка 5-го кванта в тикахR6 таймера - задержка 6-го кванта в тикахR7 таймера - задержка 7-го кванта в тиках15 свободных байт пользователя (второй и третий банки регистров)20hСтатусквантов21hФлагиквантов22hРазрядностьзадержекСтатус7-гоквантаСтатус6-гоквантаСтатус5-гоквантаСтатус 4-гоквантаСтатус 3-гоквантаСтатус 2-гоквантаСтатус 1-гоквантаСтатус 0-гоквантаSPR7SPR6SPR5SPR4SPR3SPR2SPR1SPR0Флаг 7-гоквантаФлаг 6-гоквантаФлаг 5-гоквантаФлаг 4-гоквантаФлаг 3-гоквантаФлаг 2-гоквантаФлаг 1-гоквантаФлаг 0-гоквантаFPR7FPR6FPR5FPR4FPR3FPR2FPR1FPR0Квант 7Квант 6Квант 5Квант 4Квант 3Квант 2Квант 1Квант 0R_PR7R_PR6R_PR5R_PR4R_PR3R_PR2R_PR1R_PR023h24h25h26h24h..63h64h....7FhСчетный регистр числа малых тиковРегистр значения старшего байта TH0 счетчика ТС0Регистр значения младшего байта TL0 счетчика ТС0Регистр типа очереди квантовБайты пользователяСтек системы и пользователяСтек системы и пользователя1-ый банк регистров – таймерный.
Банк задержек квантов. Каждая задержкаустанавливается пользователем и затем уменьшается с каждым тиком таймером.08h (R0) – задержка времени кванта PR0.209h (R1) – задержка времени кванта PR1.0Ah (R2) – задержка времени кванта PR2.0Bh (R3) – задержка времени кванта PR3.0Ch (R4) – задержка времени кванта PR4.0Dh (R5) – задержка времени кванта PR5.0Eh (R6) – задержка времени кванта PR6.0Fh (R7) – задержка времени кванта PR7.20h – регистр статусов квантов (исходно обнулен, устанавливается побитнопользователем). Если в соответствующем бите 1 – квант активизирован, если 0 –отключен.№ бита76543210Адрес бита76543210SPR6SPR5SPR4SPR3SPR2SPR1SPR0Назначение SPR721h – регистр флагов квантов (устанавливается побитно таймером по истечениизадержки).
Сбрасывается в пультовой петле диспетчера при запуске кванта.№ бита76543210Адрес битаFhEhDhChBhAh98FPR6FPR5FPR4FPR3FPR2FPR1FPR0Назначение FPR722h – регистр разрядности задержек квантов (устанавливается пользователем).Если в соответствующий кванту бит записана единица, задержка отсчитывается вбольших тиках, если ноль, в малых.№ бита76543210Адрес бита17h16h15h14h13h12h11h10hRPR6RPR5RPR4RPR3RPR2RPR1RPR0Назначение RPR723h – счетный регистр малых тиков. Система отсчета времени ведется в малыхтиках, период которых может быть настроен пользователем (исходно длительностьмалого тика 1 мс) и в больших тиках, содержащих 256 малых. Тик, совпадающий собнулением ячейки 23h считается большим.24h – регистр настройки малого тика. Содержит начальное значение старшегобайта TH0 таймера счетчика Т/С0.25h – регистр настройки малого тика.
Содержит начальное значение младшегобайта TL0 таймера счетчика Т/С0.26h – регистр управления очередью квантов. Квант запускается из пультовойпетли диспетчера, если установлены его статус и флаг. Анализ состояний квантов(очередность запуска) ведется по двум стратегиям:- Приоритетный запуск. Начинается анализ с нулевого кванта (самогоприоритетного) и заканчивается седьмым.- Круговой запуск. Если выполнялся, например, пятый квант, после выполнениякванта и возврата в диспетчер первым анализироваться будут условия запускашестого, седьмого, нулевого, первого и т.д.Бит 26.0 (нулевой бит ячейки 26h) – бит круговой очереди в диспетчере. Если онсброшен в 0 – приоритетный запуск, если установлен в 1 – круговой.Распределение памяти программ приведено в таблице 2. Там затонированы строкипамяти программ, занимаемой диспетчером процессов.
Диспетчер является основнойведущей программой. Зоны памяти, которые могут занимать стартовая программа икванты пользователя, оставлены светлыми.3Таблица 2.Распределение памяти программ МКАдрес0000h0003h – 0025h002Bh – 0048h004Ah004Fh – 00BFh00D0h – 0141h0149h – 0164h0149h014Ch014Fh0152h0155h0158h015Bh015Eh0162hАдресаНаименование программы или зоны памятиНачальный пуск системыЗона векторов прерываний MKНачальная системная настройка МКЗапуск начальной настройки МК пользователем по адресу 0162hПультовая петля диспетчера задачПодпрограмма прерываний таймераЗона векторов системных прерываний для пользователяПереход к кванту пользователя с нулевым приоритетом LJMP<адресPR0>Переход к кванту пользователя с первым приоритетом LJMP<адрес PR1>Переход к кванту пользователя со вторым приоритетом LJMP<адресPR2>Переход к кванту пользователя с третьим приоритетом LJMP<адрес PR3>Переход к кванту пользователя с четвертым приоритетом LJMP<адресPR4>Переход к кванту пользователя с пятым приоритетом LJMP<адрес PR5>Переход к кванту пользователя с шестым приоритетом LJMP<адресPR6>Переход к кванту пользователя с седьмым приоритетом LJMP<адресPR7>Переход к подпрограмме начальной настройки МК пользователемSTARTсвободны Кванты пользователя START, PR0, PR1, PR2, PR3, PR4, PR5, PR6, PR7На рис.1.
поясняется взаимодествие диспетчера с квантами пользователя.Рис.1. Схема организации работы диспетчера.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.