Например TDA7294

 Форум РадиоКот • Просмотр темы - DMA на шине ISA
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Сб дек 16, 2017 20:14:36



Часовой пояс: UTC + 3 часа [ Летнее время ]


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 16 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: DMA на шине ISA
СообщениеДобавлено: Ср июл 19, 2017 20:57:31 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 2
Зарегистрирован: Чт фев 19, 2015 13:41:04
Сообщений: 172
Рейтинг сообщения: 0
А вот еще вопрос... Если запрограммировать DMA канал 1,2 или 3 на обмен 1 м-байтовым блоком на чипсете 440BX, то есть ли шанс, что DMA обмен может быть прерван операционной системой (например XP) или есть полная гарантия что DMA обмен будет строго по кварцевому генератору который тактирует DMA канал?

Например, я хочу сделать вывод на LPT с DMA и, получить отсчеты с точностью тактирования DMA канала от кварцевого генератора и, при этом, иметь гарантию, что ОС Win-XP не прервет DMA обмен ни при каких обстоятельствах?


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: DMA на шине ISA
СообщениеДобавлено: Ср июл 19, 2017 21:02:48 
Мудрый кот
Аватар пользователя

Карма: 14
Зарегистрирован: Пн окт 11, 2010 20:00:08
Сообщений: 1741
Рейтинг сообщения: 0
Есть необходимые знания для разработки драйвера работающего с DMA по правилам ОС?


Вернуться наверх
 Профиль  
 
JLCPCB Prototype, Бесплатная доставка первого заказа + $2 на прототип ПП!

Крупнейший производитель печатных плат в Китае, 290,000+ заказчиков, 8,000+ он-лайн заказов в день.

Цена за 10 плат: $2 за 2-х слойную, $15 за 4-х слойную, $74 за 6-ти слойную.

LCSC Parts: Экономия до 50%, большой выбор компонентов в наличии, отправка заказа в день оплаты.

Не в сети
 Заголовок сообщения: Re: DMA на шине ISA
СообщениеДобавлено: Ср июл 19, 2017 21:41:30 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 2
Зарегистрирован: Чт фев 19, 2015 13:41:04
Сообщений: 172
Рейтинг сообщения: 0
Есть необходимые знания для разработки драйвера работающего с DMA по правилам ОС?

Ну, уже почти есть. Но, вопрос в аппаратуре чипсета, например 440BX. Позволит ли аппаратно 440BX учинить непрерываемый вывод?
Что касается драйвера, хочу использовать существующий в режиме DMA. Если Вы обладаете знаниями режима DMA на шине ISA чипсета 440BX, то подскажите реально ли сделать непрераваемый ОС DMA обмен, ведь, как я понимаю, от ОС здесь мало что зависит (ничего не зависит), все дело в аппаратуре шины и ДМА. Поправьте если что не так?

P.S. Ведь, если я правильно понимаю, DMA на шине ISA в "современных" :) чипсетах (440BX или старше, где есть PCI и бус мастер) ну тех где есть ISA шина :)), обменивается с памятью чисто аппаратно. И, плевать чипсету на тип установленной операционной системы многозадачная она или нет, Microsoft или Linux. Так или не так?

По крайней мере в микроконтроллерах ARM именно так, где есть контроллер DMA на шине AHB то контроллеру DMA глубоко фиолетово чем теперь тешиться ядро ARM, он ДМА ориентируется только на тактовый кварцевый генератор. А производительности шины AHB хватает на ядро и ДМА всегда. То-есть ДМА на шине это как отдельный независимый аппаратный контроллер который в будучи инициализирован, вовсе не в курсе дел о том чем занято ядро процессора на шине AHB.

P.P.S. Тоесть, вопрос заключается в аппаратуре, ведь шины обмена с памятью, будучи однажды сконфигурированы, в процессе работы операционной системы, независимо от ее типа, ей ОС уже никак не управляются. Будь-то AHB в ARM гипертранспорт в AMD процессорах PCI - PCI экспресс и ее отросток ISA от Интел и прочее, и тому подобное. Вот в чем вопрос?

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


Вернуться наверх
 Профиль  
 

Не в сети
 Заголовок сообщения: Re: DMA на шине ISA
СообщениеДобавлено: Ср июл 19, 2017 22:51:12 
Мудрый кот
Аватар пользователя

Карма: 14
Зарегистрирован: Пн окт 11, 2010 20:00:08
Сообщений: 1741
Рейтинг сообщения: 0
astrahard писал(а):
Но, вопрос в аппаратуре чипсета, например 440BX. Позволит ли аппаратно 440BX учинить непрерываемый вывод?
Скачайте даташит на чипсет и посмотрите.


Вернуться наверх
 Профиль  
 

Не в сети
 Заголовок сообщения: Re: DMA на шине ISA
СообщениеДобавлено: Ср июл 19, 2017 22:53:46 
Друг Кота

Карма: 45
Зарегистрирован: Вт фев 21, 2012 14:51:55
Сообщений: 4898
Откуда: Начинающий
Рейтинг сообщения: 0
^^_"Многабукаффниасилелбизпрабелавсёслитна" ("щютка" юмора) 8)

А ежели сурьёзно, то п.д.п. в архитектуре "штеуд"* остаётся один-в-один ,как и было в i8237
Поэтому просто изучите ,как работает i8237 - и будет Вам "щщасттье"

*_(с)(рус./лат.)

_________________
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: DMA на шине ISA
СообщениеДобавлено: Ср июл 19, 2017 23:20:28 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 2
Зарегистрирован: Чт фев 19, 2015 13:41:04
Сообщений: 172
Рейтинг сообщения: 0
Вот если мои рассуждения имеют право быть. Почему в MACH3 ЧПУ это не так. Там в сигнале с ЛПТ присутствует фазовый дребезг, и он зависит от нагрузки на систему. Но, если вывод через ДМА с окном в мегабайт, то на частоте 40 килогерц он длиться 25 секунд и, процессору нужно лишь рассчитать циферки для буфера раз в 25 секунд. Учитывая, что у процессоров Интел вычислительной мощности не занимать "на прямых участках" пока тормоза не грянут в виде переключения контекста, то получается что все должно быть очень гладко. Но на практике это не так. Вот и возникает вопрос в MACH3 подход несовершенный, или в моих рассуждениях есть подводные камни (ДМА обмен независимый от процессора и ОС)?


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: DMA на шине ISA
СообщениеДобавлено: Ср июл 19, 2017 23:31:55 
Друг Кота

Карма: 45
Зарегистрирован: Вт фев 21, 2012 14:51:55
Сообщений: 4898
Откуда: Начинающий
Рейтинг сообщения: 0
Вот если мои рассуждения имеют право быть.
..
.. он длит-ь-ся ..
"-Что делает ? - длит себя" .. <- извините за придирочку ... :oops:

Согласно "дэйтащиит"-у п.д.п. длится до тех пор, пока процессор не против ..

Ну ведь Вам же сказали выше, что треба почитать "дэйтащиит" - стало быть почитайте ,дабы не мудрствовать лукаво.

_________________
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: DMA на шине ISA
СообщениеДобавлено: Ср июл 19, 2017 23:41:54 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 2
Зарегистрирован: Чт фев 19, 2015 13:41:04
Сообщений: 172
Рейтинг сообщения: 0
Вот если мои рассуждения имеют право быть.
..
.. он длит-ь-ся ..
"-Что делает ? - длит себя" .. <- извините за придирочку ... :oops:

Согласно "дэйтащиит"-у п.д.п. длится до тех пор, пока процессор не против ..

Ну ведь Вам же сказали выше, что треба почитать "дэйтащиит" - стало быть почитайте ,дабы не мудрствовать лукаво.


А ссылку на "дэйтащиит"? По моему, это актуально для первых ПС, где ДМА и процик работали с памятью по очереди, в современных шинах это вроде не так и, ДМА с проциком работают на шине одновременно не мешая друг другу, то-есть производительности шины с памятью хватает обоим, например, когда нет видео карты и видеопамять отъедается от ОЗУ, Windows не возражает и, картинка не дергается.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: DMA на шине ISA
СообщениеДобавлено: Ср июл 19, 2017 23:50:49 
Друг Кота
Аватар пользователя

Карма: 342
Зарегистрирован: Сб сен 13, 2014 17:27:32
Сообщений: 13217
Откуда: СпиртоГонск созвездия Омега
Рейтинг сообщения: 0
ну неследует путать дма апаратное шин PCI/ISA и порты -там есть буфера...они так и так будут работать с заддержкой к томуже если ты гонишь чтото в порт командос оси то оно и програмнозависими нотправилный драйвер уровня ядра или дос наверняка это сможет

_________________
-
Мудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет...


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: DMA на шине ISA
СообщениеДобавлено: Чт июл 20, 2017 00:17:45 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 2
Зарегистрирован: Чт фев 19, 2015 13:41:04
Сообщений: 172
Рейтинг сообщения: 0
Мне думается, что Вы petrenko не в курсе о работе аппаратного хаба чипсетов дальше чем древний IBM PC, которым являются современные шины с оперативкой, например гипертранспорт от АМД, AHB от АРМ и.т.п., PCI bus master. Имею наглость думать, что и авторы MACH3 тоже в этих вопросах плавают, иначе чем объяснить, что основную работу за ними доделывают периферийные контроллеры малой производительности.

Добавлено after 3 minutes 21 second:
ну неследует путать дма апаратное шин PCI/ISA и порты -там есть буфера...они так и так будут работать с заддержкой к томуже если ты гонишь чтото в порт командос оси то оно и програмнозависими нотправилный драйвер уровня ядра или дос наверняка это сможет


В том то и дело, что программный ввод вывод это некошерно, на примере хард дисков, это этап пройденный (только ДМА), а там тоже есть порты ВВ и это не мешает.

Добавлено after 6 minutes 27 seconds:
petrenko "Поэтому просто изучите ,как работает i8237 - и будет Вам "щщасттье""

Тот факт, что в чипсете наличествует i8237 не означает, что все работает как и в древнем ПС ХТ, добавляется современная шина обмена с ОЗУ и, это очень существенно меняет дело. i8237 отделен от системы (процессора) новой шиной (не было в ХТ). И работает в режиме разделения с контекстными интервалами зачастую меньше наносекунды.

Добавлено after 5 minutes 40 seconds:
Например в системе на АМД процессоре i8237 оказывается отделен от ядра процессора очень интересной шиной ГИПЕРТРАНСПОРТ и, например Windows, совершенно наплевать как эта ГИПЕРТРАНСПОРТ устроена, главное что она дает ядру процессора доступ к ОЗУ и, как она шина это делает ее проблемы ОС не вмешивается (любая ОС любой серии).

Добавлено after 8 minutes 49 seconds:
Уж следует напомнить, что современная аппаратура способна запустить несколько разнородных ОС на одной платформе, например Windows & Linux одновременно, так что, всякие разговоры о том является ли Windows системой реального времени? совершенно бессмысленны, Microsoft смеются над вопросом, так как считают свою Винду в этом случае, лишь надстройкой на платформе современного чипсета.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: DMA на шине ISA
СообщениеДобавлено: Чт июл 20, 2017 00:20:35 
Друг Кота

Карма: 45
Зарегистрирован: Вт фев 21, 2012 14:51:55
Сообщений: 4898
Откуда: Начинающий
Рейтинг сообщения: 0
У BX440 и других "продвинутых" dma(==п.д.п.) по сравнению с "древним" i8237 добавилось типа-как-бы "кеширование"( за счёт "разделяемой" памяти ) и передачи стали 32-битные . И он может условно "одновременно" с процессором читать из памяти. Но только читать. Записывать одновременно нарочно не поддерживается во избежание коллизий.
"Найскайтэ" ссылки за Вас не буду - для этого есть поисковые машины WWW .
( Также желательно изучить работу comemL.vxd )

_________________
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: DMA на шине ISA
СообщениеДобавлено: Чт июл 20, 2017 00:46:21 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 2
Зарегистрирован: Чт фев 19, 2015 13:41:04
Сообщений: 172
Рейтинг сообщения: 0
У BX440 и других "продвинутых" dma(==п.д.п.) по сравнению с "древним" i8237 добавилось типа-как-бы "кеширование"( за счёт "разделяемой" памяти ) и передачи стали 32-битные . И он может условно "одновременно" с процессором читать из памяти. Но только читать. Записывать одновременно нарочно не поддерживается во избежание коллизий.
"Найскайтэ" ссылки за Вас не буду - для этого есть поисковые машины WWW .
( Также желательно изучить работу comemL.vxd )

Не, я согласен, что Вы знаете кое что чего мне неизвестно. Но вот это "ДМА работает пока процик не против" меня запутывает. Буду копать в направлении, почему такие системы ЧПУ как MACH3 (любительские) так мало работы выполняют, например в них нет модулей руления сервоприводом (ПИДы там всякие) и, это доверяется периферии, хотя производительности процессора хоть отбавляй. На что она производительность тратиться? на ожидание а не на вычисления, другого объяснение не находиться. Такое впечатление, что синхронизация там очень примитивна и это дает кажущуюся загрузку какой-то работой.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: DMA на шине ISA
СообщениеДобавлено: Чт июл 20, 2017 00:58:30 
Друг Кота

