TS-Conf на ReVerSE-U16

Железо, связанное с TS-Conf

Postby TS-Labs » Fri, 17.02.2017 06:23:48

Чтобы другие ядра не могли брикнуть главное ядро и своих соседей, предлагаю запилить ММУ (в котором прописаны области физ.памяти, выделяемые для каждого ядра), а всем ядрам кроме главного дать ридонли на несвою память.
User avatar
TS-Labs
 
Posts: 5046
Joined: Thu, 26.07.2012 01:29:56

Postby Mor-Da » Fri, 17.02.2017 07:21:16

TS-Labs, объясните недалёкому, какая практическая идея во всём этом.
User avatar
Mor-Da
 
Posts: 300
Joined: Fri, 12.02.2016 07:20:43
Location: Воткинск (родина П.И.Чайковского)

Postby VBI » Fri, 17.02.2017 11:00:22

MVV замечательно. разницы не должно быть
User avatar
VBI
 
Posts: 1883
Joined: Mon, 03.06.2013 09:20:29

Postby TS-Labs » Fri, 17.02.2017 11:03:27

Mor-Da wrote: какая практическая идея во всём этом

А какая практическая идея возиться с компом 40-летней давности?
User avatar
TS-Labs
 
Posts: 5046
Joined: Thu, 26.07.2012 01:29:56

Postby Mor-Da » Fri, 17.02.2017 12:37:33

TS-Labs wrote:А какая практическая идея возиться с компом 40-летней давности?
Я ведь задавал вопрос безо всякой задней мысли, без скрытого смысла и подтекста наносящего неожиданный удар зазевавшемуся. ОК, можно по-простому написать, - что это такое будет? Какая у автор-а(-ов) идея?
User avatar
Mor-Da
 
Posts: 300
Joined: Fri, 12.02.2016 07:20:43
Location: Воткинск (родина П.И.Чайковского)

Postby TS-Labs » Fri, 17.02.2017 12:41:28

Одним словом ответить не получится. Если много неочевидных аспектов.
User avatar
TS-Labs
 
Posts: 5046
Joined: Thu, 26.07.2012 01:29:56

Postby MVV » Fri, 10.03.2017 10:19:45

Удалось подружить два nextZ80@33.3MHz с SDRAM, сейчас прикручиваю графику 640х480 256 цветов. Процессоры работают каждый в своем адресном пространстве, планирую сделать MMU и кеш. Наработки можно будет попробовать применить в ts-conf.
Выложил тестовый конфиг для divGMX на zx-pk.ru
MVV
 
Posts: 473
Joined: Sun, 01.12.2013 22:48:17

Postby VBI » Fri, 10.03.2017 10:35:38

а что значит "каждый в своем адресном пространстве"?
User avatar
VBI
 
Posts: 1883
Joined: Mon, 03.06.2013 09:20:29

Postby TS-Labs » Sun, 12.03.2017 05:09:57

MVV wrote:Удалось подружить два nextZ80@33.3MHz с SDRAM

На каких времянках:
- частота сдрам,
- best/worst кейзы в тактах ожидания ядер для доступа,
- кэш: какой/параметры?
User avatar
TS-Labs
 
Posts: 5046
Joined: Thu, 26.07.2012 01:29:56

Postby MVV » Sun, 19.03.2017 21:27:42

Сейчас пока всё стандартно 640х480@60Hz 8bpp и по простому с палитрой RGBA 1K, SDRAM@100MHz Burst 4 RD/WR=80ns, RFSH=70ns, доступ ядер к SDRAM по приоритету по кругу: GPU-CPU0-GPU-CPU1, кеш для CPU0 и CPU1 по 4 байта на divGMX и 8 на ReVerSE-U16, строки с тегами. Задача была сделать возможным работу некста с SDRAM для конфигурации теста платы с текстовым выводом поверх фотки платы, что собственно и было сделано.

Стало интересно как будет выглядеть графика в 640х480 и будет ли работать, вот что получилось:
20170319_194129.jpg
20170319_194054.jpg

Два окна CPU0 и CPU1 отображаются полупрозрачными поверх для удобства управления и тестирования. Смотрится неплохо, скорости на отрисовку процам хватает, можно портировать игры, изображение стандартное. Всё это конечно ерунда в сравнении с Evo, не пинайте сильно, просто есть интерес научиться чему-то ещё...

В общем можно неспешно переписывать ts-conf, думаю как лучше реализовать аппаратную поддержку спрайтов, хотя сейчас можно и программно их рисовать особо не напрягаясь. Не знаю, на сколько меня хватит одного, чтобы довести начатое...
MVV
 
Posts: 473
Joined: Sun, 01.12.2013 22:48:17

Postby TS-Labs » Mon, 20.03.2017 15:00:53

Но все же, все же... Как некст обращается к сдраме по тактам?
Напомню: данные, которые запрашивает некст под конец 1-го такта, должны стоять на шине уже в начале 2-го.
User avatar
TS-Labs
 
Posts: 5046
Joined: Thu, 26.07.2012 01:29:56

Postby MVV » Mon, 20.03.2017 15:40:42

TS-Labs wrote:Но все же, все же... Как некст обращается к сдраме по тактам?

Некст выставляет на шину запрос типа mreq & wr & address, если это обращение к сдрам и данные есть в кеше, то некст сразу получает их, если промах, то wait до активного nmi/int (используется для ISR, которая может еще храниться в кеше или теневой странице) или пока данные не будут прочитаны из сдрам. В основном некст крутится в кеш странице на 33,3МГц.
MVV
 
Posts: 473
Joined: Sun, 01.12.2013 22:48:17

Postby TS-Labs » Mon, 20.03.2017 16:12:24

MVV wrote:то некст сразу получает их

Вот это "сразу" - это на начало 2-го такта, или 3-го?
Потому что памяти в фпга клоковые, а значит защелкнуть адрес они могут по клоку 2-го такта, а выдать данные могут только на начало 3-го.
User avatar
TS-Labs
 
Posts: 5046
Joined: Thu, 26.07.2012 01:29:56

Postby MVV » Mon, 20.03.2017 16:18:23

TS-Labs wrote:Потому что памяти в фпга клоковые, а значит защелкнуть адрес они могут по клоку 2-го такта, а выдать данные могут только на начало 3-го.

Зависит от клока, который для памяти в фпга может быть в разы больше от клока проца. К примеру клок памяти фпга 100мгц, а проца 33.3мгц. Что тебя так беспокоит то?
MVV
 
Posts: 473
Joined: Sun, 01.12.2013 22:48:17

Postby TS-Labs » Mon, 20.03.2017 16:34:59

Беспокоит меня инженерный интерес.
То есть, ответ - на 2й клок проца уже готовы данные?
User avatar
TS-Labs
 
Posts: 5046
Joined: Thu, 26.07.2012 01:29:56

Postby TS-Labs » Mon, 20.03.2017 16:37:06

И еще вопрос: синтезатор не матюкается, что например на кеш с клоком 100 подаются сигналы с клока 33, а значит гарантированы метастабы на этих входах?
User avatar
TS-Labs
 
Posts: 5046
Joined: Thu, 26.07.2012 01:29:56

Postby MVV » Mon, 20.03.2017 16:49:28

Всего клоков 3 - вга пикселклок 25.0, хдма сериализер 125 и сдрам с процами 100. Условно 33.3 формируется из 100 на сдвиговом регистре разрешения клока.
MVV
 
Posts: 473
Joined: Sun, 01.12.2013 22:48:17

Postby TS-Labs » Mon, 20.03.2017 17:52:48

Т.е. на ядро идет 100, но на вейт (или какой-нить энейбл) подается последовательность 0-1-1 (1-0-0)?
User avatar
TS-Labs
 
Posts: 5046
Joined: Thu, 26.07.2012 01:29:56

Postby MVV » Mon, 20.03.2017 18:03:14

да.
По TSU есть вопросы, т.к. перспектив для улучшения и возможностей для расширения я там не увидел.
MVV
 
Posts: 473
Joined: Sun, 01.12.2013 22:48:17

Postby TS-Labs » Mon, 20.03.2017 19:33:07

MVV wrote:да.

Следовательно, синтез ругается на то, что некст не укладывается в 100. Не так?
MVV wrote:По TSU есть вопросы, т.к. перспектив для улучшения и возможностей для расширения я там не увидел.

Откровенно говоря, сейчас я не хочу там ничего улучшать или расширять. Система достаточно сбалансирована. Ее возможности и так используются хорошо если на 50%.
Но если есть идеи - озвучь.
User avatar
TS-Labs
 
Posts: 5046
Joined: Thu, 26.07.2012 01:29:56

Postby MVV » Mon, 20.03.2017 23:13:31

TS-Labs wrote:Следовательно, синтез ругается на то, что некст не укладывается в 100. Не так?

Он вечно на что-то ругается, работа у него такая.
TS-Labs wrote:сейчас я не хочу там ничего улучшать или расширять.

Согласен, там уже ничего не сделать :)
MVV
 
Posts: 473
Joined: Sun, 01.12.2013 22:48:17

Postby TS-Labs » Tue, 21.03.2017 09:22:17

MVV wrote:Он вечно на что-то ругается, работа у него такая.

Было бы крайне полезно для профессии понимать причину этих матюков.

Слушай, что я подумал. Чего в тсконфе реально не хватает - хорошего, желательно хардварного сюита для отладки.
Что туда может войти:
- карта графики,
- состояние железа,
- возможность изменения состояния проца и периферии (проц то софтовый).
Да, по сути - эмулятор в харде.
Расширенная графика, прозрачность, хостовый контроллер в этом деле очень помогут.
Народ будет пользовать.
User avatar
TS-Labs
 
Posts: 5046
Joined: Thu, 26.07.2012 01:29:56

Postby MVV » Tue, 21.03.2017 14:56:07

TS-Labs wrote:Было бы крайне полезно для профессии понимать причину этих матюков.

Причина понятна и к её решению я подхожу по мере её осознания. Сначала описывается по простому образная идея, и только потом оптимизация и обработка напильником когда всё более-менее начинает работает как мне нужно.
Last edited by MVV on Tue, 19.12.2017 21:37:23, edited 2 times in total.
MVV
 
Posts: 473
Joined: Sun, 01.12.2013 22:48:17

Postby TS-Labs » Tue, 21.03.2017 15:08:53

User avatar
TS-Labs
 
Posts: 5046
Joined: Thu, 26.07.2012 01:29:56

Postby TS-Labs » Tue, 21.03.2017 15:29:45

MVV wrote:Причина мне понятна

Code: Select all
clk33  |------------____________ <- клок некста
mreq   |?????????????----------- <- запрос памяти некста
a[15:0]|???????????????AAAAAAAAA <- адрес некста
clk100 |----____----____----____ <- клок кеша, по которому защелкивается адрес
                       ^^
                       || метастаб


А может быть еще занимательнее:
Code: Select all
clk33  |------------____________ <- клок некста
mreq   |?????????????----------- <- запрос памяти некста
a[15:0]|?????????????????AAAAAAA <- адрес некста
clk100 |----____----____----____ <- клок кеша


Кивни, если понял.
User avatar
TS-Labs
 
Posts: 5046
Joined: Thu, 26.07.2012 01:29:56

PreviousNext

Return to Hardware

Who is online

Users browsing this forum: No registered users and 1 guest

x