Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет chistyakov ([info]chistyakov)
@ 2005-06-11 16:11:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Прежде, чем именовать себя программистом, надо знать, что такое ЭВМ
Стала ясной причина научно-технического невежества "программистов".

Оказывается, они не знают, что такое ЭВМ. Что для неё характерно? Что именно отличает ЭВМ от, например, термореле утюга? Почему программируемая логическая матрица (ПЛИС -- программируемая логическая интегральная схема, "плиска") не является ЭВМ, а самый захудалый микропроцессор является?

Между тем, это знание представляется очень важным. Особенно, когда мы начинаем говорить о всяких неестественных для ЭВМ языках, об объектном и ещё чёрт-те знает каком программировании.

В приступе педагогической щедрости формулирую единственный существенный признак ЭВМ:

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

Это ВСЁ! И все чудеса, связанные с ЭВМ, проистекают из этого существенного признака и без него невозможны.

Остальное, включая даже прерывания, уже подробности. ЭВМ без прерываний -- тоже ЭВМ.

Теперь можно смело садиться программировать. Без мистики и фанатизма.
Бог в помощь, господа программисты! Знание -- сила.

Носителей идеологий "виртуальных машин" просят не беспокоиться. Все места заняты.

{+}


(Читать комментарии) - (Добавить комментарий)

А я вот...
[info]levsha@lj
2005-06-11 09:58 (ссылка)
работаю с такой фиговиной как PLC. Куды ее отнесть?

(Ответить) (Ветвь дискуссии)

А что это, PLC?
[info]ex_chistyak@lj
2005-06-11 10:16 (ссылка)
Плиска, что ли? Я плиски именую устройствами жёсткой логики. Хотя их можно перегпрограммировать. В смысле поменять внутреннюю схему.

Проверьте по определению:)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]levsha@lj
2005-06-11 10:47 (ссылка)
Programmable Logical Controller(s). Применяются главным образом в промавтоматизации. Такой себе ящик, к нему подключаются датчики, исполнительные механизмы, операторские терминалы и по коммуникациям -- писюги и/или другие контроллеры. Входы: по необходимости дискретные и/или аналоговые. Имеет сколько-то памяти для программы и данных, флешку для скидывания данных в случае экстренного отключения. У большинства (кроме специализированных самоделов и самых маленьких и простых моделей) модульная структура: модули расширения ввода/вывода, памяти, управления специфическими объектами, обсчитывания всякой чистой логики.

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

(Ответить) (Уровень выше) (Ветвь дискуссии)

Это ЭВМ. Однозначно
[info]ex_chistyak@lj
2005-06-11 11:18 (ссылка)
Может быть, даже несколько ЭВМ. Скорее всего несколько. Раз есть программа, исполняемая(!) последовательно, то там есть и ЭВМ.

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

{+}

(Ответить) (Уровень выше) (Ветвь дискуссии)

Ага.
[info]levsha@lj
2005-06-11 11:25 (ссылка)
А внутре у ней неонка, ага. Т.е. ЭВМ там есть, и не одна (процессоров точно не один, и от разных производителей к тому же), но мы сильно глубоко не копали (фирма гарантирует надежность железа и фирмваре; ОС там закрытая и проч). Я просто хотел сказать, что ваше определение ЭВМ всякие многозадачные расширения вроде как исключает. Ну, или не принимает в рассмотрение как метасистему над ЭВМ.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Ага.
[info]ex_chistyak@lj
2005-06-11 11:48 (ссылка)
Угу. ЭВМ последовательна принципиально. Бывает много вместе работающих ЭВМ. Бывает, что они ещё и на одном кристалле. Ну, и что, правда?

(Ответить) (Уровень выше)

Re: Это ЭВМ. Однозначно
[info]potan@lj
2005-06-14 07:22 (ссылка)
А как быть с архитектурами, где один процессор распределяет задания, а несколько их выполняют. Это одна ЭВМ или несколько?

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Это ЭВМ. Однозначно
[info]dtmf_1@lj
2005-07-04 06:36 (ссылка)
Это уже кластер:)))))))

(Ответить) (Уровень выше)

А это смотря
[info]psergant@lj
2005-06-11 10:30 (ссылка)
что Вы в нее грузите. Мы, например, помимо жесткой логики (жестких вычислителей) грузим и структуры и DSP, и управляющие процессоры. А есть матрицы, где уже на кристалле размещены ядра процессоров - 32 бит голдфайер, например, или 68000.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Тогда плиска становится ЭВМ
[info]ex_chistyak@lj
2005-06-11 10:43 (ссылка)
Если там есть процессор, способный выполнять заложенную в памяти программу, команда за командой...

(Ответить) (Уровень выше) (Ветвь дискуссии)

Конечно, становится,
[info]psergant@lj
2005-06-11 10:57 (ссылка)
но только частично. Мы это называем вычислительной системой - там полно как параллельных вычислителей - например, цифровые фильтры, которые выполняют всего одно действие с последовательностью данных, так и последовательные вычислители, действующие по загружаемой в память программе. Но это один из вариантов - максимально толстый. Это внедрение процессоров в матрицы. Есть еще подход - на кристалл контроллера - AVR навешивается логика ПЛИС. Это так называемая SoC система на кристалле. Думаю, где-то они встретятся.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Конечно, становится,
[info]ex_chistyak@lj
2005-06-11 11:34 (ссылка)
Это у Вас там несколько ЭВМ с внешними (по отношению к архитектуре ЭВМ, а не к её корпусу:)жёстким устройствами.

>...цифровые фильтры, которые выполняют всего одно действие с последовательностью данных

А что за действие? Вопрос не связан с темой:).

(Ответить) (Уровень выше) (Ветвь дискуссии)

Совершенно примитивное.
[info]psergant@lj
2005-06-11 14:07 (ссылка)
Y:=Σ(k(i)*X(i))
выполняемое одновременно по всем i.


(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Совершенно примитивное.
[info]ex_chistyak@lj
2005-06-11 15:25 (ссылка)
Не совсем понял. А Y -- это тоже Y(i)? Или сумма произведений k(i)*X(*)? Каков высший смысл такой фильтрации?

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Совершенно примитивное.
[info]psergant@lj
2005-06-11 15:53 (ссылка)
Это основная операция фильтра с конечной импульсной характеристикой. Алгоритм такой -
1. получаем одно число из внешнего устройства и задвигаем его в регистр сдвига, каждая ячейка которого может хранить многоразрядное число. Ячеек в таком регистре может быть от двух до нескольких сотен, в зависимости от задачи.
2. Умножаем число X(i) в каждой ячейке регистра (i) на некий коэффициент k(i), жестко связанный с номером ячейки регистра.
3. суммируем все произведения в одно число и выдаем наружу.
Все эти операции делаются за один такт для неочень скоростных устройств (тут проще применисть сигнальный процессор) или с помощью конвейера, где каждое устройство выполняет только одну функцию, в том порядке, в котором я перечислил.
Общий смысл этого действия следующий - любой фильтр имеет т.н. импульсную характеристику - отклик на воздействие дельта-импульсом. Если мы представим входной сигнал, как непрерывную последовательность дельта-импульсов с разной амплитудой (Котельников), то выходной сигнал будет равен сумме откликов на каждый такой импульс. Так вот, коэффициенты k(i) и есть записанная импульсная характеристика фильтра.
Вообще, функция Y:=Σ(k(i)*X(i)) это краеугольный камень всей цифровой обработки сигналов. С помощью этой же вункции вычисляется и одно значение корелляционной функции сигнала, записанного в регистр сдвига и опорного сигнала, представленного последовательностью коэффициентов.
Ничего сверхъестественного.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Совершенно примитивное.
[info]ex_chistyak@lj
2005-06-11 16:20 (ссылка)
(краснея) Значок суммы поперву не разглядел. Я вообще-то РТФ МЭИ заканчивал...
Спасибо.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Прошу прощения.
[info]psergant@lj
2005-06-11 16:35 (ссылка)
Привычка к проповедям сработала. У нас те, кто занимается автоматическим управлением, не хотят признавать что управление - то же цифровая! обработка! сигналов! Что есть ересь:), ибо аналоговых систем уже нету.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Прошу прощения.
[info]ex_chistyak@lj
2005-06-11 17:10 (ссылка)
Я управление и измерение не разделяю. Для меня это одна и та же наука. А аналога да, уже практически нету нигде. У нас в комплексе телевизионный канал аналоговый только остался. Но я не хочу его на цифровой менять, потому что аналоговый оказывается энергетически выгоднее. Ну, конечно, датчики некоторые на борту аналоговые по своему принципу действия, но их сигналы оцифровываются не далее, чем в 1 см от датчика:).

(Ответить) (Уровень выше) (Ветвь дискуссии)

Завидно мне.
[info]psergant@lj
2005-06-11 17:21 (ссылка)
Мы-то, по основной специальности (та стойка, о которой я говорил, это, можно сказать, халтура - подработка во славу рыночной экономики) нам приходится иметь дело с железками, которые разработали наши предшественники, в те времена, когда цифровой обработки не было. Поэтому датчики находятся дальше, чем хотелось бы, но качество их исполнения и работы изумляет.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Завидно мне.
[info]ex_chistyak@lj
2005-06-11 18:10 (ссылка)
Понятно. Вы, как я понял, работаете на большой советской фирме. Там с новизной туго теперь стало. Потому что денег много надо. Нам-то легче. Не так уж всё и дорого, на самом-то деле, и спрашивать разрешения ни у кого не надо.
А советскую инженерную школу я тоже очень ценю. Я сам родом оттуда.

Ну, спокойной ночи, ложусь. Спишемся ещё. Есть у меня одна мысль по Вашей части.

(Ответить) (Уровень выше)

По первому вопросу.
[info]psergant@lj
2005-06-11 14:19 (ссылка)
Да, несколько. Около десяти штук. Начиная от совсем примитивных - выполненные на PIC12C625 устройстве управления синтезатором частоты и заканчивая парой "Шарков", считающих баллистику.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: По первому вопросу.
[info]ex_chistyak@lj
2005-06-11 15:30 (ссылка)
>...считающих баллистику...

О! Наши пошли! Секрет небось? А то интересно, что это, люблю я такие штучки всякие.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Все это для народного хозяйства.
[info]psergant@lj
2005-06-11 15:59 (ссылка)
Я такие штучки тоже очень люблю.

(Ответить) (Уровень выше)

Мн-э-э...
[info]levsha@lj
2005-06-11 11:45 (ссылка)
Это у вас однокристалльные контроллеры?.. Я не по той части.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: Мн-э-э...
[info]ex_chistyak@lj
2005-06-11 12:08 (ссылка)
Однокристальные микроконтроллеры у меня используются. Несколько штук на каждый ДПЛА. А что значит "не по этой части"?

(Ответить) (Уровень выше) (Ветвь дискуссии)

"Не по той части..."
[info]levsha@lj
2005-06-11 12:11 (ссылка)
потому что они у меня Большие и Многокристалльные. Ну ЭВМ, в общем. PLC просто часто путают с монокристаллками из-за синонимичности -- и то, и другое "контроллер".

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: "Не по той части..."
[info]ex_chistyak@lj
2005-06-11 12:58 (ссылка)
Угу. У Вас там в этой плиске не ЭВМ, а целая система, содержащая много всяких ЭВМ и др. устройств. Что значит, что Вы ей и занимаетесь? Вы её к какой-то задаче приставляете?

Мне такие штуки, как Ваша плиска не нравятся. Не хочется зависеть от каких-то там фирм и их операционных систем и прочей виртуальщины. Я стараюсь делать свою технику из общедоступных элементов, которые не могут исчезнуть. Однокристалки не исчезнут. А исчезнут, так в Минске сделают:) И чтобы можно было своими силами докопаться всегда и во всём до твёрдого аппаратного дна и конкретной машинной команды. Иначе веры в надёжность быть не может.

{+]

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]levsha@lj
2005-06-11 13:59 (ссылка)
Автоматизацией техпроцессов занимаемся. Прокатные станы, разнообразные конвейеры, коксотушильные вагоны и прочая, и прочая. Просто в нашей области лабать на коленке каждый раз решение выходит довольно дорого, а экономия на желзе съедается за счет глюков, которые находятся постфактум в процессе эксплуатации. Соответственно, легче взять за основу хорошо изученный и обкатанный контроллер и его уже совать куд ни попадя. Просто не под всякую задачу это подходит, да и в пиэлсишном семействе не без урода.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ex_chistyak@lj
2005-06-11 15:11 (ссылка)
Я понял. Так у Вас принято. Мне бы всё-таки не хотелось утрачивать "право первородства". Хочу всё знать:). И ни от кого не зависеть.

Кстати, "лабать на коленке" необязательно. Можно просто "свою линию гнуть", развивать свой собственный инструментарий из года в год, а когда возникает нужда, то быстро его применять. Надо только всё время нарабатывать, нарабатывать, нарабатывать заделы. Впрочем, жизнь конкретна.

Вообще-то наши задачи близки. Одна область. Управление объектами реального мира. Это, конечно, не колготки на складе учитывать, чем занимается большинство "программистов".

Кстати, мне представляется, что прокатным станом мог бы управлять совсем простой микроконтроллер. Хотя и стоимость аппаратуры в случае прокатного стана, наверное, просто удельно смешна и незначима, наверное.

{+}

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]rocket_surgeon@lj
2005-06-12 04:22 (ссылка)
Первый настоящий микропроцессор 4004 был продолжением линии каких то полузаказных ASIC для прокатного стана или чего то в этом роде. Насчет программируемой логики: четкая граница между автоматами (statefull machines) и комбинаторными устройствами проходит по критерию наличия/отсутствия обратных связей. Т.е. в общем случае следует классифицировать например ROM с обратными связями и клокингом - как настоящий компьютер. Еще. В предложенном определении компьютера не упоминается ввод/вывод. В таком случае это скорее определение машины Тьюринга, что есть не совсем компьютер.

(Ответить) (Уровень выше)


(Читать комментарии) -