Карма: 45
Зарегистрирован: Вт фев 21, 2012 14:51:55
Сообщений: 4898
Откуда: Начинающий
Рейтинг сообщения: 0
Ну да.

А чего там "запутывать-ся" то ?

Вы сопоставьте частоту ISA и нынешних процессоров. За один цикл ISA сколько инструкций выполняет процесор ? От 50 до 1000 - и всё это время его выводы запросто пребывают "в отключке"(z) ,инструкции берутся из кеша (,теперь даже уже и при ветвлении). Но вот что будет при прерывании , при генерации исключений и при переключении контекста ?(почти риторичекий)

Всё таки почитайте , как советовали выше , "дэйтащиит" .

_________________
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: DMA на шине ISA
СообщениеДобавлено: Чт июл 20, 2017 01:17:07 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 2
Зарегистрирован: Чт фев 19, 2015 13:41:04
Сообщений: 172
Рейтинг сообщения: 0
Ну да.

А чего там "запутывать-ся" то ?

Вы сопоставьте частоту ISA и нынешних процессоров. За один цикл ISA сколько инструкций выполняет процесор ? От 50 до 1000 - и всё это время его выводы запросто пребывают "в отключке"(z) ,инструкции берутся из кеша (,теперь даже уже и при ветвлении). Но вот что будет при прерывании , при генерации исключений и при переключении контекста ?(почти риторичекий)

Всё таки почитайте , как советовали выше , "дэйтащиит" .


Ну вот опять Вы про отключку на 50 -1000 циклов. Шина есть - аппаратный хаб, даже если бы процик обращался к шине каждый такт ISA ничего не поменяется как я представляю, потому что ядро процессора мягко говоря "мало информировано" вообще о существовании где-то на периферии шины ISA. И в свете этого, мне непонятно, как умудрились создатели драйвера ЛПТ для МАТЧ3 получить в выходном сигнале фазовый шум, так как по моим представлениям можно на ЛПТ генерировать сигнал с точностью кварцевого тактового генератора без всяких дополнительных аппаратных примочек. Вот "доверие" к авторам этой ЧПУ и порождает неуверенность, и подозрение о каких-то "подводных камнях".


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: DMA на шине ISA
СообщениеДобавлено: Чт июл 20, 2017 01:52:59 
Друг Кота

Карма: 45
Зарегистрирован: Вт фев 21, 2012 14:51:55
Сообщений: 4898
Откуда: Начинающий
Рейтинг сообщения: 0
Я вам открою "жуткую тайну" : ядро процессора вообще ни о чём "не информировано" ! Оно только берёт код и выполняет.

( то, что на какой то там шине по адресу ,например 03Fh ,подключен какой то там порт - есмь токмо условность, чтоб разным программам одинаково было например посылать на печать какие то байтики, и об этой условности знают программисты, но никак не ядро )

Ежели Вам хочется получить надёжную систему, реагирующую в реальном времени и управляющую в реальном времени, то это можно сделать даже на весьма медленных и "древних" процессорах ,хоть даже на тактовой в 500килоГерц ,но ( ! ) при условии, что не тратится время ни на прерывания ни на переключения контекста.
С "продвинутыми" и быстрыми процессорами ,оставляя многозадачность, тоже можно , но с обязательным переключением на ентот критически важный процесс строго по таймеру с наивысшим приоритетом с запретом прерываний в тайм-слоте ентого самого критически важного процесса . И ,естественно, применение ассемблера sело облегчает.

_________________
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: DMA на шине ISA
СообщениеДобавлено: Чт июл 20, 2017 05:15:42 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 2
Зарегистрирован: Чт фев 19, 2015 13:41:04
Сообщений: 172
Рейтинг сообщения: 0
Когда я говорил о "Мало информированности" подразумевается, что устройства, процессор и ДМА прикрученный к ЛПТ ни в какой степени не тормозят функции друг друга.
А вот статья на русском
Вложение:
2005_08_110.pdf [199.84 KiB]
Скачиваний: 36
где приведены рассуждения о шинах. Что интересно противопоставляются стратегии Multi-master bus с программным распределение полосы пропускания и с аппаратным арбитражем. Вот для той-же PCI арбитраж неясен мне, кой где в BIOS есть упоминания. Но в целом, для скорости ISA это не так актуально, все равно никто не сумеет помешать и, как Вы правильно заметили, достаточно знать как программируется i8237. Что касается прерываний и переключения контекста, это тоже никаким образом не может повлиять на арбитраж в интересах ISA, в том числе и прерывания ISA. Так мне кажется.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 16 ] 



Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

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


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y