Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт мар 29, 2024 05:08

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: обсуждение SEAforth чипа на русском
СообщениеДобавлено: Пн окт 08, 2007 12:03 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
сюда все вопросы по поводу нового процессора Чака Мура, точнее мультипроцессора 8)
ссылочки:
http://www.intellasys.net/
http://www.intellasys.net/news/release. ... Launch.txt

к сожалению, документацию и компилятор и эмулятор можно получить лишь зарегестрировавшись на intellasys, поэтому сразу вопрос, можно ли дать ссылочку на subj за пределами intellasys? (чтобы без регистрации)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: обсуждение SEAforth чипа на русском
СообщениеДобавлено: Пн окт 08, 2007 12:10 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
mOleg писал(а):
сюда все вопросы по поводу нового процессора Чака Мура, точнее мультипроцессора 8)

к сожалению, документацию и компилятор и эмулятор можно получить лишь зарегестрировавшись на intellasys, поэтому сразу вопрос, можно ли дать ссылочку на subj за пределами intellasys? (чтобы без регистрации)


Уже давалась для тех кто не любит регистрироваться:)
http://rapidshare.com/files/51764950/sea.zip.html

P.S. Возможно ссылка еще действует:)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 08, 2007 12:17 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
мне кажется, что самое интересное в SEAfroth-е его масштабируемость.
И мне напоминает TTA архитектуру, с тем отличием, что исполнительные устройства не столь тривиальны, как простой регистр или сумматор 8)
С другой стороны очень удивляет неуправляемость процессоров ядра. То есть, если, врдуг два проца заблокируют друг друга, то можно только перегрузить все. На сколько можно избегать такой взаимной блокировки очень большой вопрос, особенно, если таких ядер будет не 24, как сейчас и не 40, как готовится, а, например 1024 8) сеть процессоров одноранговая, и мне кажется, что это серьезной проблемой может стать. Если бы была возможность хоть одному процессору принудительно перегружать другие, его можно было бы использовать в качестве умного WatchDog таймера 8) а так?

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 08, 2007 14:29 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 229
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
непонятно, даташит (взят на intellasys.net) на seaforth-24A :"Each C18 processor has 64 words of local RAM and 64 words of local ROM..", а в статье 'IntellaSys Introduces 'Scalable Embedded Array Platform'( взята там же) читаю:"- RAM and ROM on each core (512 words each) to break the memory bottleneck" и "- RAM capacity for 2048 instructions; packing four instructions per 18-bit word". где правда, брат? :roll:


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 08, 2007 18:20 
Не в сети

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 380
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.
то, что появится в ближайшем будущем - 64/64


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 09, 2007 10:14 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
mOleg писал(а):
мне кажется, что самое интересное в SEAfroth-е его масштабируемость.

Масштабируемость бывает разная. В данном случае, увеличение количества ядер не ведет к пропорциональному увеличению производительности, поскольку пропускная способность внешней памяти не растет. Сколько бы ни было заявлений "64 слова - это очень много, главное, правильно программировать", под ним лежит здоровенная мина. По сути, команды-то никому и не нужны. Нужны преобразования над данными, именно они являются той самой "полезной нагрузкой" процессора. А как ни крути, это внешние интерфейсы. Кроме того, межпроцессорные линки сделаны только между соседними ядрами, и получается, что добраться от одного края кристалла до другого можно только через цепочку процессоров. Вобщем, тут полезно будет почитать про unified и non-unified memory access, в материалах на эту тему хорошо изложена проблематика многоядерных систем.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 09, 2007 11:20 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 229
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
seaforth-24 имеет по одному ядру на каждую сторону, способному поддерживать высокоскоростной(до 20 Мбит/с) последовательный канал. используя эту особенность, легко организовать реально масштабируемую систему состоящую из произвольного количества чипов seaforth-24.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 09, 2007 12:45 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Эээ... 20 Мбит, или 20 Гбит? 20 Мбит - это не совсем высокоскоростной, это обычный TTL/CMOS, без существенного внимания к печатной плате. И то, по дифференциальным парам таскают и 600 Мбит/с.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 09, 2007 13:57 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 229
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
согласен. проста попутались в мозгу описание ядра N5 (SPI) и ядер N3-N12-N17-N21 ( Serial I/O).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб окт 13, 2007 03:00 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
раз Азамат молчит скажу я.
Появился портированный на СПФ вариант компилятора\эмулятора SEAforth чипа.
лежит здесь: http://www.forth.org.ru/~profit/t18.zip в архиве готовый exe-шник.

решил я с ним побаловаться.

код компилировать для нужного проца следующим образом:
<pre>
0 {node \ где 0 - номер процессора

\ тут не важно что, главное чтобы цикл был длинный
: sample 400 begin dup while 2* repeat ;

node} \ с этим ядром закончили

runs sample \ чтобы при эмуляции исполнение началось с указанного слова

чтобы посмотреть код, советуют следующую последовательность действий:

hex 0 10 .adrs \ 0 - это адрес с которого дизассемблируется код, 10 - длина дампа

go2d \ а дальше запускаем эмулятор.
\ пробелом выбирается исполнение следующей команды ( по крайней мере у меня работает)
\ на экране табличка из 24 процессоров, о каждом сообщается немного( вероятно достаточно) информации
\ нас интересует 0 вой проц:

00 -- номер проца
4 fetch -- адрес команды и исполняемый приметив
a=15555 -- содержимое регистра A (18 бит)
b=155 -- содержимое регистра B ( 9 бит )
p =000 -- текущий указатель интерпретации
r=15555 -- содержимое регистра, хранящего вершину стека возврата
t=15555 -- содержимое вершины стека данных
s=15555 -- содержимое подвершины стека данных

</pre>

все бы хорошо, да только вот следующий пример у меня работать не хочет:
Код:
0 {node
             : resa  dup dup xor a! ;  \ установить регистр А в 0
             : sample resa begin @a+ DROP a@ again ;


выдает ошибку:
+fwd predicted address 0
but we are currently address 2 : test proba ;
^ fwd reference to bad address
что сие означает я пока не понял?
я делаю что-то не так? или в компиляторе проблема?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб окт 13, 2007 06:52 
Не в сети

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 380
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.
под gforth это работает. Видно версия под SPF глючит.
Попробуйте вместо DROP drop написать.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб окт 13, 2007 07:28 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
forther писал(а):
под gforth это работает. Видно версия под SPF глючит.

Попробуйте вместо DROP drop написать.

нет, где-то в другом месте проблема.

потому как
<pre>
0 {node
: resa dup dup xor a! ; \ установить регистр А в 0
: sample resa ;
</pre>
выдает ту же ошибку 8(
причем, если я пишу просто две пустышки - срабатывает...

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб окт 13, 2007 07:36 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
пардон, обманул.

даже так ошибку выдает:

: 1st ;
: 2st 1st ;

8(

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб окт 13, 2007 08:00 
---


Последний раз редактировалось profiT Сб мар 01, 2008 00:21, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб окт 13, 2007 19:31 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
мы пойдем другим путем.
gforth.

удобнее оказалось сделать так:
все файлы папки sea, то есть содержимое папок apps bios t18 слить в одну, затем
пишем sea.bat
<pre>
D:\forth\gforth\gforth.exe SEA\seaforth.f
exit
</pre>

и правим содержимое seaforth.f следующим образом:
<pre>
forth definitions
\ (C) Technology Properties Limited 2006
[defined] cd 0= [IF] [defined] fpath= [IF] : cd fpath= ; [ELSE] abort [THEN] [THEN]
[defined] bold 0= [IF] : bold 27 emit ." [1m" ; [THEN]
[defined] bright 0= [IF] : bright 27 emit ." [41;37m" ; [THEN]
[defined] normal 0= [IF] : normal 27 emit ." [0m" ; [THEN]
[defined] inverse 0= [IF] : inverse 27 emit ." [7m" ; [THEN]
[defined] warning 0= [IF] : warning warnings ; [THEN]
[defined] -opt 0= [IF] : -opt ; [THEN] \ Turn optimization off
[defined] +opt 0= [IF] : +opt ; [THEN] \ Turn optimization on

include t18x.f \ load compiler and simulator
decimal
-1 to sim
include rombios.mf \ 1/24/06 load ROM BIOS code
init
</pre>

без этого вылазят разные ошибки, да и хранить что-либо в папке gforth очень неприятно, уж больно там все загажено 8(
(то ли дело СПФ 8)

после чего sea.bat |enter

8)

проверяем:
proba.f
<pre>
hex
0 {node
\ обнуляем регистр а
: resA ( --> ) dup dup xor a! ;

\ смотрим до скольки будет считаться счетчик ?
: proba ( --> )
resA
begin @a+ drop a@ again ;
node} runs proba

0 10 .adrs \ это содержимое

go2d \ поехали 8)
</pre>


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB