Forth
http://fforum.winglion.ru/

Процессоры GA144
http://fforum.winglion.ru/viewtopic.php?f=3&t=2679
Страница 5 из 6

Автор:  dynamic-wind [ Пн ноя 26, 2012 11:08 ]
Заголовок сообщения:  Re: Процессоры GA144

Написал и прогнал своего Ползуна: обходит 12 узлов по кругу 8)
Код:
0 {node

declare eram
0 org

: send ( port -- )
  b!            \ to port
  3 # for
     @p+ !b unext      \ send 4 insns
  | dup dup xor .
  | a! ' eram # for
  |   \ length
  | @p+ !a+ unext .
  dup dup xor a!
  ' eram # for
     @a+ !b unext |      \ send RAM
  @p+ !b         \ send last insn
  | @p+ push ;
  pop !b         \ send ret.addr
  'warm jump      \ wait for myself...


: r  'r--- # send ;
: d  '-d-- # send ;
: l  '--l- # send ;
: u  '---u # send ;

here =p
: main
r l r
     d u d
r l r
     d u d

: eram      \ addr of the last insn
  main ;

node}

К сожалению, VF не сумеет подставить нужный адрес $23 на месте ' eram :shuffle;

Автор:  forther [ Пн ноя 26, 2012 23:43 ]
Заголовок сообщения:  Re: Процессоры GA144

dynamic-wind писал(а):
К сожалению, VF не сумеет подставить нужный адрес $23 на месте ' eram

В смысле?

Автор:  dynamic-wind [ Вт ноя 27, 2012 11:06 ]
Заголовок сообщения:  Re: Процессоры GA144

' в VF-1.4 не работает для меток, которые еще не определены, а только объявлены declare.
Цитата:
declare a ok
' a jump ok
: a a ; ok
' a jump ok
node} ok
0 3 .adrs
000 LAL8 62143 and @b and @p+
: a
001 21AG 70657 jump 1 a
002 21AG 70657 jump 1 a ok

Ну куда годится такой ассемблер! :)

Автор:  forther [ Вт ноя 27, 2012 21:14 ]
Заголовок сообщения:  Re: Процессоры GA144

dynamic-wind писал(а):
' в VF-1.4 не работает для меток, которые еще не определены, а только объявлены declare.
Цитата:
declare a ok
' a jump ok
: a a ; ok
' a jump ok
node} ok
0 3 .adrs
000 LAL8 62143 and @b and @p+
: a
001 21AG 70657 jump 1 a
002 21AG 70657 jump 1 a ok

Ну куда годится такой ассемблер! :)


попробуйте вместо " ' a jump " " a -; "

Автор:  dynamic-wind [ Ср ноя 28, 2012 09:18 ]
Заголовок сообщения:  Re: Процессоры GA144

Да, это работает. Но я хочу не делать переход, а взять адрес метки как число. И тогда:
Цитата:
declare a ok
' a # . . . ok
: a a ; ok
' a # . . . ok
node} ok
0 5 .adrs
000 8SSS 18866 @p+ . . .
001 LAL8 62143
: a
002 21AS 70658 jump 2 a
003 8SSS 18866 @p+ . . .
004 ALAS 00002

Автор:  diver [ Ср ноя 28, 2012 10:35 ]
Заголовок сообщения:  Re: Процессоры GA144

честно, не очень понял, что требуется :oops:
но, может, пригодится?

Код:
Вычисляемый переход:

: switch ( case -- ) pop + push ;

Пример: @b switch handle0 -; handle1 -; handle2 -; handle3 -; \ table of jump opcodes

: switch2 ( case -- ) pop + a! @a push ;

Пример: @b switch2 handle0 handle1 handle2 handle3 \ table of addresses (call opcode ignored

Автор:  dynamic-wind [ Ср ноя 28, 2012 13:54 ]
Заголовок сообщения:  Re: Процессоры GA144

Конкретно для Ползуна: в начале программы 2 раза требуются литералы, равные адресу последней инструкции :)

Автор:  diver [ Сб янв 05, 2013 15:10 ]
Заголовок сообщения:  Re: Процессоры GA144

вопрос на засыпку:
будет ли интересен материал по GA144, аналогичный http://www.asu.ru/structure/faculties/fiztech_dep/vych/works/seaforth/documents/6601/ ?

Автор:  mOleg [ Сб янв 05, 2013 21:05 ]
Заголовок сообщения:  Re: Процессоры GA144

