LINUX.ORG.RU
решено ФорумTalks

Программирование без процессора

 теория вычисления


0

1

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

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

Перемещено DoctorSinus из development



Последнее исправление: anonimous (всего исправлений: 1)
Ответ на: комментарий от pylin

Если я правильно понимаю, Фон Неймановская идея основная - это совместное хранение кода и данных, я против этого ничего не имею. Я не совсем понимаю, почему необходим процессор. А то, что вы говорили про энергонезависимую память, я так и не врубился. На компах энергонезависимая память - это хард и тп. Это к вычислительным процессам и архитектуре не имеет отношения. Или о чем Вы?

anonimous
() автор топика
Ответ на: комментарий от sin_a

В 1942 году профессор электротехнической школы Мура Пенсильванского университета Д. Маучли представил проект «Использование быстродействующих электронных устройств для вычислений», положивший начало созданию первой электронной вычислительной машины ENIAC. Около года проект пролежал без движения, пока им не заинтересовалась Баллистическая исследовательская лаборатория армии США. В 1943 году под руководством Д. Маучли и Д. Эккерта были начаты работы по созданию ENIAC, демонстрация состоялась 15 февраля 1946 года. Новая машина имела «впечатляющие» параметры: 18000 электронных ламп, площадь 90 × 15 м2, весила 30 т и потребляла 150 кВт. ENIAC работала с тактовой частотой 100 кГц и выполняла сложение за 0,2 мс, а умножение — за 2,8 мс, что было на три порядка быстрее, чем это могли делать релейные машины. По своей структуре ЭВМ ENIAC напоминала механические вычислительные машины.

pylin ★★★★★
()
Ответ на: комментарий от pylin

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

anonimous
() автор топика
Ответ на: комментарий от sin_a

Ну и как бы логично:есои пытаются возрождать , то в основном от релейной схемы произошел отказ, а часть сообщества данной отрасли пытается возрождать.

pylin ★★★★★
()
Ответ на: комментарий от anonimous

что было на три порядка быстрее, чем это могли делать релейные машины

Harald ★★★★★
()
Ответ на: комментарий от anonimous

смысл применения ламп

что было на три порядка быстрее, чем это могли делать релейные машины

sin_a ★★★★★
()
Ответ на: комментарий от anonimous

Здесь лучше уж более физически подкованных товарищей спрашивать чем меня, но разные источники говорят о том что лампы позволили ускорить вычисления и память увеличить

pylin ★★★★★
()
Ответ на: комментарий от sin_a

Ну может и несерьезные, но просто сам термин нанотехнологии дискредитирован по самое не могу, и ни о чем не говорит без деталей

pylin ★★★★★
()
Последнее исправление: pylin (всего исправлений: 1)

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

anonimous
() автор топика

Не обязательно, но без него мало кто умеет программировать. Например во многих FGPA процессора как такового нет.

PolarFox ★★★★★
()
Ответ на: комментарий от anonimous

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

pylin ★★★★★
()
Ответ на: комментарий от PolarFox

но без него мало кто умеет программировать

Вы имеете в виду, что это трудней, или из-за того, что просто нет привычки у людей к такому стилю?

anonimous
() автор топика
Ответ на: комментарий от anonimous

Имхо и то, и другое. У fgpa узкая область применения, мало кому приходится с ними сталкиваться. Ну и языки для «программирования» fgpa описывают не алгоритм как таковой, а состояние и связи элементов. Это более низкий уровень чем си и асм.

PolarFox ★★★★★
()
Ответ на: комментарий от pylin

Да, нет, в реле время намагничивания сердечника не имеет значения в данном аспекте, там четко разграничено время состояния контактов вторичной цепи, поскольку определенное время они «летят в воздухе», поэтому, тут 100% дискретность.

anonimous
() автор топика
Ответ на: комментарий от PolarFox

Очень интересно, спасибо. Я пожалуй, читану по этой теме. Это, как раз ближе к «истиному» программированию, на мой взгляд, когда ты сам создаешь «архитектуру» и средства работы с ней.

anonimous
() автор топика

Рекомендую к прочтению книгу «Код». Она короткая, но в ней описывается построение процессора на основе реле, что ты упомянул.

blackst0ne ★★★★★
()
Ответ на: комментарий от blackst0ne

Да я и так представляю, примерно, как он строится, мне непонятно было, почему все вычисления на компах построены исключительно через него, хотя в этом нет необходимости. Лишние слои, ИМХО, хотя могу ошибаться.

anonimous
() автор топика
Ответ на: комментарий от anonimous

в цифровых схемах транзисторы работают либо в запертом, либо в режиме насыщения, а время перехода через промежуточное состояние стараются минимизировать

Harald ★★★★★
()
Ответ на: комментарий от Harald

Да, я в курсе, тем не менее, четкого разделения, как в реле, нет.

anonimous
() автор топика
Ответ на: комментарий от anonimous

в реле сила прижатия контактов до момента разрыва меняется в процессе переключения, что влияет на сопротивление контакта, после размыкания между контактами может возникать разряд, контакты образуют конденсатор небольшой ёмкости - так что реле тоже не 100% дискретный девайс :)

Harald ★★★★★
()
Ответ на: комментарий от anonimous

процессором является любой тьюринг-полный вычислитель. если тебе не нужны тьюринг-полные вычисления - то процессор не нужеН, конечно

anonymous
()
Ответ на: комментарий от Harald

Нет, вы не о том. Я уже писал выше, что там есть четкая черта между одним и другим состоянием - зависание в воздухе. Все остальные переходные пр-ссы мы можем отнести к состояниям до и после этого нейтрального состояния. В транзисторах этого нейтрального состояния нет, поэтому противопоставление цифра-аналог, неверно, в принципе.

anonimous
() автор топика
Ответ на: комментарий от anonimous

в цифровой технике от переходных процессов абстрагируются, оперируют только конечными состояниями компонентов схемы

Harald ★★★★★
()
Ответ на: комментарий от anonimous

Я не совсем понимаю, почему необходим процессор.

А как ты будешь исполнять код если нету процессора?

anonymous
()
Ответ на: комментарий от sin_a

А потому что в современных ЭВМ кроме единиц и нулей ничего нет.

Там нет ничего кроме электрических сигналов: 1 - это обозначение наличия сигнала, 0 - обозначение его отсутствия. Цифры - это просто удобные (как считается) названия состояний.

anonimous
() автор топика
Последнее исправление: anonimous (всего исправлений: 1)
Ответ на: комментарий от anonymous

Ну, вот, допустим, есть 2 транзистора, на эмитер 1-го поступает основной сигнал, на базу - сигнал от какого-то источника. коллектор соединен с эммитером 2-го тр-ра. на базу 2-го тр-ра поступает сигнал со 2-го источника, с коллектора пошел сигнал куда-то еще, будем считать, на IO, может индикатор. Если на две базы поступают сигналы одновременно, индикатор загорается. Мы получили вычисление, можно сказать if-else, или and, как посмотреть. Без процессора.

anonimous
() автор топика

Ты всё неправильно понял.

  1. Представь сигнал.
  2. Представь аналоговый сигнал.
  3. Представь преобразователь аналогового сигнала.
  4. Представь параметрический преобразователь аналогового сигнала.
  5. А теперь представь цифровой сигнал.
  6. Представь преобразователь цифрового сигнала.
  7. Параметрический преобразователь цифрового сигнала.

А вот теперь часные случаи того, что ты представил:

  1. Данные.
  2. Звук, VHS.
  3. Аналоговый усилитель с k=const, пассивный полосовой фильтр, constant fraction distriminator.
  4. То же самое, что и п.3 только с ручками.
  5. мп3ogg vorbis файл, тсп пакет, релюхи замыкающие контакты lpt.
  6. двоичный сумматор, двоичный инвертор, цифровой мультиплексор, аппаратный мп3ogg vorbis декодер.
  7. i4004, кр580ик80а, atmega168, broadcom траливали146, philips ухтыжёпт128.

...
PROFIT!

nanoolinux ★★★★
()
Ответ на: комментарий от anonimous

Абсолютно никакого, если мы не говорим об арифметических вычислениях. А ведь мы о них не говорим, не так ли?

Блин. Даю наводящий вопрос: для чего придумали компьютеры?

eagleivg ★★★★★
()

Dataflow, идиот.

А отдельный CPU нужен потому, что память дорогая и медленная.

anonymous
()

Навскидку нашел вот такой релейный вычислитель: http://ru.wikipedia.org/wiki/Z1_(вычислительная_машина). В тексте есть упоминание процессора у этого аппарата. Там же есть ссылка на документ по архитектуре сего чуда.

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

id_september
()
Ответ на: комментарий от anonimous

Обработка информации это, в общем случае, моделирование. А моделирование сводится к числу. Так мы естественным образом нашли некий слой абстракции.

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

А моделирование сводится к числу

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

anonimous
() автор топика
Ответ на: комментарий от anonimous

То что у вас в примерах строится на реле - это автомат, который выполняет какую то свою задачу, другую задачу он выполнить не может. Универсальный набор автоматов, которые могут быть «запрограммированы» в определенную последовательность для решения какой либо задачи - это и есть процессор.

anonymous
()
Ответ на: комментарий от anonymous

Вообще-то любой процессор это тоже банальный конечный автомат. И Тьюринг-полные автоматы могут быть очень даже примитивными (см. Rule 110)

anonymous
()
Ответ на: комментарий от anonimous

Я не спрашивал тебя как реализовать то или иное вычисление, я спросил, как ты без процессора будешь выполнять код. У тебя есть память, в этой памяти закодирована последовательность команд, как ты будешь эту последовательность команд декодировать и исполнять без устройства, которое должно этим заниматься?

anonymous
()
Ответ на: комментарий от anonimous

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

А о моделировании можно говорить как о численном потому, что у нас в ЭВМ оно именно численное. Бывает моделирование физическими моделями в материале, бывает моделирование аналоговое (например аналоговая гидравлическая вычислительная машина), но наше — именно численное.

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

И даже если согласится, что обработку информаци можно свести к числу (что, безусловно не так, ну, да ладно), это опять же не означает, что она есть число.

anonimous
() автор топика
Ответ на: комментарий от anonymous

И Тьюринг-полные автоматы могут быть очень даже примитивными (см. Rule 110)

От этого они не перестают быть процессорами. Вообще, процессор - это реализация универсальной машины тьюринга.

anonymous
()
Ответ на: комментарий от anonymous

Вообще-то любой процессор это тоже банальный конечный автомат.

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.