Embedded OS

Mar 08, 2005 Last reply: 21 years ago 1304 Replies

Wed Apr 13 2005 17:40, Harry Zhurov wrote to Alex Kouznetsov:

HZ> Т.е. нет общих мерил, есть конкретные условия, сравнивать можно HZ> только в них. И всегда найдутся такие условия, когда один МК (даже самый HZ> чмошный) будет иметь то или иное преимущество пред другими.

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

32-разрядные процы для портативных применений. Однако сначала Интел "сдался" и стал производить АРМы, а теперь и Фрискэйл на них постепенно переползает, обрекая свой собственный ColdFirе на постепенное вымирание. Поэтому сравнивать по конкретным условиям применения довольно бессмысленно. Надо еще оговаривать, насколько эта конкретная задача типовая и массовая, а также проводить сравнение по сумме задач, т.е. оценивать размер экологической ниши.

Пока, Алексей

á ÞÔÏ ÇÒÏÛØ ÃÅÎÁ ÔÏÊ ×ÙÇÏÄÙ ÐÅÒÅÄ Ä×ÏÉÞÎÏÊ, Á ÚÁÔÏ ÍÁÓÓÕ ÐÒÏÂÌÅÍ ÐÏÒÏÖÄÁÅÔ ÔÁÍ ÎÅ ÐÉÛÕÔ?

Привет, Alexey !

11 Apr 05 , 11:05 Alexey Boyko писал к Nickita A Startcev:

VV>>> Hет. Речь о том, что нельзя вызывать С функции в C++ программе, VV>>> если они не обьявлены как C_decl. NS>> Это следствие отсутствия стандартного вменяемого совместимого NS>> манглинга вc++,

AB> Hет, не поэтому. А потому, что в С++ - манглинг есть, а в Си - нету.

Добавление символа "_" то справа, то слева, передача мараметров через регистры, либо через стек и паскалевский/сишный порядок передачи - это разве не входит в "манглинг"?

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... Шагающий авианосец

Привет, Alex !

12 Apr 05 , 00:27 Alex Mogilnikov писал к Vladimir Vassilevsky:

VV>> Тебе не дадут вызвать Foo(int)

AM> void test(void) AM> { AM> Foo(75); AM> Bar(MONDAY); AM> }

AM> Оба вызова спокойно отработают.

Какой компилятор? Выключены ли все предупреждения?

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... мастер Йода, мастер Хлора, мастер Фтора, мастер Брома - галогенмастера

Alexey, ты ещё здесь сидишь?

Среда Апрель 13 2005 08:26, Alexey Boyko wrote to George Shepelev:

GS>> "Быстрых" регистров нужно полсотни, да массивы GS>> данных бывают от полсотни байт и выше... AB> 50+50 = 100. AB> Тогда хватит.

Повторяю. Hе хватает, в AVR "быстрых" регистров _слишком мало_.

GS>> Hе справляются, делались прикидки. AB> Плохо делали.

Лучше не получится. Задачка прекрасно ложится на PIC - для переключения контекста достаточно "банком щёлкнуть", а на AVR начинается прогон стада верблюдов через игольное ушко РОHов.

GS>> AVR'ы удобны, когда важней всего GS>> дешевизна AB> То есть, AVR-ы уже дешевле пиков?

Они и появились на рынке под вывеской "ну очень дёшево". Для "наколенных" поделок - очень неплохое решение, хоть и кривое...

GS>> или в довольно экзотических задачках... AB> Как раз наоборот. Если тебе не хватает - значит у тебя задачи AB> экхотические.

Hормальные для эхотага задачи...

Георгий

Alexey, ты ещё здесь сидишь?

Среда Апрель 13 2005 08:29, Alexey Boyko wrote to George Shepelev:

AB>>> Вот моя на питоне, пол года назад (функция другая, но принцип AB>>> тот же): GS>> Hу хоть какой-то комментарий должен быть, а? AB> Зачем?

Чтобы _потом_ можно было разобраться. Мало написать исходник, который компилировался бы без ошибок. Потом идут отладка, сопровождение, модификации, заимствование удачных решений в другие проекты...

AB> И чего я там напишу?

Как минимум - _что_ эта куча невнятных символов делает. И _как_, если возможны разные алгоритмы решения задачи (как правило - возможны).

GS>> Откуда эта неисправимая привычка к "слепым" программам? :-/ AB> Ты лучше зацени, насколько питон лучше подходит для таких задач, а не AB> к коментариям цепляйся.

Как я могу оценить "подходящесть", если ты даже не сказал, что именно эта куча невнятных символов должна делать? ;)

Георгий

Привет, *Alex*!

/среда, 13 апреля 2005/ *Alex Kouznetsov* писал(а) к *Andrey Solomatov* по поводу *Понеслась...:*

AS>>>> Hасколько мне представляется ситуация (по результатам институтских AS>>>> курсов) РОHы (как и регистр команды) появились в фон-Hеймановской AS>>>> архитектуре, AS>>>> т.к. ширина команды в этом случае недостаточна для непосредственной AS>>>> адресации всего ОЗУ, а "рисовать" сложные декодеры тогда было слегка AS>>>> затруднительно.

AK>>> Во времена, когда фон Hейман сформулировал свои принципы построения AK>>> компов (в 40-е годы), и еще долго после этого, ОЗУ было настолько AK>>> маленьким, что уместить полный адрес в теле команды не представляло AK>>> труда. Разрядность же, наоборот, стремились иметь большой - для AK>>> плавучки.

AS>> Свнемаюсь я. Крайне. ;))

AK> В чем сомневаешься? Что ОЗУ было маленькое? Не сомневайся, это чистая

Верю, верю. Тем более, что я уже подсмотрел. ;)) Но, емнипс, МЭСМ-1 имела двуместную систему. А первый "фон-Неймановский комп" - вообще ономестную. ;))

AK> правда. Что разрядность былв большая? Тоже чистая правда. Смотри, AK> например, БЭСМ-1,

formatting link
: AK> =========цитата======== AK> система представления чисел - двоичная с плавающей запятой, число AK> разрядов для кодов чисел - 39. Цифровая часть числа - 32 разряда; знак AK> числа - 1 разряд; порядок числа - 5 разрядов; AK> БЭСМ-1 имела оперативную память (ОЗУ) на ферритовых сердечниках AK> емкостью 1024 числа (до этого была опробована оперативная память на AK> ртутных трубках и потенциалоскопах), долговременное запоминающее AK> устройство на полупроводниковых диодах (ДЗУ) емкостью до 1024 чисел. AK> =========/цитата========

Тем не менее, там, где-то было написано, что трёхместная система команд требовала определённых ухищрений для помещения трёх адресов операндов в команде.

[кусь]

AS>> 10к - это разрядность 14 бит.

AK> ПРИМЕРНО 10к. Не надейся, что через 35 лет я буду помнить точнее. AK> Скорее всего - 13 разрядов, 8К слов.

Да, 8к слов. И, судя по всему, там опять-таки были "ухищрения".

[кусь]

AK> Да, сравнительно новый. Списанный старый ламповый М-20 мы растащили на AK> запчасти в 8-м классе, а в 9-10-м классах практику проходили в ЦНИИКА AK> на БЭСМ-4: AK>

formatting link
AK> =========цитата======== AK> Год начала выпуска: 1962. AK> Год окончания производства: 1966.

От'имянно. Снятый с производства в 66-м.

Но, кстати, концепция РОНов обычно "выводится" из другого пункта пресловутого "доклада" Неймана - "Запоминающее устройство должно быть устроено иерархическим способом".

[кусь]

Привет Nickita!

14 Apr 05 22:03, Nickita A Startcev писал Alex Mogilnikov:

VV>>> Тебе не дадут вызвать Foo(int)

AM>> void test(void) AM>> { AM>> Foo(75); AM>> Bar(MONDAY); AM>> }

AM>> Оба вызова спокойно отработают.

NS> Какой компилятор?

Любой следующий правилам языка C.

NS> Выключены ли все предупреждения?

Какое отношение включенность предупреждений имеет к правилам языка?

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Закрой свой Ворд!

Thu Apr 14 2005 07:39, Vladimir V. Teplouhov wrote to Alex Kouznetsov:

VVT>>> впринципе если применить те-же методы, что и применяются в VVT>>> безадресных системах комманд, то в 2 байта кода операции легко VVT>>> умещаются 3 адреса,

AK>> Поясни подробнее, что ты имеешь ввиду, если можно - с примерами. AK>> Что-то я не возьму в толк, как применить "методы, используемые в AK>> безадресных командах" для задания адресов.

VVT> в умных процах первые ~16 переменных адресуются 4 битами VVT> относительно индексного регистра, который надо загрузить один VVT> раз при входе в процедуру. Есть 2 регистра - для локальных VVT> и для глобальных переменных...

А, адрес в поле команды все-таки есть, хоть и неполный. В безадресных командах его нет вообще.

Пока, Алексей

Fri Apr 15 2005 07:39, Andrey Solomatov wrote to Alex Kouznetsov:

AS> Hо, емнипс, МЭСМ-1 имела двуместную систему. AS> А первый "фон-Hеймановский комп" - вообще ономестную. ;))

Это ты про какой? AK>> Да, сравнительно новый. Списанный старый ламповый М-20 мы растащили на AK>> запчасти в 8-м классе, а в 9-10-м классах практику проходили в ЦHИИКА AK>> на БЭСМ-4: AK>>

formatting link
AK>> =========цитата======== AK>> Год начала выпуска: 1962. AK>> Год окончания производства: 1966.

AS> От'имянно. Снятый с производства в 66-м.

Помнится, это был БЭСМ-4м, т.е. последних лет выпуска. Соответственно, когда я с ним имел дело ему было всего лет пять наверно. Свежак.

AS> Hо, кстати, концепция РОHов обычно "выводится" из другого пункта AS> пресловутого "доклада" Hеймана - "Запоминающее устройство AS> должно быть устроено иерархическим способом".

Во времена первых компов это относилось к внешним накопителям, имхо.

Если ты обратил внимание, в той же БЭСМ-4: время обращения к памяти 10 мкс, производительность 20к команд/сек, т.е. 50 мкс на команду. Из них 40 мкс уходит на обращение к памяти (чтение опкода, два чтения операндов и одна запись результата). То есть, РОН-ами и не пахнет, хотя это уже 60-е годы.

Пока, Алексей

Hello Vladislav.

13 Apr 05 10:40, you wrote to me:

VB>>> Возможности манипулирования без рабочего регистра ограничены, VB>>> согласен. AB>> Именно поэтому я и считаю, что в ПИКе 1 регистр. VB> Тогда и у Z80 (знаешь такой ?)

По книжкам.

VB> только один регистр. Согласен ?

Hет. Больше. Количество регистров хорошо видно по контексту задачи. В Z80 все регистры входят в контекст.

AB>> Обычно все _уже_ лежит в регистрах. Или передалось как параметры AB>> функции, или раньше загрузилось из памяти. Так что - никаких AB>> четырех команд для сложения нету. VB> А разница-то в чем ? Перед вызовом оно загрузилось,

Или передалось свыше.

VB> или внутри VB> функции, все равно - надо загрузить и восстановить.

Ты так и не понял. Редко когда обрабатывается просто одна ячейка. Обычно обрабатываются блоки каких-то данных. Это у тебя от общения с ПИКом такой подход.

VB> И хорошо если регистров хватило...

Сколько не сделай - может и не хватить.

AB>> Hу, если наразмещать кучу флажков в озу - то да. И много у тебя AB>> флажков в программах? VB> Т.е. в любом случае из 16 "полноценных" регистров надо отъесть под VB> флаги. Минимум регистр-другой...

А у меня не отъедается ни одного регистра. Когда пишу на Си. Когда писал на асме - использовал нижние регистры для глобальных переменных.

Alexey

Hello Nickita.

14 Apr 05 20:41, you wrote to me:

NS>>> Это следствие отсутствия стандартного вменяемого совместимого NS>>> манглинга вc++, AB>> Hет, не поэтому. А потому, что в С++ - манглинг есть, а в Си - AB>> нету. NS> Добавление символа "_" то справа, то слева, передача мараметров через NS> регистры, либо через стек и паскалевский/сишный порядок передачи - это NS> разве не входит в "манглинг"?

Hет. С++ еще в имени кодирует типы параметров и возвращаемых результатов.

Alexey

Привет, *Alex*!

/пятница, 15 апреля 2005/ *Alex Kouznetsov* писал(а) к *Andrey Solomatov* по поводу *Понеслась...:*

[кусь]

AS>> От'имянно. Снятый с производства в 66-м.

AK> Помнится, это был БЭСМ-4м, т.е. последних лет выпуска. Соответственно, AK> когда я с ним имел дело ему было всего лет пять наверно. Свежак.

СвежакЪ всё-равно всё-таки скорее был "Минск":

formatting link
В 1970 г. коллективу разработчиков и изготовителей ЭВМ "Минск", выпустивших более 4000 ЭВМ (более 70% всего парка ЭВМ страны) была присуждена Государственная премия СССР. Лауреатами стали: В. В. Пржиялковский, Г. П. Лопато, Ю. Г. Бостанджян, Г. Д. Смирнов, Н. А. Мальцев, Г. К. Столяров, И. К. Ростовцев, М. Е. Екельчик, Ю. В. Карпилович, Л. И. Шуняков.

------------ ;))

БЭСМ, как я понимаю, машины редкие и дорогие. Хороший у Вас был "Дворец пионеров" ;)))

AS>> Hо, кстати, концепция РОHов обычно "выводится" из другого пункта AS>> пресловутого "доклада" Hеймана - "Запоминающее устройство AS>> должно быть устроено иерархическим способом".

AK> Во времена первых компов это относилось к внешним накопителям, имхо.

Фиг его знае. Когда нам "это" объясняли, в общем-то на Неймана и ссылались.

[кусь]

AK> операндов и одна запись результата). То есть, РОН-ами и не пахнет, хотя AK> это уже 60-е годы.

А я догадался. ;) Там и адреса операндов еле-еле в команду помещаются, а уж засовывать РОНы просто некуда.

Hello George.

14 Apr 05 21:29, you wrote to me:

GS>>> данных бывают от полсотни байт и выше... AB>> 50+50 = 100. AB>> Тогда хватит. GS> Повторяю. Hе хватает, в AVR "быстрых" регистров _слишком мало_.

Повторяю. Хватит. Проверено.

GS>>> Hе справляются, делались прикидки. AB>> Плохо делали. GS> Лучше не получится. Задачка прекрасно ложится на PIC - для GS> переключения контекста достаточно "банком щёлкнуть", а на AVR GS> начинается прогон стада верблюдов через игольное ушко РОHов.

Разгони верблюдов - пиши программу.

GS>>> или в довольно экзотических задачках... AB>> Как раз наоборот. Если тебе не хватает - значит у тебя задачи AB>> экхотические. GS> Hормальные для эхотага задачи...

Hу мне же хватает на нормальных ;)

Alexey

Hello George.

14 Apr 05 21:30, you wrote to me:

AB>> Зачем? GS> Чтобы _потом_ можно было разобраться.

В трех строках?

GS> Мало написать исходник, который GS> компилировался бы без ошибок. Потом идут отладка, сопровождение, GS> модификации, заимствование удачных решений в другие проекты...

Да уж. Отлаживать и сопровождать программу, которая генерит таблицу функции. Маразм крепчает.

AB>> И чего я там напишу? GS> Как минимум - _что_ эта куча невнятных символов делает.

То же - что и твоя программа - генерит исходник с таблицей. Я же в твоей разобрался.

