реклама на сайте
подробности

 
 
> За какое время у TNKernel выполняется, "interprocess program control flow transfer"?
spf
сообщение Apr 5 2007, 15:16
Сообщение #1


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Имеются такие данные?

Зажгли лампочку и передаем управление ожидающей задаче, лампочку гасит ожидающая, как получит управление. Какое время будет гореть лампочка?

На известной частоте ядра и в одном из режимов.


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
yuri_t
сообщение Apr 7 2007, 11:37
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 163
Регистрация: 24-08-05
Пользователь №: 7 937



Далось же вам это время переключения контекста smile.gif !
Да любая серьезная коммерческая RTOS (VxWorks, pSOS,Nucleus,ThreadX)
имеет время переключения контекста значительно больше чем scmRTOS,
TNKernel, uCOS -II из-за многочисленных самопроверок,повышенной функциональности(те
увеличенному размеру контекста) и т.п.

Высокая скорость переключения контекста в этих 3х маленьких кернелах - это высокая скорость мотоцикла, с которого сняли глушитель и седло для пассажира...
Go to the top of the page
 
+Quote Post
VslavX
сообщение Apr 7 2007, 12:32
Сообщение #3


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(yuri_t @ Apr 7 2007, 11:37) *
Высокая скорость переключения контекста в этих 3х маленьких кернелах - это высокая скорость мотоцикла, с которого сняли глушитель и седло для пассажира...

ИМХО, в тех ембеддед системах, где эти кернелы применимы, нет ни пассажира ни водителя, а есть только сам мотоцикл smile.gif. Можно убрать все несущественные проверки под ключ компиляции (в uCOS это частично сделано) и при желании, перед финалом глушитель и седло выбрасывать smile.gif. Обычно это получается не в ущерб надежности.
Go to the top of the page
 
+Quote Post
VslavX
сообщение Apr 9 2007, 10:33
Сообщение #4


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Еще немного поковырял TNKernel, итого:
- 6.0uS без поддержки THUMB и только режим SUPERVISOR
- 6.2uS c поддержкой THUMB и только режим SUPERVISOR
- 6.4uS c поддержкой THUMB и любые режимы кроме USER/IRQ
Можно было бы еще ускорить, но переносить функции на asm или инлайнить относительно большие системообразующие процедуры (вызываются более чем в двух десятках мест) - "клиника", ИМХО. Завязываю smile.gif
Go to the top of the page
 
+Quote Post
VslavX
сообщение Nov 28 2007, 15:06
Сообщение #5


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(VslavX @ Apr 9 2007, 12:33) *
Еще немного поковырял TNKernel, итого:
- 6.0uS без поддержки THUMB и только режим SUPERVISOR
- 6.2uS c поддержкой THUMB и только режим SUPERVISOR
- 6.4uS c поддержкой THUMB и любые режимы кроме USER/IRQ

Для справки - сделал порт TNKernel на PowerPC - MPC834x - получил 1.45uS при 400МГц. Но контекст PPC больше ARM-овского раза в 3 даже без плавающей точки. С плавающей точкой - каюк - четверть килобайта лопатить надо, вероятно сделаю смену "плавающего контекста" по исключениям.
Interrupt latency тоже интересный - до точки входа в C-процедуру - 370 nS.
Go to the top of the page
 
+Quote Post
dxp
сообщение Nov 29 2007, 05:26
Сообщение #6


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(VslavX @ Nov 28 2007, 21:06) *
Для справки - сделал порт TNKernel на PowerPC - MPC834x - получил 1.45uS при 400МГц. Но контекст PPC больше ARM-овского раза в 3 даже без плавающей точки.

А сколько он в байтах, этот конекст? Ну, примерно.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
VslavX
сообщение Nov 29 2007, 09:08
Сообщение #7


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(dxp @ Nov 29 2007, 07:26) *
А сколько он в байтах, этот конекст? Ну, примерно.

Чистый контекст CPU в стеке:
Для ARM - 64 байта или 16 слов: R0-R12, PC(R15), LR(R14), CPRS
Для PPC - 148 байт или 37 слов: GPR0, GPR2-GPR31, LR, PC, MSR, CR, XER, CTR - 148 байт
Если добавить плавающую точку для PPC - то 32*double + FPSCR - еще +65 слов

Исправил опечатку: для ARM R0-R12 (было R0-R13). SP(R13) в стеке не сохраняется - он заносится в TCB вытесняемой задачи.
Go to the top of the page
 
+Quote Post
dxp
сообщение Nov 29 2007, 13:14
Сообщение #8


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(VslavX @ Nov 29 2007, 15:08) *
Чистый контекст CPU в стеке:
Для ARM - 64 байта или 16 слов: R0-R13, PC(R15), LR(R14), CPRS
Для PPC - 148 байт или 37 слов: GPR0, GPR2-GPR31, LR, PC, MSR, CR, XER, CTR - 148 байт
Если добавить плавающую точку для PPC - то 32*double + FPSCR - еще +65 слов

А PPC может за такт слово в память сложить/взять из памяти? Что-то скорость не очень высокая для 400 МГц, имхо. Вот у Blackfin'а контекст порядка 180 байт, а переключается он за 1.5 мкс при 200 МГц. Правда, тут мы, видимо, сравниваем не чисто переключение контекста, а целиком передачу управления, т.к. там еще планировщик добавляет. Но он по сравнению с такими контекстами, имхо, не должен доминировать по времезатратам.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- spf   За какое время у TNKernel выполняется   Apr 5 2007, 15:16
- - DASM   520 тактов проца от set_event до wait_event (управ...   Apr 5 2007, 17:50
- - VslavX   Цитата(spf @ Apr 5 2007, 15:16) Имеются т...   Apr 5 2007, 18:06
|- - spf   Спасибо за исчерпывающий ответ. В Thumb mode будет...   Apr 6 2007, 06:03
|- - VslavX   Цитата(spf @ Apr 6 2007, 06:03) Было бы и...   Apr 6 2007, 10:10
- - DASM   ну теже самый числа - это радует. У меня LPC48, вр...   Apr 5 2007, 18:11
- - VslavX   Мне тут в привате еще scmRTOS и FreeRTOS посоветов...   Apr 6 2007, 17:37
|- - zltigo   Цитата(VslavX @ Apr 6 2007, 16:37) Мне ту...   Apr 6 2007, 18:22
|- - VslavX   Цитата(zltigo @ Apr 6 2007, 18:22) На Fre...   Apr 6 2007, 18:41
|- - zltigo   Цитата(VslavX @ Apr 6 2007, 17:41) по scm...   Apr 6 2007, 18:58
|- - spf   Цитата(VslavX @ Apr 6 2007, 21:41) А сове...   Apr 6 2007, 20:40
|- - VslavX   Цитата(spf @ Apr 6 2007, 20:40) 3 - в ком...   Apr 6 2007, 23:05
|- - Сергей Борщ   Цитата(VslavX @ Apr 6 2007, 22:05) Хроник...   Apr 10 2007, 13:59
- - DASM   Гы. Отныне появилось третье измерение по мемерению...   Apr 7 2007, 01:12
||- - zltigo   Цитата(VslavX @ Apr 9 2007, 09:33) Завязы...   Apr 9 2007, 11:28
||- - VslavX   Цитата(dxp @ Nov 29 2007, 15:14) А PPC мо...   Nov 29 2007, 19:52
||- - VslavX   "- Василий Иванович, а Ваша майка чернее моей...   Apr 8 2008, 13:37
|- - AlexandrY   В коммерческих осях, вообще проблему скорости реак...   Apr 9 2007, 17:12
- - VslavX   Майка становилась все чернее и чернее Написан пор...   Mar 15 2010, 15:23
|- - Alex B._   Цитата(VslavX @ Mar 15 2010, 18:23) Напис...   Mar 16 2010, 20:20
|- - VslavX   Цитата(Alex B._ @ Mar 16 2010, 22:20) Чем...   Mar 16 2010, 21:49
- - prgjz   Использую TNKernel на LPC2387 - всё прекрасно рабо...   Mar 18 2010, 09:45
|- - VslavX   Цитата(prgjz @ Mar 18 2010, 11:45) Поэтом...   Mar 19 2010, 07:06
- - prgjz   Таймерная задача меня тоже немного удивила... Хотя...   Mar 19 2010, 11:52
- - VslavX   Update: Новые времена - новые контроллеры - новые ...   Feb 12 2013, 18:30


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 04:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01452 секунд с 7
ELECTRONIX ©2004-2016