diver писал(а):
будет ли интересен материал по GA144, аналогичный

конечно будет.

Автор:  diver [ Пт мар 17, 2017 09:27 ]
Заголовок сообщения:  Re: Процессоры GA144

Нежданчик на Хабре - "Лекция Чарльза Мура, создателя Forth: 144-ядерный процессор, зачем? Сложно ли запрограммировать 144 вычислительных ядра?"
:o

https://habrahabr.ru/company/ua-hosting/blog/318144/

Автор:  Hishnik [ Пт мар 17, 2017 11:37 ]
Заголовок сообщения:  Re: Процессоры GA144

Комментарии любопытные. А сам процессор - показательный пример проигнорированного этапа системного моделирования. Да и с кремнием там беда.

Автор:  diver [ Пт мар 17, 2017 20:38 ]
Заголовок сообщения:  Re: Процессоры GA144

ну....нормальный так проц)
+ параллельность и взаимодействие ядер;
+ исполнение инструкций с портов;
+ автосон нерабочих ядер;

- умножения бы не помешало аппаратного;
- среда разработки оооочень никакая, даже по сравнению с SEAforth40;
- памяти бы ядрам чуток по-больше...

Автор:  4myke [ Пт мар 17, 2017 20:49 ]
Заголовок сообщения:  Re: Процессоры GA144

Hishnik писал(а):
Да и с кремнием там беда.

А можно поподробнее, что с кремнием не так?

Автор:  diver [ Пт мар 17, 2017 20:56 ]
Заголовок сообщения:  Re: Процессоры GA144

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

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

Автор:  Hishnik [ Пт мар 17, 2017 23:16 ]
Заголовок сообщения:  Re: Процессоры GA144

diver писал(а):
+ параллельность и взаимодействие ядер;
+ исполнение инструкций с портов;
+ автосон нерабочих ядер;

Параллельность - это норма для такой вещи, обычная решетка процессоров. Автосон есть следствие схемотехники, когда отсутствие переключательной активности не дает потребления.
diver писал(а):
- умножения бы не помешало аппаратного;
- среда разработки оооочень никакая, даже по сравнению с SEAforth40;
- памяти бы ядрам чуток по-больше...

Умножитель вообще очень большой как таковой. Умножение по схеме сдвиг-сложение меньше, но работает за N тактов. Память тоже объективно большая. Вопрос именно в том, что погнавшись за числом ядер и "форт-слов в секунду", были убраны большие по площади компоненты, которые и позволили запихнуть на кристалл много, но бестолкового. В итоге может оказаться так, что на другое ядро переносить часть вычислений попросту придется, а не получится естественным образом вследствие запланированного перераспределения нагрузки.

4myke писал(а):
А можно поподробнее, что с кремнием не так?


Кремний мне напомнил байку еще времен СССР. Один умелец все время просил у электронщиков схему телевизора с определенной моделью кинескопа, хотя в электронике не сильно разбирался. Наконец ему дали, просто чтобы отстал. Через некоторое время зашли в гости и ахнули - на стену был приколочен большой лист фанеры. А к листу на гвоздиках, причем строго в порядке расположения на схеме, висели компоненты. Соединенные проводами опять-таки в соответствии со схемой, со всеми пересечениями, прямыми углами, и прочим. Что интересно, это чудо работало!

Так вот Мур именно так и поступил. Взял кремний и "нарисовал" в своем OKAD транзисторы по учебнику. Когда я спрашивал мнение топологов по SEAForth, они просто головами крутили. Неимоверно наивная технологическая дикость. Огромная часть трудоемкости в топологии - design rules check. В OKAD этого просто нет как класса. Спору нет, даже печатную плату можно нарисовать без всякого анализа, просто соединив компоненты согласно схеме. Но заработает ли такое? Любой мало-мальски грамотный инженер проведет линии питания потолще, проследит за подключением земли, мощные шумящие компоненты вынесет подальше, поставит конденсаторы поближе к выводам микросхем и т.д. На кремнии за всем этим следит большой набор инструментов проектирования, и гордиться тем, что OKAD такой маленький, а "все умеет" - попросту демонстрировать дремучее невежество.

Во время первых анонсов SEAForth упоминалась частота в 1 ГГц. После выпуска оказалось 560 - 620 МГц, с наличием зависимости от температуры. Это именно оно и есть - от того, что Мур не знал про какие-то объективные физические процессы в кремнии, они на характеристики чипа влиять не перестали :)

Страница 5 из 6 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/