DRAKON.SU

Текущее время: Воскресенье, 28 Апрель, 2024 22:50

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Изображение прерываний
СообщениеДобавлено: Четверг, 10 Декабрь, 2009 19:14 

Зарегистрирован: Среда, 06 Май, 2009 21:00
Сообщения: 32
Любопытно целесообразно ли ввести обозначение прерываний?
Например как на рисунке.
Переход по красной стрелке означает, что пока не выполнится следующий после нее оператор все другие процессы алгоритма останавливаются.


Вложения:
interrupt.png
interrupt.png [ 9.85 КБ | Просмотров: 21647 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Четверг, 10 Декабрь, 2009 19:22 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Почему не использовать просто комментарий...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Четверг, 10 Декабрь, 2009 19:29 
Аватара пользователя

Зарегистрирован: Суббота, 15 Март, 2008 20:00
Сообщения: 2
Откуда: Київ, Україна
Мне кажется, что приведенный пример неудачен, т.к. он немного нереален.
Прерывания реализуются аппаратно... приведен какой то особый случай?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Четверг, 10 Декабрь, 2009 19:41 

Зарегистрирован: Среда, 06 Май, 2009 21:00
Сообщения: 32
Хотелось найти способ графического выделения прерываний ( в отличие от параллельных процессов р.в. выполняющихся не зависимо друг от друга).
Дракон алгоритм должен описывать и логику аппаратного вызова прерываний.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Четверг, 10 Декабрь, 2009 19:58 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Блин, да сколько ж можно опять! Снова вокруг прерываний...

ЗАЧЕМ?! ВАМ?! ИХ?! РИСОВАТЬ НА ДРАКОНЕ?!

Обработчик АППАРАТНЫХ прерываний интересен постольку, поскольку он изменяет глобальные даннные (взводит флаги, кладёт принятый байт в буфер и т.п.). К основному алгоритму он не имеет никакого отношения (то есть его там как-либо изображать бессмысленно)!

Аппаратное прерывание может возникнуть после любой ПРОЦЕССОРНОЙ ИНСТРУКЦИИ, что опять-таки не имеет никакого отношения к Дракон-схеме основного алгоритма!

...Первая картинка кое-как может изображать функционирование ОС в целом или встроенного приложения, если под "Включить прерывания" скрывается а)power-on self-test, б)установка векторов прерываний, в)настройка периферии, г)инициализация данных приложения (буферы, очереди и т.п.).

...Вторая картинка не имеет отношения к реальности...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Четверг, 10 Декабрь, 2009 20:31 

Зарегистрирован: Среда, 06 Май, 2009 21:00
Сообщения: 32
Вопрос возник потому, что прерывания очень широко применяются в программировании встроенных систем.
И там постоянно возникает проблема, как детально и понятно описать логику параллельно выполняющихся задач.

Например, у нас есть микроконтроллер с 6 аппаратными прерываниями. 1) Переполнение таймера 2) Изменение состояния любого вывода 3) Конец измерения АЦП и т.д.
Тогда если на второй картинке изобразить условия прерываний сверху вниз на шампуре, то получим точное графическое описание действий микроконтроллера при вызове нескольких прерываний в соответствии с их приоритетом


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Четверг, 10 Декабрь, 2009 20:37 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Ну так Ваши картинки ничего из перечисленного не показывают! :)

Что значит "изобразить условия прерываний"? Что за условия такие вообще?

Максимум, что можно сделать полезного, это разрисовать временную диаграмму (показав на ней один из бесконечного количества вариантов). Безусловно, временные диаграммы - наиполезнейшая штука. Но пользоваться ими надо также грамотно. И для этого Дракон не очень удобен, имхо. Это просто совсем другой тип диаграммы, с другими свойствами и областью применения.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Четверг, 10 Декабрь, 2009 20:59 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Естественно. Межпроцессные события - это ввод-вывод с точки зрения каждого алгоритма. Неких сообщений. Условно говоря, сообщений. Значки "ввод" и "вывод" удобны для отображения любого типа событий, принимаемых снаружи процессом и инициируемых им наружу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Четверг, 10 Декабрь, 2009 21:09 

Зарегистрирован: Среда, 06 Май, 2009 21:00
Сообщения: 32
Вот примерно такая была задумка


Вложения:
1.png
1.png [ 11.35 КБ | Просмотров: 21646 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Четверг, 10 Декабрь, 2009 21:22 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Никак не пойму, это алгоритм работы процессора, что ли? Алгоритмически расписанный аппаратный полинг? Смысл? Или это какой хитрющий контроллер, где Вы всё по опросу делаете?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Четверг, 10 Декабрь, 2009 21:28 

Зарегистрирован: Среда, 06 Май, 2009 21:00
Сообщения: 32
Да алгоритмически расписанный аппаратный... Ну не надо так надо :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Пятница, 11 Декабрь, 2009 00:21 
Аватара пользователя

Зарегистрирован: Суббота, 15 Март, 2008 20:00
Сообщения: 2
Откуда: Київ, Україна
Цитата:
Вот примерно такая была задумка

Честно говоря пункт "опрос вектора прерываний" не ясен с позиции русского языка :shock: В других пунктах тоже есть вопросы именно к языковой части.
Для меня остается загадкой пункт "Другое прерывание"...
Скажу честно из приведенной Дракон-схемы ничего, абсолютно ничего не ясно!
Еще раз подумайте, что Вы хотите описать!

Вопрос №2 Зачем новый элемент для прерывания? Он будет нужен только в том случае, если вы будете делать транслятор с Дракона в машинный язык. Иначе достаточно комментария.

А по большому, то что Вы привели, лучше всего описывается в логических схемах. Гляньте доки по однокристалкам или другим электронным компонентам, там все прекрасно и наглядно описано.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Пятница, 11 Декабрь, 2009 11:20 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 112
Откуда: Беларусь, Минск
and007 писал(а):
Переход по красной стрелке означает, что пока не выполнится следующий после нее оператор все другие процессы алгоритма останавливаются.
Так на схеме ничего параллельно выполняющегося и не показывается. То есть при переходе по красной стрелке всё и так останавливается до конца работы процедуры.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Пятница, 11 Декабрь, 2009 15:49 

Зарегистрирован: Среда, 06 Май, 2009 21:00
Сообщения: 32
Ну что же,предложение снимается как не удачное, поскольку вызывает больше вопросов чем ответов :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Пятница, 11 Декабрь, 2009 16:10 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
and007 писал(а):
Да алгоритмически расписанный аппаратный... Ну не надо так надо :)

Надо, надо. Я, например, с Вами согласен.
+1.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Пятница, 11 Декабрь, 2009 18:14 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
TAU писал(а):
Надо, надо.
Зачем?!

Чем не устраивают адекватные описания процессоров?

Или Вы собираетесь делать свой процессор и писать микрокод к нему на Драконе? :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Пятница, 18 Июнь, 2010 15:54 

Зарегистрирован: Пятница, 18 Июнь, 2010 15:50
Сообщения: 3
на защите диссертации как раз критиковали одного парня за то что на блок-схеме не изображены прерывания, а прога у него для микроконтроллера :)

Ну блин. профессура требует - надо выполнять. Но к сожалению еще и вдобавок не на драконе а на убогих гостовских блок-схемах, для рисования которых нет нормального софта, и приходится использовать MS Visio или autocad и т.п.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Пятница, 18 Июнь, 2010 19:54 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 33
and007 писал(а):
Любопытно целесообразно ли ввести обозначение прерываний?
Например как на рисунке.

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

Почитайте книжки по организации ядер ОС-ей. Практически во всех из них, контексты обслуживания прерываний ОТДЕЛЕНЫ от контекстов ядра и пользовательских процессов. Это ж - неспроста! :)
Практически прерывание (по смыслу) - зацикленный отдельный процесс, очередная итерация выполнения которого активизируется с некоторой фиксированной точки внешним событием.
Это как-то имеет отражение в Драконе? И Вообще - многозадачность? многопотоковость?

ЗЫ Практически и в микроконтроллерах - тот же подход. Хотя, там и нет явной "зацикленности" непосредственных обработчиков прерываний.
Очень интересно были сделаны обработчики прерываний в Модуле-2.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Суббота, 19 Июнь, 2010 08:19 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
Wlad2 писал(а):
..Это как-то имеет отражение в Драконе? И Вообще - многозадачность? многопотоковость?
Ну, вариантов не очень много:


Последний раз редактировалось Рэйлвэй Каген Понедельник, 09 Май, 2011 07:00, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Изображение прерываний
СообщениеДобавлено: Суббота, 19 Июнь, 2010 09:59 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Wlad2 писал(а):
Практически прерывание (по смыслу) - зацикленный отдельный процесс, очередная итерация выполнения которого активизируется с некоторой фиксированной точки внешним событием.
Чего это он вдруг зацикленный?
Вообще-то, по определению он разовый, имеет начало и конец.

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB