Идеи-2002

Публичный форум для http://www.nedopc.org/nedopc

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 24014
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Идеи-2002

Post by Shaos »

Перечитывал рассылку nedopc@yahoogroups.com - вспоминал прошлое :)

Про "Мечту":
Shaos wrote: Мы всетки делаем модульный народный компьютер (НарКом)?
Может быть его просто назвать Модульный Компьютер?
Модульютер :)
Блокъютер...
Computing Comunity -> ComCom,CompComu ->
Comunity of Computing -> ComuComp :)))
ЭРМ - Электронная Распределенная Машина...

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

Итак, чтобы собрать подходящую кофигурацию берем, например, два
головных модуля (ядра), в каждом из которых есть оперативная память,
свой локальный флеш-накопитель и проц. Затем подтыкаем к ним клаву
(можно предусмотреть для PS/2 клавы специальный модуль для
подключения ее к шине Распредельютера). Потом берем
модуль-преобразователь Шина/IDE с уже вставленным винтом, затем
подрубаем модуль VGA-монитора... Во как! Что скажем?

Дык как назовем этого многоголового монстра?
Может быть "Мечта" (Mechta), тогда у нас будет:

MechtaUnit - один модуль "Мечты"

MechtaHead - головной MechtaUnit (или ядро - MechtaCore?)

MechtaBus - физическая спецификация нашей шины модулей

MechtaProtocol - протокол для работы в MechtaBus и не только
(например протокол сможет работать и в Ethernet, и в TCP/IP
сетях - главное, чтобы были преобразователи, к которым будут
подключаться свои MechtaBus-ы)

MechtaNet - общее название того, что получается из взаимно
подключенных и общающихся модулей Mechta...

На названии Mechta я не настаиваю, Narkom - тоже ничего :)

"Mechtaputer"

Обоснование:
1) хорошо звучит
2) вызывает положительные ассоциации у русскоязычных юзеров
3) имеет благозвучное англоязычное звучание
4) чем-то неуловимо напоминает Transputer (INMOS)
5) такого слова пока не существует (google говорит 0), так что
любая инфа про него в инете искаться будет просто и легко :)
Про RWOS для РВМ:
Shaos wrote: Основные требования:
- независимость от аппаратной платформы
- наличие языка программирования высокого уровня
- возможность параллельной работы задач

Предлагаемый вариант - существующий язык RW1.
Приложения будут представлять из себя байт-код RW0.

Вариант названия ОС, построенной по этому принципу - RWOS.

Для портирования приложений, необходимо лишь наличие
виртуальной машины для нового процессора. В самом языке
уже существуют способы межпроцессного взаимодействия
(читайте сообщение про RW1 как язык параллельных процессов).

Внутри каждого контроллера (и в листьях, и в ядре/ядрах)
черешки будут пронумерованы с 1. Вот примеры программ:

robot "Server"
author "Shaos"
main()
{
def packet[16]
while(1)
{
// формируем пакет - запрос
packet[0] = 1; // длина пакета
packet[1] = 0; // код запроса
// отправляем по всем черешкам
sendp packet
tim = ... // инициализируем таймаут
while(T<tim)
{
recvp packet[0] // пытаемся получить ответ
if(N) // пакет получен
{
// N - номер черешка, к которому кто-то подключен
}
}
}
}

robot "Client"
author "Shaos"
main()
{
def packet[16]
while(1)
{
recvp packet[0]
if(N) // пришел пакет
{
Type = packet[1]
if(Type==0) // это запрос
{
// формируем инфу о себе в packet

sendp packet N // отправляем туда, откуда пришел запрос
}
}
}
}

Итак, наши параллельно функционирующие роботы в пределах
одной системы буду общаться посредством передачи пакетов
друг-другу. За передачу пакетов во вне будет отвечать
специальный привилегированный робот - часть операционной
системы. Таким образом вот из чего будет состоять RWOS:

Высокий уровень (в байт-коде RW0)

- Модуль опроса листьев (или лучше "ветвей"?)
- Разнообразные сервисные роботы

Нижний уровень (в кодах процессора)

- Виртуальная машина RW0
- Менеджер пакетов
- Интерфейс с BIOS

BIOS (является ли она частью RWOS?)

- Прием-передача пакетов
- Контроль за буферами
- Контроль за коммутаторами
- Самодиагностика

На самом деле мы можем отказаться от термина BIOS и считать
ее функции частью нижнего уровня RWOS. Машиннозависимый код
будет прошит в памяти процессора, что дает нам право считать
и БИОС, и нижний уровень единым целым.

Для привилегированного робота предлагается нумеровать
хардверные черешки отрицательными числами, а эмулируемые
каналы внутренней связи (по идентификаторам роботов-процессов)
положительными. Т.е. например, в системе имеется 7 черешков
и 3 буфера (как на картинке http://shaos.ru/nedopc/rvm/lermax.htm#16_10_02 ).
В черешки можно писать путем отправления пакетов в каналы
-1,-2,-3,-4,-5,-6,-7. Привилегированный системный робот будет
иметь идентификационный номер 1. Все остальные - от 2 и выше.
При получении трех команд sendp packet N, где N<0, все три
буфера будут заняты. Для того, чтобы исключить потерю пакетов
при подаче четвертой и следующих команд sendp, система должна
будет их буферизировать программно. Приостанавливать робота
нельзя, потому что в его коде может встретиться команда recvp,
принимающая пакет из хардверных буферов, и, соответственно,
очищающая место для новых пакетов.

Можно возложить программную буферизацию и на системного робота,
но тогда его нужно разделить на двух независимых роботов -
отправляющего и принимающего, чтобы отправляющего робота можно
было приостанавливать до момента очистки буферов. За этим будет
следить нижний уровень РВОСа. В момент приостановки системного
робота железяка можно зажигать специальный светодиод
"перегрузка" - для визуального контроля процесса ввода-вывода.
Last edited by Shaos on 09 Sep 2005 23:08, edited 1 time in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mac Buster
Retired
Posts: 1474
Joined: 03 Aug 2003 22:37
Location: Moscow

Post by Mac Buster »

И что интересно, оснастив каждый вторичный модуль системой дистанционного управления шасси и приема информации от его датчиков, мы получаем замечательную штуку: вроде как звено мобильных роботов, причем каждый в определенной степени независим (определяется программным обеспечением: захотел - ответил главному, не захотел - не ответил). А обработкой данных и управлением может заниматься главный модуль. Голосую за создание первой модели с 5-ю роботами с мобильным шасси под управлением одного главного робота. Название - "Звезда" (центр и 5 равноудаленных лучей).
Extreme Entertainment
Mac Buster
Retired
Posts: 1474
Joined: 03 Aug 2003 22:37
Location: Moscow

Post by Mac Buster »

Вот пример системы, которую я пытался создать на базе шасси с микроконтроллером, управляемого со станционарного компьютера сначала по проводам, а затем по радиоканалу:

https://web.archive.org/web/20051116215018/https://kurilka.citforum.ru/data/pnp/223600.html

Я, разумеется, до такой степени автоматизации и точности составления карты помещения не дошёл. То, чего добились упомянутые в статье товарищи, просто потрясает :) Берёт белая зависть смешанная с уверенностью "Мы не хуже, а может быть даже лучше!" ;)
Extreme Entertainment
User avatar
Shaos
Admin
Posts: 24014
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Mac Buster wrote:И что интересно, оснастив каждый вторичный модуль системой дистанционного управления шасси и приема информации от его датчиков, мы получаем замечательную штуку: вроде как звено мобильных роботов, причем каждый в определенной степени независим (определяется программным обеспечением: захотел - ответил главному, не захотел - не ответил). А обработкой данных и управлением может заниматься главный модуль. Голосую за создание первой модели с 5-ю роботами с мобильным шасси под управлением одного главного робота. Название - "Звезда" (центр и 5 равноудаленных лучей).
Мне больше нравиться децентрализованная система - по типу "умной пыли"
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mac Buster
Retired
Posts: 1474
Joined: 03 Aug 2003 22:37
Location: Moscow

Post by Mac Buster »

Shaos wrote:Мне больше нравиться децентрализованная система - по типу "умной пыли"
Что-то я никак не уловлю возможности реализации такой системы на ЭРМ :(
Extreme Entertainment
User avatar
Shaos
Admin
Posts: 24014
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Идеи-2002

Post by Shaos »

От этих самых идей-2002 до сейчас прошло уже 20 лет :o

Смотрел сегодня документалочку про искусственный интеллект 1984 года и там показана система хранения данных на бобинах с роботизированной доставкой в Станфордовском университете:
Screenshot from 2022-08-20 17-21-10.png
Так вот от этой допотопной системы до идей-2002 прошло тоже почти 20 лет...

P.S. Это я всё к чему? Время летит оч.быстро, а мы чото ничего революционного тут так ещё и не создали :(
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
oldlazycat
Fanat
Posts: 59
Joined: 18 Nov 2022 06:33
Location: Урюпинск

Re: Идеи-2002

Post by oldlazycat »

Что-то подобное мне тоже придумалось. Берём кросс-плату с шиной ISA 8-бит и втыкиваем всё, что не попадя: CPU, VGA, LAN, RAM/ROM, USB, IDE, Sound...
Я сейчас пытаюсь подружить всё это с процессором Z180.
Two Beer? Or not Two Beer?
User avatar
oldlazycat
Fanat
Posts: 59
Joined: 18 Nov 2022 06:33
Location: Урюпинск

Re: Идеи-2002

Post by oldlazycat »

Ещё вариант: кроссшина ISA 16-bit и на ней процессорные модули на Z280 от 1 до некоторого количества!
Two Beer? Or not Two Beer?
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Идеи-2002

Post by Lavr »

oldlazycat wrote:Берём кросс-плату с шиной ISA 8-бит и втыкиваем всё, что не попадя: CPU, VGA, LAN, RAM/ROM, USB, IDE, Sound...
Вот тут человек взял и всё примерно так и сделал: https://ciernioo.wordpress.com/category/c-z80-computer/
И назвал сиё творение: 8-битный компьютер из всякого хлама. :wink:

iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Идеи-2002

Post by Lavr »

Shaos wrote: Время летит оч.быстро, а мы чото ничего революционного тут так ещё и не создали :(
А это потому что мы каждый делаем своё, а более-менее в компании мы только модель i8080/8085/z80 для Proteus сделали, и то ты нам не помог, а лишь палки в колёса вставлял... :-?
iLavr