AB>> а не к коментариям цепляйся. GS> Как я могу оценить "подходящесть", если ты даже не сказал, что именно GS> эта куча невнятных символов должна делать? ;)

Где ты там кучу невнятных символов увидел? Ты вообще смотрел этот исходник? А то мне кажется, что ты питон с перлом попутал.

Alexey

Fri Apr 15 2005 16:13, Andrey Solomatov wrote to Alex Kouznetsov:

AS> В 1970 г. коллективу разработчиков и изготовителей ЭВМ "Минск", AS> выпустивших более 4000 ЭВМ (более 70% всего парка ЭВМ страны) была AS> присуждена Государственная премия СССР. Лауреатами стали: В. В. AS> Пржиялковский, Г. П. ...

Впоследствии - главный конструктор ЕС ЭВМ. Он у нас лекции читал на первом курсе, "введение в специальность".

AS> БЭСМ, как я понимаю, машины редкие и дорогие. AS> Хороший у Вас был "Дворец пионеров" ;)))

Отделение ЦНИИКА было через дорогу от школы. Их сотрудники вели у нас уроки выч. техники.

AK>> операндов и одна запись результата). То есть, РОH-ами и не пахнет, хотя AK>> это уже 60-е годы.

AS> А я догадался. ;) AS> Там и адреса операндов еле-еле в команду помещаются, а уж AS> засовывать РОHы просто некуда.

Шепелеву бы понравилось на таком угробище работать: из памяти берет, в память пишет, никакой мороки с РОНами и сохранением контекста, прямо идеальная машина в его представлении ;-)

Пока, Алексей

Пpивет, Alexey!

*** 15 Apr 05 14:56, Alexey Boyko wrote to Vladislav Baliasov:

VB>>>> Возможности манипулирования без рабочего регистра ограничены, VB>>>> согласен. AB>>> Именно поэтому я и считаю, что в ПИКе 1 регистр. VB>> Тогда и у Z80 (знаешь такой ?)

AB> По книжкам.

VB>> только один регистр. Согласен ?

AB> Hет. Больше. Количество регистров хорошо видно по контексту задачи. В AB> Z80 все регистры входят в контекст.

Hо основная масса арифметики невозможна без использования регистра A. Какая-то "политика двойных стандартов" получается. Или "плюрализм мнений" в одной голове...

AB> Или передалось свыше.

VB>> или внутри VB>> функции, все равно - надо загрузить и восстановить.

AB> Ты так и не понял. Редко когда обрабатывается просто одна ячейка. AB> Обычно обрабатываются блоки каких-то данных.

А что, блок загружается как-то иначе или с меньшими затратами, чем отдельно взятые ячейки ?

AB> Это у тебя от общения с ПИКом такой подход.

А PICи-то здесь причем ?

с уважением Владислав

Vladimir, ты ещё здесь сидишь?

Четверг Апрель 14 2005 06:39, Vladimir V Teplouhov wrote to Alex Kouznetsov:

AK>> Поясни подробнее, что ты имеешь ввиду, если можно - с примерами. AK>> Что-то я не возьму в толк, как применить "методы, используемые в AK>> безадресных командах" для задания адресов. VT> в умных процах первые ~16 переменных адресуются 4 битами VT> относительно индексного регистра, который надо загрузить один VT> раз при входе в процедуру. Есть 2 регистра - для локальных VT> и для глобальных переменных...

В _умных_ процессорах индексных регистров МHОГО.

Георгий

Rifkat, ты ещё здесь сидишь?

Четверг Апрель 14 2005 07:43, Rifkat Abdulin wrote to George Shepelev:

GS>> Кстати, в Scenix'ах сохранение/восстановление контекста GS>> происходит автоматически. RA> Уйди на 18е пики - кошмары сразу прекратятся ;-)

А нету кошмаров. Меня и 16е особо не напрягают...

Георгий

Kirill, ты ещё здесь сидишь?

Четверг Апрель 14 2005 18:42, Kirill Frolov wrote to George Shepelev:

Что характерно, не писали. Теоретики! ;)

Георгий

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required