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 узлов по кругу Код: 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 |
Автор: | 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 |
честно, не очень понял, что требуется но, может, пригодится? Код: Вычисляемый переход:
: 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 вычислительных ядра?" 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/ |