PDA

Просмотр полной версии : Вопросы о Z84C00 и eZ80



Страницы : 1 [2]

Bolt
06.09.2019, 14:49
Ок, подумаю о FPGA большей ёмкости.

Про параллельную ПЗУ в кроватке вообще не понял.
Параллельных ПЗУ нет. Есть SPI flash, из которой код будет загружаться в DRAM и выполняться оттуда.
SD-карта - опция, можно обойтись без неё.

Сейчас SRAM на процессоре и почти не занимает выводы FPGA. Ставить ещё SRAM для видеопамяти... Что там после BGA-256? 324? 484? :)

Корпусом по-моему пока рано заморачиваться, надо запустить что задумано.

andrews
06.09.2019, 23:21
Корпусом по-моему пока рано заморачиваться, надо запустить что задумано.
для демонстрации серьезных намерений не рано
вот тоже корпус неплохой
https://www.ebay.com/itm/Thin-Mini-Itx-Cases-Usb2-0-2-5-Inch-Hdd-Ssd-Sgcc-Computer-Gaming-Pc-Desktop-A6C2/264455426612?epid=19031664219&hash=item3d92c59234:g:XjwAAOSwjShdcglC
если будет сеть через Ethernet и виртуальным диском(ами),большая spi flash и плата с большой оперативной памятью, то да SD и прочие носители не нужны. Все что надо постоянно уйдет во flash, остальное в сети. Для "тонкого клиента" вполне. Да и на spi можно многое чего повесить. BGA лучше вообще не ставить! Тиражируемость и "выход годных"упадет или тогда ставить на отдельную небольшую плату, которыми обеспечивать всех страждущих и втыкаемую в основную плату.Про 40 лет не шутка. Мур мёртв, проектные нормы 3 нм никто не превзойдет следующие 40 лет. Придется теперь весь софт переписывать на ассемблере :)

LeoN65816
07.09.2019, 00:01
BGA лучше вообще не ставить! Тиражируемость и "выход годных"упадет или тогда ставить на отдельную небольшую плату, которыми обеспечивать всех страждущих и втыкаемую в основную плату.
:v2_thumb: #158 (https://zx-pk.ru/threads/30740-voprosy-o-z84c00-i-ez80.html?p=1023188&viewfull=1#post1023188). :v2_dizzy_punk:

omercury
07.09.2019, 01:09
Про параллельную ПЗУ в кроватке вообще не понял.
Параллельных ПЗУ нет. Есть SPI flash, из которой код будет загружаться в DRAM и выполняться оттуда.
Из 25C/Pxx грузить в ОЗУ средствами ПЛИС, особенно без процессора.


SD-карта - опция, можно обойтись без неё.
Оставить.


Сейчас SRAM на процессоре и почти не занимает выводы FPGA. Ставить ещё SRAM для видеопамяти...
Если мне не изменяет мой склероз, то связь между процессором и всем остальным, включая память, осуществляется через шину адреса/данных, управляющие сигналы (всякие /RD-/WR и прочая) и четыре чипселекта. Вот именно её и надо завести на ПЛИС, и чипселекты. По ним как раз и известно будет, занята память или нет.
Ну и системный разъём с парой /CS, разумеется.


Что там после BGA-256? 324? 484? :)

23х23 - 484.
Сотни 2-3 юзерпинов получится, ещё будешь думать, чем оставшиеся занять, если "слоистости" платы хватит всё это богатство развести... :)



BGA лучше вообще не ставить!

Bolt, ставь, не слушай никого.
TQFP они тоже по началу паять боялись - и ничего, научились.))

Bolt
07.09.2019, 03:01
Про опциональность SD - в смысле и без неё всё запустится, хранить на ней образ ОСи не требуется.

Про чипселекты - примерно так и было в "первой" версии, с SRAM, но с DRAM что-то получается даже проще. Вся сложность в правильном контроллере. Если удастся разрулить 2-3 потока (CPU, video...), то SRAM не нужна.

Системный разъём, на который вывести шины процессора? Нет. Не забываем про трансляцию логических адресов в физические, чем занимается ПЛИС, всё должно идти через неё.

Слоистости хватит, хватило бы денег :)

andrews
07.09.2019, 10:01
Bolt, ставь, не слушай никого.
TQFP они тоже по началу паять боялись - и ничего, научились.))
парни, вот тут уже без шуток! У меня клиент с шариковыми контактами так нахлебался! Там в случае скрытых дефектов в самих контактах картина такая, что при включении все работает, затем контакт то возникает, то исчезает. Поэтому после пайки партия должна проходить проверку или на рентгене, или через jtag контакты должны тестироваться на стенде. Если контактов сотни на чипе, то не каждому производителю заказных плат такое доверить можно. Еще это повлияет на число слоев в плате и понятно, что чем больше площадь платы, тем при 6, 8 и более "слойности" она дороже. Если такой чип один, или два среди общей массы и по площади он(и) менее 10% площади, то переплата будет ощутимой.

Bolt
07.09.2019, 13:51
Человек рассуждает о производстве микросхем, но считает сложным тестирование через JTAG качества пайки контактов.
Не понимаю.

andrews
07.09.2019, 18:55
Человек рассуждает о производстве микросхем, но считает сложным тестирование через JTAG качества пайки контактов.
Не понимаю.тогда выводите на разъем jtag. Еще софтина нужна бесплатная. Причем изменение состояния выводов через контакты с платой еще надо чем-то фиксировать. Это сколько контрольных точек надо разместить на плате, чтобы было куда ткнуться? Не все микросхемы окружения с jtag. Как их выводы перевести в третье состояние? Словом для непрофессионального и неспециализированного производителя сплошные проблемы. Поэтому плата с bga корпусами лучше пусть будет "втыкуемая" с выходным контролем качества пайки от производителя. Или по крайней мере у кого будут проблемы сможет смастерить отдельный макет для тестирования этой платы при наличии программки тестирования через jtag. Все что у меня было в 2002 году, когда я этим занимался в "Мультиком" на ЦАТС D4000 это исходник STAPLа на сях, jtag работающего через LPT. Теперь все jtag адаптеры через usb2.0 и софтина нужна подобающая, а для Win7,8,10 где брать исходники для работы через usb-jtag? Для понимания. Последняя моя инженерная должность была в Элкус в 2007 году. Потом я катился от FAE Элтеха к FSE Компэл и кончаю карьеру весьма странным образом :) в фирмах явно не первой сотни на рынке поставок импортных электронных компонентов. Доходы мои росли, а профессиональный статус падал :) На карьеру я наплевал еще на Светлане МЭ в 2002 году. И правильно сделал, так как видел сущность ее гендира. Мне предлагали высиживать место руководителя группы систем тестирования( если уж совсем прыгнуть выше головы начальника отдела разработок) но вся контора загнулась сразу после выполнения экспортного индийского заказа году в 2005-м, так что я вовремя свалил назад в станционно-телефонный бизнес. Впрочем и его на массовом рынке вскоре убили китайцы. До сего дня остались жить конторы специализирующиеся на специальных видах связи. Клиенты все сплошь супер-пупер высокотехнологические, но я к ним непричастен. Вот все думаю, кто из них первый квантовой связью займется или квантовыми компьютерами. Тогда хоть что-то из продукции 21 века удасться повозить откуда-нибудь из Канады(привет импортозамещение, если наше что-то и будет, то далеко не для всех). А то всё традиционная микроэлектроника и прочие компоненты, хоть и продвинутые, но вся сплошь из века 20.

omercury
09.09.2019, 03:03
Вся сложность в правильном контроллере.
Ну вот правильный контроллер.
УДАЛЕНО
Папка "VGA_and_SDRAM", остальное служебное. В качестве примера подключения.
320х240 @60Гц
буфер экрана вначале, 512х256 слов по 16 бит(128к х16), линейный.
На всякий случай сделал 4 буфера для примера. :)
Разумеется можно изменить.

Если раскомментировать первую строку в файле vgu.v, то получится нелинейная спектрумовская адресация буфера. Дефайн в смысле.

Что в ём ещё интересного?...
Работает в спековской турбе 14МГц.

Bolt
09.09.2019, 21:51
А 50 МГц сможет? :)

Интересно, конечно, посмотреть как другие делают, но писать всё равно буду с нуля.

По DRAM много вопросов, а этот пример хорош в плане "вот так - точно работает", надо только разобраться почему :)

Bolt
10.09.2019, 01:16
Так как меня никто не остановил :) то на плату добавлены:
- чисто символический разъёмчик для WiFi платки ESP-01;
- LCD 320x240 на ILI9325, чтобы можно было заниматься отладкой без VGA монитора;
- 23 GPIO с FPGA для опытов, в том числе с шиной расширений.
Ещё 16 шариков FPGA никуда не выведено, подумал что их не получится вытащить, а переразводить плату не хочу.

omercury
10.09.2019, 19:16
этот пример хорош в плане "вот так - точно работает", надо только разобраться почему :)
Мне казалось, что там всё достаточно прозрачно, по крайней мере недостатка в коментах точно нет. :)



добавлены:
...
- LCD 320x240 на ILI9325, чтобы можно было заниматься отладкой без VGA монитора;
Какой смысл в ПЛИС?
Для экранчика она точно не нужна, вот если бы 7" без контроллера...

Также бросаются в глаза несколько... шероховатостей:

SD на FPGA, потому что у eZ80 SPI максимум 9 МГц, и без DMA. но в то же время
Сейчас SRAM на процессоре и почти не занимает выводы FPGA.
и

Системный разъём, на который вывести шины процессора? Нет. Не забываем про трансляцию логических адресов в физические, чем занимается ПЛИС, всё должно идти через неё., однако же
почти не занимает выводы FPGA.

ничего не понял, если честно.
Через куда подключена FPGA?

Bolt
10.09.2019, 19:45
SRAM подключена на CPU, кроме старших разрядов адреса A14...A23, которые пропущены через FPGA для трансляции и прочих плюшек. От этой идеи отказался, но SRAM на плате пока оставил на всякий случай. Про неё можно вообще забыть, потом уберу.

Есть FPGA, к которой подключены CPU и DRAM. Она же выдаёт VGA. Она же SPI для SD. Она же SPI для ЖК, который временно, чтобы не быть привязанным к настольному монитору. Она же (FPGA) контроллер шины. Общих проводов между всем этим нет, всем рулит FPGA.

Шина для подключения AY, ВВ55, ВИ53, ВГ, IDE, FDD, ЖК с контроллером, АЦП, реле, и хз чего ещё, про это потом пофантазируем отдельно.

7" без контроллера? Легко. Цена этого, гм, "любительского" компьютера вас не смущает? Меня уже да.

omercury
10.09.2019, 22:25
Есть FPGA, к которой подключены CPU и...
Какой шиной подключен ЦПУ к ПЛИС?


Она же (FPGA) контроллер шины.,.....Она же SPI для ЖК, который временно
Ни разу не обязательно, ЖК прекрасно работает на параллельной шине непосредственно от ЦПУ


Общих проводов между всем этим нет
Между слейвами? Да и пёс с ними.
ЧТО между ЦПУ м ФПГА?


7" без контроллера? Легко. Цена этого, гм, "любительского" компьютера вас не смущает?
https://ru.aliexpress.com/item/32693447916.html?spm=a2g0o.productlist.0.0.13f9c48 4lTxFmR&algo_pvid=598c8f17-d9a7-4ae8-8e3e-6198fb7f756e&algo_expid=598c8f17-d9a7-4ae8-8e3e-6198fb7f756e-7&btsid=a6f445f2-6151-422c-8525-9270cf5af88e&ws_ab_test=searchweb0_0,searchweb201602_6,searchwe b201603_52

7' за $11 вместо слепого 2,4' за $5 ?
Ни разу.
Меня больше смущает четырёхслойная плата под 4к ячеечную ПЛИС.

Bolt
10.09.2019, 22:59
Какой шиной подключен ЦПУ к ПЛИС?

ЧТО между ЦПУ м ФПГА?

Ни-че-го. Всё, что есть у CPU, заведено на FPGA. Адрес, данные, управление...


7' за $11 вместо слепого 2,4' за $5 ?
Ни разу.
Меня больше смущает четырёхслойная плата под 4к ячеечную ПЛИС.
Ещё раз: это временно, только на этой опытной плате, чтобы не быть привязанным к монитору. Вот так я хочу. И этот 3,2" у меня уже есть.
А чем смущает 4-слойная плата и 4к ПЛИС? Какую ПЛИС надо поставить на 4 слоя, чтобы не было смущения? И где её покупать?

- - - Добавлено - - -

omercury, раз уж дал ссылку на дисплей, и считаешь что он круче "слепого 2,4", то дай ещё, пожалуйста, ссылку на документацию на этот дисплей, и нарисуй мне схему преобразователя на все те напряжения, которые ему нужны. И посчитай сколько преобразователь стоить будет. Или преобразователь тоже на али купим?

Ссылки на али все кидать могут, а ты это всё ***** запусти, чтобы оно работало.

omercury
10.09.2019, 23:01
Ни-че-го.

Всё, что есть у CPU, заведено на FPGA. Адрес, данные, управление...
Эти две фразы взаимоисключающие... )))

То есть на этой же шине находится и SRAM, и она доступна как со стороны ЦПУ, так и со стороны ПЛИС.
И эту же шину я советую вывести на разъём, чтобы к ней подключать и тот же временный дисплей и всякую прочую периферию, для которой не нужна ПЛИС (ибо в 4к много не запихнёшь).


А чем смущает 4-слойная плата и 4к ПЛИС?
Тем, что в неё мало что влезет.
Особенно, если вынуть процессор.


Какую ПЛИС надо поставить на 4 слоя, чтобы не было смущения?
Вопрос не в том, что ПЛИС мелкая, а в том, что некуда подключить более ёмкую, при необходимости.

Bolt
10.09.2019, 23:24
То есть на этой же шине находится и SRAM, и она доступна как со стороны ЦПУ, так и со стороны ПЛИС.
И эту же шину я советую вывести на разъём, чтобы к ней подключать и тот же временный дисплей и всякую прочую периферию, для которой не нужна ПЛИС (ибо в 4к много не запихнёшь).
На 50 МГц шину, да? Ну ок, только не советуй, а выведи на разъём. И подключи к нему "дисплей и всякую прочую периферию". Мне аж интересно сколько периферии потянет этот процессор.
А если писать так, что контроллер DRAM занимает 600 ячеек из-за 6-разрядных мультиплексоров 67:1, то конечно "в 4к много не запихнёшь".

omercury
10.09.2019, 23:46
дай ещё, пожалуйста, ссылку на документацию на этот дисплей
https://cdn-shop.adafruit.com/datasheets/AT070TN90.pdf


И посчитай сколько преобразователь стоить будет. Или преобразователь тоже на али купим?
Не поверишь...
69972
но +16 и -7 я делал на одном транзисторе, одном дросселе, двух диодах, двух стабилитронах, паре конденсаторов и пятке резисторов (по принципу преобразователя для ВГ93).
Там токи микроамперные.
Подсветку на резисторе от 12в, а 3,3 и так есть.


Ссылки на али все кидать могут, а ты это всё ***** запусти, чтобы оно работало.
// Генератор развёрток для TFT зкрана 800х480 точек

module TFT_800x480
(
input wire cnt_clock, //Вход тактовой
output reg Den = 0, //Data Enable
output reg h_sinc = 1, // Horizontal syncronization
output reg v_sinc = 1, // Vertical syncronization
output wire [9:0] x_addr, // Column address (адрес столбца)
output wire [8:0] y_addr // Row address - ScreenY/8 (адрес строки)
);
//*********************************************
parameter ScreenX = 800; // Размер полезной области экрана по X
parameter ScreenY = 480; // Размер полезной области экрана по Y
parameter FrontPorchX = 210;// Задержка от синхроимпульса до начала строки(16-210-354)40
parameter FrontPorchY = 22; // Задержка от синхроимпульса до начала кадра(7-22-147)13
parameter PulseX = 10; // Длина строчного синхроимпульса(1---40)48
parameter PulseY = 10; // Длина кадрового синхроимпульса(1---20)3
parameter BlankX = 46; // Задержка от конца строки до синхроимпульса по X(46-46-46)
parameter BlankY = 23; // Задержка от конца кадра до синхроимпульса по Y(23-23-23)
//*********************************************
assign x_addr[9:0] = hcnt[9:0]; assign y_addr[8:0] = vcnt[8:0]; // Подключение шины адреса
//*********************************************
/*---------------------------------------------
Видеокарта и синхросигналы
---------------------------------------------*/
reg [10:0] hcnt = 0; reg [9:0] vcnt = 0;
reg h_blank = 0; reg v_blank = 0;
wire D_en = ~(h_blank | v_blank);
//=============================================
reg [1:0] clk_div = 0;
always @(posedge cnt_clock) begin // Задержка на 1.5 такта
{Den, clk_div} <= {clk_div, D_en};
end //always
//=============================================
wire wh_sc1 = (hcnt == ScreenX); // Размер экрана по горизонтали
wire wh_sc4 = (hcnt == ScreenX+FrontPorchX+BlankX); // Конец строки // Конец импульса гашения
wire wv_sc1 = (vcnt == ScreenY); // Размер экрана по вертикали
wire wv_sc4 = (vcnt == ScreenY+FrontPorchY+BlankY); // Конец импульса гашения
//=============================================
always @(posedge cnt_clock) begin
hcnt <= hcnt + 1; // Инкремент счётчика точек в строке
if (wh_sc4) begin // Конец строки
vcnt <= vcnt + 1; // Инкремент счётчика строк
hcnt <= 0;
if (wv_sc4) vcnt <= 0;
end //if
end //always
//=============================================
always @(negedge cnt_clock) begin
if (wh_sc1) begin // Определяем размер экрана по горизонтали
h_blank <= 1; // Установка флага гашения
end else if (wh_sc4) begin // Конец строки
h_blank <= 0; // Конец импульса гашения

if (wv_sc1) begin // Определяем размер экрана по вертикали
v_blank <= 1; // Начало импульса гашения
end else if (wv_sc4) begin
v_blank <= 0; // Конец импульса гашения
end
end //if
end //always
//=============================================
endmodule
//*********************************************


- - - Добавлено - - -


На 50 МГц шину, да? Ну ок, только не советуй, а выведи на разъём. И подключи к нему "дисплей и всякую прочую периферию". Мне аж интересно сколько периферии потянет этот процессор.
А много не надо - либо один дисплей, либо ещё одну ПЛИС.


А если писать так, что контроллер DRAM занимает 600 ячеек из-за 6-разрядных мультиплексоров 67:1, то конечно "в 4к много не запихнёшь".
из них 3(три) буфера пр 128 бит, два по 21, один на 16 и один на 8 = 450 триггеров.
И именно благодаря этому он умеет работать на 14 спектрумовских мегагерцах (причём асинхронно с процессором) при клоке 125МГц, обрабатывает одновременные запросы чтения видеоданных и чтения/записи из/в память и имеет какие-никакие приоритеты, например, при одновременных запросах и чтения и записи, сначала читает из памяти, а потом записывает в неё данные из буфера. Сам без внешней помощи. Для того, собственно, буферы там и стоят.

Bolt
10.09.2019, 23:51
omercury, я вопрос задам, без наезда, правда интересно. Ты когда-нибудь собирал, например, 100 штук одинаковых приборов? Если да - комплектующие на али покупал? Бракованных плат сколько по итогу было?

А то мож я тут лох полный...

omercury
11.09.2019, 00:17
Ты когда-нибудь собирал, например, 100 штук одинаковых приборов?
Нет, я только для себя балуюсь.


комплектующие на али покупал?
Да


Бракованных плат сколько по итогу было?
Платы на Али не заказывал. Сам пока справляюсь. Под размер 0201 тоже.

Из бракованных были пара штук AtTiny26, из >500 примерно заказов.
ПЛИСок пока ни одной бракованной не обнаружил.
А, вот как раз с шилдом из этого поста память запустить не получилось, даже с дублированной проводом землёй.
https://zx-pk.ru/threads/30740-voprosy-o-z84c00-i-ez80.html?p=1025967&viewfull=1#post1025967
В статике все сигналы работают, а в динамике - фиг.

Bolt
11.09.2019, 00:36
В статике все сигналы работают, а в динамике - фиг.
Во-во, так оно и бывает.

Если собирать штучно, то можно подкрутить, подпилить, подпаять. А когда соберёшь хотя бы те самые 100 штук, то "ремонтируя" уже 10-ю по счёту свежесобранную плату как-то задумаешься, может не стоило 500 рублей на 7805 экономить... Дохли они потом, кстати, и в процессе эксплуатации.

У меня есть ещё один каверзный риторический инженерный вопрос. Вот та PDF, на которую ты ссылку дал, от того самого дисплея, или от того, аналогом которого он является? Понимаешь на что я намекаю? ;) И при серийной разработке-сборке можно на этом споткнуться. Будет как с этим шилдом.

omercury
11.09.2019, 00:53
комплектующие на али покупал? Бракованных плат сколько по итогу было?
Пожалуй добавлю...

Комплектуха всё равно вся из Китая.
У всех. Вообще ВСЕХ, кроме, пожалуй, секретной военки.
(Только одна проходила отбраковку, а другая - нет.)
И не потому ,что там дешевле или так хочется, что бы там не говорили политики и бизнесмены.
Причина проста - ресурсы там.
К сожалению песочка для производства микросхем недостаточно, нужны добавки. А они в Китае - 80% известных планетарных запасов редкозёмов в Китае, 95-97% добычи и переработки - в Китае. А к вывозу в виде сырья они запрещены, только в виде продукции. Вот все там и кормятся. :) Матерятся, но ничего поделать с этим не могут...
Можешь поискать, если интересно, в сети эта инфа есть.

Так, что, какая в принципе разница, в котором месте Китая покупать полупроводники?
:)

А знаешь, почему сменилась технология производства TFT-матриц? ;)

- - - Добавлено - - -


Вот та PDF, на которую ты ссылку дал, от того самого дисплея, или от того, аналогом которого он является?
Не факт, но они все совместимы между собой.
Первый такой когда купил, даже книжку вскрыл, чтоб проверить и самому не накосячить при этом. :)

- - - Добавлено - - -


Если собирать штучно, то можно подкрутить, подпилить, подпаять.
Правильно спроектированная цифровая техника в подкручивании и подпиливании не нуждается.
Она работает сразу. Если не работает - значит спроектирована неправильно.

Моё, можно цитировать.
:)

Bolt
11.09.2019, 00:54
Ну вот на этом чат и закончим. Я спать.

omercury
11.09.2019, 01:11
На 50 МГц шину, да?
Если всё-таки надумаешь вывести шину, про согласование цепей не забудь.
Резисторики такие низкоомные на комповых комплектующих помнишь?
Я про них. Хоть и 50МГц всего.
Самый дешевый способ полечить головную боль.

andrews
11.09.2019, 09:44
Да не парьтесь вы с комплектухой! И установочную партию до 30 шт.,здесь в Питере, если это дешевле, чем в ваших городах, соберем. Только лишнее все убирайте, так как это лишние затраты. Пока она вся из Азии, но многие заводы уже из Китая делают ноги.

omercury
11.09.2019, 11:00
Никто, думаю, и не парится.
Я вообще шилд с ЦПУ, SRAM и флешой сделал бы для какой-нибудь из имеющихся девборд.
Для поиграться достаточно.

andrews
11.09.2019, 12:34
Никто, думаю, и не парится.
Я вообще шилд с ЦПУ, SRAM и флешой сделал бы для какой-нибудь из имеющихся девборд.
Для поиграться достаточно.почему поиграться? Лично себе я бы такой комп купил. Даже за $150 без перефирии. Может просто концепция растворилась за время обсуждения, но я помню, что все начиналось с Паскаля для z80 от автора, многозадачной операционки и концепции тонкий клиент+для расширения и экспериментов с железом. Обещано подключение к ЖКИ VGA мониторам и usb2.0 девайсам. Альтернатива "фруктовому ряду" с более простой и прозрачной архитектурой и софтом. В вариациях с "классическим спектрумом". Правда про клавиатуру, джойстики и прочее(Спектрумов) не совсем понятно лично мне. Да, еще попытка обойтись без винчестеров, флоппов, sd-card за счет "облачных дисков". Как развитие идеи могут быть и специализированные облачные сервисы.

Bolt
11.09.2019, 12:53
Обещано [...]Кем обещано? :v2_lol:

andrews
11.09.2019, 13:57
Кем обещано? :v2_lol:судьбой,блин, если звезды встанут

Bolt
16.09.2019, 12:25
Приехала первая часть заказа, в том числе eZ80.
Маркировка "1024" это, так понимаю, дата выпуска.
В интернете можно найти фотографию eZ80 с маркировкой "1810". Кто сказал что снят с производства? :)

andrews
16.09.2019, 21:45
Первые две цифры это год производства, вторые две неделя производства. Я сразу писал, что снять с производства сейчас их не могут, так как они являются процессором для TI 84 CE Plus https://education.ti.com/en/products/calculators/graphing-calculators/ti-84-plus-ce, которые активно продаются.

Bolt
16.09.2019, 22:11
Ядро, но не именно eZ80F9x. Там вроде ASIC, с большой оперативкой и другими примочками.

andrews
16.09.2019, 22:59
Можно купить нерабочий на аукционе в eBay подешевке и распотрошить. А еще лучше с битым дисплеем. Возможно и заказная схема, но ссылку на исходники эмулятора калькулятора я кидал в этом треде. Видимо народ эту работу проделал по схеме девайса( вряд ли среди них были потрошители чипов) Вот прямо сейчас "висят" прямо два таких "на запчасти" но не сказал бы что дешево ( для нас), разве что на авито поискать.

dosikus
17.09.2019, 09:36
omercury, я вопрос задам, без наезда, правда интересно. Ты когда-нибудь собирал, например, 100 штук одинаковых приборов? Если да - комплектующие на али покупал? Бракованных плат сколько по итогу было?

А то мож я тут лох полный...

На али беру только у проверенных временем продавцов или только то что знаю как переделать/восстановить.
К примеру те самые голубые таблетки - с них сдуваю 103ий и ставлю 072 купленный у 100% продавана.
А комплектующие стараюсь брать на LCSC - https://lcsc.com/?gclid=CjwKCAjw5fzrBRASEiwAD2OSV5o1TBbu4QuEyEbSVq0 1GP6_WhgIS0MQJp2YPVQN6jFbvFw67M_bDBoCCa4QAvD_BwE

- - - Добавлено - - -

andrews, привет пропажа...

andrews
17.09.2019, 18:28
На али беру только у проверенных временем продавцов или только то что знаю как переделать/восстановить.
К примеру те самые голубые таблетки - с них сдуваю 103ий и ставлю 072 купленный у 100% продавана.
А комплектующие стараюсь брать на LCSC - https://lcsc.com/?gclid=CjwKCAjw5fzrBRASEiwAD2OSV5o1TBbu4QuEyEbSVq0 1GP6_WhgIS0MQJp2YPVQN6jFbvFw67M_bDBoCCa4QAvD_BwE

- - - Добавлено - - -

andrews, привет пропажа...

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

dosikus
18.09.2019, 12:06
andrews, речь о том что на али зачастили явные контрафакты и перемаркировка.
Здесь все в ажуре, магазин специализированный. Да и с бумажками все в порядке, мне о нем рассказал человек закупающий для производства...

omercury
18.09.2019, 19:54
andrews, речь о том что на али зачастили явные контрафакты и перемаркировка.

Пацаны, может вам и правда настолько тотально не везёт?
70018

Bolt
18.09.2019, 21:43
Режим "в интернете кто-то неправ!" ON.

Часть первая.
Собираешь ты одну плату, на ней 5 микросхем. Покупаешь у поставщика, у которого, допустим, 1% брака. Сколько из 5 микросхем будет неисправных? Не вдаваясь в подробности, округлим до 0,05. То есть у тебя с большой вероятностью будет всё хорошо, даже если ты собираешь 10 плат. Даже если с одной платой плохо - ну и что, купим ещё одну микросхему, она с большой вероятностью будет исправна.

Часть вторая.
Собираешь ты 1000 плат, на них по 5 микросхем. Итого 5000 микросхем. Купив микросхемы у того же поставщика, после монтажа ты легко получаешь 50 дохлых плат, с которыми что-то надо делать. Можно эти платы ремонтировать, а можно просто выбросить, потому что ремонтировать не выгодно. При себестоимости платы со всеми микросхемами 1000 рублей ты понимаешь, что только что 50000 твоих рублей улетело в трубу. Неприятно, правда? При себестоимости платы 10000 рублей это уже полмиллиона рублей. Также обрати внимание, что это 5% брака.

Часть третья.
Ладно, эти 5% списываем в брак и выбрасываем в мусор. Если весь процесс происходит в Китае, то эти 50 плат подбирает китаец, которому жить на что-то надо, поэтому он снимает с плат 250 микросхем и в одном из интернет-магазинов появляется новый продавец с б/у микросхемами. Они ему достались бесплатно, поэтому он их продаёт за четверть цены (вау!). Внимание, вопрос: сколько бракованных микросхем у этого китайца? Ответ: 20%.

Часть четвёртая.
Собираешь ты одну плату, на ней 5 микросхем. Покупаешь паяные микросхемы у этого китайца по хорошей цене, и у тебя всё работает! Ну, может, где-то всё-таки вляпался в полудохлую микросхему, которая в статике работает, а в динамике нет.

Часть пятая.
Собираешь ты 1000 плат, на них по 5 микросхем. Покупаешь у китайца микросхемы по хорошей цене, и после монтажа выходной контроль проходит... (0,8^5)*1000=327 плат. 673 платы "почему-то" не работают. Это в среднем, а в наихудшем случае рабочих плат будет 0 (ноль) штук. Пацан, тебе тотально не повезло ;)

Часть шестая.
Ты восклицаешь "Да ну на' этих китайцев!", и покупаешь микросхемы лотками и катушками у поставщика, у которого как в том анекдоте "вот вам 10000 деталей, и, в отдельном пакетике, 10 штук бракованных".

На этом давай(те) в этой теме закроем обсуждение поставщиков, ценообразования, экономической целесообразности, и т.п.

Режим "в интернете кто-то неправ!" OFF.

andrews
18.09.2019, 22:23
Закрываем, но технология отбраковки немного другая.

DC это как раз ключ к разгадке. Есть связка партнамбер-DC. И всем крупнейшим дистрибьюторам и крупнейшим прямым покупателям данного производства рассылается информация о том, какие партии не прошли жесткий выходной контроль. И это отнюдь не 5%! А берутся произвольным образом катушки с деталями из определенной партии и если хотя бы в одной из них обнаружилась бракованная деталь ВСЯ, Карл, партия исключается из поставки для этой "высшей категории покупателей"! Потому что для конкретного производителя ценность таких клиентов стратегическая! Когда нереализованные остатки таких деталей попадают на "свободный рынок" цена у них в первый момент после этого очень высокая. В дальнейшем многие устраивают распродажи.

Выкидывать отбракованную таким жестким образом продукцию на утилизацию это ощутимые убытки для производителя. Поэтому они делают вот какой трюк. Клиентам менее значимым они посылают описание выявленного дефекта и если это микроконтроллер и в нем не работает по функционалу какой-то бит( режим), то включают его в описание и маркируют соответствующим образом. В других случаях посылают схему для тестирования при входном контроле( то есть перекладывают издержки по тестированию на клиентов) и снижают цену на эту партию. Но в российских реалиях, когда многие производства осуществляют контроль цен комплектующих и начальство "вызывает на ковер" менеджеров по закупкам, при колебаниях цены более, чем ( у всех по разному ) закупщики стараются работать с теми поставщиками, у которых цены стабильны от пробной закупки до снятия позиции ( закрытии проекта ). Поэтому снижение цены производителем никак не сказывается на цене поставщика в России! Риск здесь конечно возникает, но часто просто следует предупреждение закупщику, чтобы спаяли полдюжины комплектов в опытном производстве. Но это только в том случае, когда других партий этих же деталей на рынке нет! Срок производства 8-12 недель далеко не всех устраивает. Для этого надо иметь кучу стабильных проектов и глубоко планируемые закупки( или буферные склады ваших позиций у поставщика). Некоторые даже умудряются иметь по 1 поставщику на каждую деталь. Так было в "Элкусе" в 2004 году. В случае брака поставщик заменяется другим. Словом правильные закупки это отдельная профессия и наука. Разработчик и инженер не должен этим заниматься, если в проекте более 20 позиций.
На выбор есть в СПб более 1000 поставщиков и выбрать из них вполне себе можно, но на это уйдет время. На установочной партии, когда прибыль менее интересна, чем время и стабильная работа продукта, стараться найти поставщиков с минимальной ценой, надежных, с качественной продукцией и не срывающих сроки вообще дохлый номер. Если вам предстоит общаться с роботом, забудьте вообще о своих проблемах. Они будут интересны только вам! В других случаях в любой компании, осуществляющей поставки есть в зависимости от ее размера следующие категории менеджеров. Сверхкрупные компании( более 50 менеджеров, разбитых в группы тем или иным способом) ключевые менеджеры, на запросы которых молниеносно реагируют все вспомогательные службы компании, влияющие как на сроки так и на качество поставляемых деталей. Тогда вам в случае запроса на счет менее чем в $1000 состоящий из 10 и более позиций предстоит убедить менеджера, что у вашей компании умопомрачительные перспективы и через год вы будете закупаться на $30 000 ежеквартально. В противном случае вас перекинут на менеджера, который или находится на испытательном сроке и чаще всего не обладает никакой квалификацией и его запросы обрабатываются вспомогательными службами почти что "в фоне". Или вам предстоит быть "малозначительным клиентом" для менеджера "средней руки". Плюсы работы с "монстрами". Брак заменят без разговоров, деньги вернут по первому требованию( например при непредвиденной задержке в поставке). Когда детали все же поступят, их отправят на склад компании. Кстати, рекомендую брать у таких компаний детали с их локального склада. Брак и фейк там не держат, утилизируют при первой информации от покупателей. Фейковых поставщиков заносят в черный список. Имеют базу клиентов с поставленными деталями чуть ли не с первого года своих поставок. Минусы. У глобальных компаний возникают как правило глобальные проблемы. То есть такие проблемы, которые зависят не от менеджеров, с которыми вы работаете, и которые в состоянии учесть только контролируемые ими риски! А не внезапно возникшие по вине их руководства или вообще ситуации в стране.
Рассмотрим теперь достаточно распространенный после всяких кризисов вариант, что компания молодая, но менеджеры опытные, с большим стажем работы. Здесь независимо от того, каков ваш проект к нему отнесутся значительно более ответственно и внимательно. Просто ключевых клиентов от прежних лет у таких компаний остается как правило "раз-два и обчелся". А вот руководство таких компаний может быть как с опытом, так и без. И основные риски таятся именно здесь. Потому что им не просто хочется, чтобы бизнес рос. Они еще могут находится в фазе "черепашьих бегов". То есть в этом периоде он склонен загибаться от разного рода факторов. Вас может устраивать все в такой компании, но в один печальный момент вы можете оказаться без денег и без деталей. Поэтому выбрать правильного и удачливого поставщика это большая удача. Главный принцип здесь: выбирать под себя. А если вам кто-то кого-то советует, то поинтересуйтесь, что и на какие суммы "советчик" там закупал. Для него может ковриком стелятся, поскольку он берет на миллионы рублей в месяц и с предоплатой, а вы хотите на десятки тысяч и с 50% предоплатой. Впечатления у вас и у него от работы с одним и тем же поставщиком могут оказаться чуть ли ни диаметрально противоположными.

omercury
18.09.2019, 23:27
Пацан, тебе тотально не повезло ;)

Как понял из вышесказанного, речь идёт таки о 10000 плат?

andrews
18.09.2019, 23:52
Как понял из вышесказанного, речь идёт таки о 10000 плат?
а вот это зависит от того, куда можно будет попасть с помощью создаваемого "тонкого клиента"( на какие сервера ). Тут ведь и Немо можно к ночи вспомнить. Только представьте себе. У обычных человеков что в руках? Linux, Windows c браузерами и сервисами, контролируемыми кем следует и как следует, а тут? Возможности столь обалденные, если у провайдеров конечно не стоят жесткие блокировки на всякие непонятные передаваемые по сети данные. Тут ведь можно и про миллионы плат порассуждать и про десятки тысяч всяких странных серверов. Ну а даже если по обычной физической кабельной и оптической сети такую сеть строить не получится, то есть ведь и другие физические каналы связи. А сколько организаций и компаний заинтересованы, не нарушая законы, которые не определяют, что сеть должна быть только интернет, в таких возможностях коммуникаций?

omercury
19.09.2019, 00:23
У обычных человеков что в руках? Linux, Windows c браузерами и сервисами, контролируемыми кем следует и как следует, а тут?
А тут железка из прошлого тысячелетия, подключаемая к сети из Linux и Windows, "контролируемыми кем следует и как следует"...
И в чём, простите, разница?

Кстати, на тех же "малинках" никто не запрещает делать Bare-Metal модели без всяких там Windux и Linows. :)
И без бубней.

andrews
19.09.2019, 01:01
Со стороны клиентов разница только в одном. Клиент под Win и Linux "под колпаком"( вот скажите мне, что весь код до последнего байта, исполняемый в каждый момент времени Вам понятен), а вот клиент самостроенный на eZ80 или z80 под контролем только у Вас, ни у кого более. Про сервера Вы правы, но никто не мешает вам делать сервера из кластеров не Win(Linux), про физический канал я уже отписал( если блокируют одно, если пропускают непонятные пакеты насквозь это другое). Например поисковые системы индексировали непонятные слова раньше, сейчас не знаю. По идее, если "все под колпаком" такая индексация должна блокироваться, но тогда трындец онлайн публикациям писателей фантастов, особенно начинающих и графоманов. А это отнюдь не физический уровень. Не говорю уже о языках на кириллице и латинице не существующих для широкого круга читателей. Другой физический канал при грядущем "интернете вещей" сами понимаете не проблема. Тут под "язык общения утюгов" можно втюхать технократам из правительства что угодно :) Про конкуренцию со стороны "фруктового ряда" я писал. Там действительно мощнейшие коммуникационные процессоры. Но вы их когда нибудь до логического вентиля хотя бы чисто теоретически раcпотрошите? А 8080 распотрошен уже и z80 кажись тоже. Здесь простое правило. Процессор для обычных человеков производится миллионами штук и попадает в поле зрение сами знаете кого. Не пробовали провезти через российскую таможню нечто, обозначенное "процессор" без нотикикации сами знаете кого( краткую абреввиатуру сознательно не употребляю, чтобы досрочно эту инфу не спалили поисковые роботы).

dosikus
19.09.2019, 08:52
Пацаны, может вам и правда настолько тотально не везёт?
70018

Ну я пока только с z80 влетел...

omercury
19.09.2019, 20:04
Ну я пока только с z80 влетел...
Тоже взял полтора года назад 5 штучек в PLCC корпусе, но пока не знаю - попал или нет.
Не проверял.

Что интересно, все производства с 94 по 98 год, на всех настоящий зайлоговский логотип (а не большая Z, как везде) и на пузе надпись филипинес.
Не знаю, означает это что-нибудь, или нет.
Правда на 10МГц...

- - - Добавлено - - -

Вот засада!...

Kintex-7 на 420 килоячеек оказался

[Device 21-403] Loading part xc7k420tiffg901-2L
ЧЯДНТ ?

Bolt
11.10.2019, 15:49
Микросхемы уже у меня, платы тоже готовы, заберу на следующей неделе.

Bolt
14.10.2019, 20:29
Забрал платы. Можно приступать к экспериментам :)

Bolt
20.10.2019, 18:46
Первый эксперимент успешно завершён - зажёг светодиод на GPIO :)

Bolt
21.10.2019, 03:40
Верхние градиенты формирует ПЛИС, нижние линии из синих точек записывает процессор. Пока в качестве видеопамяти используется 8 килобайт памяти ПЛИС.
Забавный факт: eZ80 при чтении из внутренней FLASH выставляет адрес на шину, остальные сигналы при этом не активны, а при запросе шины #BUSREQ выдаёт #BUSACK и останавливается.

Теперь надо для исследования wait-ов и прочих сигналов записать во "внешнюю RAM" программу и попробовать её выполнить.

70368

Bolt
27.10.2019, 16:04
Попробовал выполнять программу из внешней памяти, попробовал wait. Начал писать контроллер SDRAM.

#INSTRD по-своему хорош, но #M1 очень не хватает.

Защищённую память сделать не сложно, но очень сложно защититься от, например, записи в порт или переключения режима прерываний. И чем дальше, тем больше заморочек. Даже по префиксам DD/FD eZ80 кое-где несовместим с Z80 из-за новых инструкций.

andrews
27.10.2019, 17:10
Попробовал выполнять программу из внешней памяти, попробовал wait. Начал писать контроллер SDRAM.

#INSTRD по-своему хорош, но #M1 очень не хватает.

Защищённую память сделать не сложно, но очень сложно защититься от, например, записи в порт или переключения режима прерываний. И чем дальше, тем больше заморочек. Даже по префиксам DD/FD eZ80 кое-где несовместим с Z80 из-за новых инструкций.
и как это обходить, если процессор eZ80 реальный? Ставить параллельно "силиконовый процессор-корректор" из FPGA?

Bolt
27.10.2019, 17:28
и как это обходить, если процессор eZ80 реальный? Ставить параллельно "силиконовый процессор-корректор" из FPGA?
Ну так а я чем занимаюсь? :)

Bolt
02.11.2019, 16:40
Концепция немного изменилась. Приложению доступно до 240 страниц по 64 килобайта (15 мегабайт). Одна из страниц предназначена для эмуляции, она с двойным преобразованием адреса, суб-страницы размером 16 килобайт (можно меньше), в эти страницы можно вывести логические адреса 0x400000...0x7FFFFF (4 мегабайта).

Пока максимальная скорость получается или 30 МГц без тактов ожидания, или 50 МГц по 2 такта на одно обращение к памяти. Вроде бы 30 больше чем 25, но ещё есть дополнительные такты для всяких преобразований, поэтому пока точно не знаю что лучше.
Минимальная скорость ограничена особенностями SDRAM. Если, допустим, 15 тактов на запрос, частота 60 МГц, и ещё минус видео, то около 3 мегабайт/с.

Bolt
05.11.2019, 11:24
Запустил в своём симуляторе демку, записал лог обращений к памяти за пару минут. Прочитано 110 мегабайт кода, 25 мегабайт данных, 7 мегабайт записано. Вывод: надо оптимизировать выполнение кода, ldir потерпит.

Частота 50 МГц, код читается из кэша за 1 такт, данные читаются за 2 такта, пишутся за 3 такта. Около 4 млн. обращений к SDRAM, считаю по 15 тактов. Итого 241 млн. тактов плюс ещё процентов 5 на некоторые алгоритмы. Средняя скорость доступа 28 Мбайт/с с теоретическим пределом 50 Мбайт/с в идеальных условиях. Правда, ldir даст мегабайта 3 в секунду в лучшем случае. (Для сравнения: Z80 на 3.5 МГц скорость доступа 1.2 Мбайт/с, ldir 0.3 Мбайт/с.)

Вот эту мысль зафиксируем и приступим к реализации, а то с алгоритмами кэширования можно играться бесконечно.

Bolt
18.11.2019, 17:01
Сюрприз от eZ80! :) Или я невнимательно читал документацию.
16-битный inc/dec обнуляет старший байт 24-битного регистра.

Sayman
18.11.2019, 19:29
по поводу переноса данных память-память можно сделать хинт, как у Спринтера - типа некий акселератор, который сначала затащит данные внутрь альтеры, а потом от туда в память. Должно быть быстрее, чем тупо ldir юзать. это если где то в расширенных режимах работать. не эмуляция 128го спекка.

Bolt
18.11.2019, 22:25
А в каких задачах, кроме построения графики, может потребоваться такой быстрый перенос память-память? Может тогда уже делать это с уклоном в вывод графики?

andrews
19.11.2019, 06:28
А в каких задачах, кроме построения графики, может потребоваться такой быстрый перенос память-память? Может тогда уже делать это с уклоном в вывод графики?в задаче "тонкого клиента" когда с сервера тебе валятся данные и необязательно графические

Bolt
20.11.2019, 00:07
А что-нибудь более приземлённое?

andrews
20.11.2019, 01:26
Не знаю. На этой неделе попытаюсь уломать бизнес-партнера на расширение бизнеса в сторону производства "тонких клиентов", чтобы он устав перерегистрировал под это. Если откажется -тады придется думать над чем-то другим. Для старта нам вроде обещали наши клиенты дать за символическую цену одноплатные 386EX с Ethernet-ом на борту и еще другими наворотами. Они уже перелезли на что-то многоядерное самопальное на Altera/Intel. Вот только не понял с установленной памятью DDR или нет. Ну а если все срастется поставим специально для этих целей в офис сервак помощней( по нашим фин. возможностям конечно, но если бизнес пойдет вверх будем стараться его делать все мощнее и мощнее)и можно экспериментировать с "тонкими клиентами" и "облачными вычислениями" для них. Специализацию пока не придумали. Толи САПРы разные, то ли разработку игровых программ на движках и без, а может моделирование. Тогда будем профинансировать разработку "тонких клиентов" разных :) Планы как всегда амбициозные, тысяча компов в год - это провал!

Sayman
20.11.2019, 03:55
А в каких задачах, кроме построения графики, может потребоваться такой быстрый перенос память-память? Может тогда уже делать это с уклоном в вывод графики?
везде, где это требуется. например, архиваторы или просто при работе с файлами, когда данные подгружаются сначала в буфер, а потом от туда перенос в область пользователя. графика тоже, почему нет?! вариантов по мере написания ПО будет возникать масса, где потребуется работа акселя. работает он по принципу перехвата команд ЦПУ. В случае со спринтером, перехватываются команды замещающие nop, а точнее - ld a,a; ld b,b; ld c,c; и т.д. по тактам точно сказать не могу, но Иван Мак когда то описал это так:

Время работы = время работы команды без акселератора + время работы
акселератора

Время работы акселератора = число пересылаемых байт /7 микросекунд

там же по тексту он приводит пример кода с переносом 256 байт и говорит, что время переноса данных 26мс. сколько в тактах, я хз (подсчитайте кто-нить?)
явным преимуществом перед некоторыми ДМА (типа как у Некста) является отсутствие долгой инициализации. но при этом перенос малого кол-ва данных так же будет не выгодно.

LeoN65816
20.11.2019, 12:04
Время работы акселератора = число пересылаемых байт /7 микросекунд
С размерностью полный швах... :v2_dizzy_facepalm: Это сам Мак заявил?..


там же по тексту он приводит пример кода с переносом 256 байт и говорит, что время переноса данных 26мс.
26 миллисекунд!!! Это дольше развёртки кадра!

Sayman
20.11.2019, 12:17
26 миллисекунд!!! Это дольше развёртки кадра!
26мс это примерно 540 тактов, как бы. если вы можете экран с такой скоростью обновить, то круто!

С размерностью полный швах... Это сам Мак заявил?..
в двух мануалах пишет вроде одно и тоже, но не совсем. в одном вот то, что я описал, в другом:


"Время работы акселератора = число пересылаемых байт /7000000 (секунд)"

Bolt
20.11.2019, 22:14
везде, где это требуется. например, архиваторы или просто при работе с файлами, когда данные подгружаются сначала в буфер, а потом от туда перенос в область пользователя.Архиваторы это много кода плюс мелкие блоки, пусть остаётся как есть, оно и так не должно сильно тормозить, а вот с файлами пример хороший. Но и там есть нюансы.


графика тоже, почему нет?! вариантов по мере написания ПО будет возникать масса, где потребуется работа акселя. работает он по принципу перехвата команд ЦПУ. В случае со спринтером, перехватываются команды замещающие nop, а точнее - ld a,a; ld b,b; ld c,c; и т.д. Почитал про акселератор Спринтера. У eZ80 эти инструкции уже заняты, да и вообще такой вариант выглядит как-то сложно.

Есть идеи сделать графический 2D ускоритель - спрайты, слои, прозрачность, и всё такое. Но для начала бы процессор запустить. Идей много, времени нет.

- - - Добавлено - - -

Если ускоритель повесить на SDRAM, там вообще получаются какие-то смешные 50 МБайт/с :)

andrews
20.11.2019, 23:03
Если делать автономный персональный компьютер это один расклад, а если "тонкий клиент"(правда в сложившейся терминологии это не совсем то, что я имею в виду, но сложившаяся терминология не учитывает новую реальность, которая вот вот повсеместно возникнет. Сначала разрозненные публичные сети с облачными вычислителями, затем супервычислители глобального облака. Операционная система сможет замерять время выполнения любого алгоритма на локальном компе и на "облаке" с учетом пересылки/получения данных и в дальнейшем использовать более быстрый способ вычисления. Поэтому не исключено что комп у нас дома на eZ80 подключенный к облаку окажется существенно мощнее просто автономного компьютера.

Sayman
21.11.2019, 03:47
Если ускоритель повесить на SDRAM, там вообще получаются какие-то смешные 50 МБайт/с
не большая арифметика:
по мануалу от IMak`а, экран Спринтера можно заполнить тупой процедурой с использованием акселератора за 1.2фрейма. размер экрана 80кб (81920). 81920/1.2=68266байт (68266.66666666667). т.е. за 1 фрейм перебрасывается 66.667кбайт. это значит. что за секунду акселератор имеет производительность около 26мбит/с. а у тебя 50 мбайт/с, т.е. 400мбит/с и ты жалуешься? да вы, батенька, зажрались!
если хочется большего, то надо вводить конвеера, канальность памяти (2 или 3 канала), транспортные шины всякие, кэши WB и т.д. но учитывая, что это сложно, можно смело просто бросать эту всю задумку.

Операционная система сможет замерять время выполнения любого алгоритма на локальном компе и на "облаке" с учетом пересылки/получения данных и в дальнейшем использовать более быстрый способ вычисления.
в вашем случае не может, т.к. по сравнению с ПЦ, где есть отдельная команда процессора для измерения времени прошедших при выполнении прошлой команды, вам на вашей платке придётся пилить долгоиграющую процедуру для сбора информации о производительности. и так каждую секунду. по сути ваша система только и будет делать, что заниматься тестированием таймингов. и то это требуется на машинах с плавующей частотой проца. если вы делаете фиксированную частоту, то делать постоянно такие расчёты не требуется.
опять таки вопрос - а кто всё это будет писать? тут автору лень и сложно просто Аксель запилить, а ты про ОСь говоришь.

andrews
21.11.2019, 12:45
в вашем случае не может, т.к. по сравнению с ПЦ, где есть отдельная команда процессора для измерения времени прошедших при выполнении прошлой команды, вам на вашей платке придётся пилить долгоиграющую процедуру для сбора информации о производительности. и так каждую секунду. по сути ваша система только и будет делать, что заниматься тестированием таймингов. и то это требуется на машинах с плавующей частотой проца. если вы делаете фиксированную частоту, то делать постоянно такие расчёты не требуется.
опять таки вопрос - а кто всё это будет писать? тут автору лень и сложно просто Аксель запилить, а ты про ОСь говоришь.а зачем в реальном времени измерять при выполнении кода? речь ведь не об одной команде идет, а как минимум о процедуре. Тогда при линковке (после компилятора, естественно должен запускаться профилер и давать инфу линкеру)ставишь либо просто код для проца "тонкого клиента" либо процедуру отсылки входных на сервер и получения результатов с него, а лучше обе процедуры и запуск той или иной. Конечно, если связь слетает и скорость обмена падает, то это плохо работает. Но тогда можно на таймер "тонкого клиента" повесить тестирование канала связи, и если все o'k держать соответствующий флаг в "1" или "0". А линкер тогда при компоновке вызова "тяжелых процедур" вставляет код для проверки этого флага и в зависимости от результата вызывает процедуру в варианте "локальный вычислитель", "удаленный вычислитель". Запилить аксель это хорошо. Тогда останется меньше "тяжелых процедур", если конечно связь с сервером не 1 Гбит/c :) и время отклика сервера на процедуру не 1 мкс Простейшая ось реального времени это от силы 500-700 строк на ассемблере. Начальная инициализация,диспетчер задач, обработка исключений,разделение ресурсов, монитор для пользователя-администратора консольный.

Sayman
21.11.2019, 13:03
а зачем в реальном времени измерять при выполнении кода? речь ведь не об одной команде идет, а как минимум о процедуре. Тогда при линковке (после компилятора, естественно должен запускаться профилер и давать инфу линкеру)ставишь либо просто код для проца "тонкого клиента" либо процедуру отсылки входных на сервер и получения результатов с него, а лучше обе процедуры и запуск той или иной. Конечно, если связь слетает и скорость обмена падает, то это плохо работает. Но тогда можно на таймер "тонкого клиента" повесить тестирование канала связи, и если все o'k держать соответствующий флаг в "1" или "0". А линкер тогда при компоновке вызова "тяжелых процедур" вставляет код для проверки этого флага и в зависимости от результата вызывает процедуру в варианте "локальный вычислитель", "удаленный вычислитель". Запилить аксель это хорошо. Тогда останется меньше "тяжелых процедур", если конечно связь с сервером не 1 Гбит/c :) и время отклика сервера на процедуру не 1 мкс Простейшая ось реального времени это от силы 500-700 строк на ассемблере. Начальная инициализация,диспетчер задач, обработка исключений,разделение ресурсов, монитор для пользователя-администратора консольный.
по всей видимости вы себе слабо представляете работу тонких клиентов, особенно их реализация на 8бит машине (пусть и на eZ80 второго поколения).
начнём с того, что:

Операционная система сможет замерять время выполнения любого алгоритма на локальном компе и на "облаке"
как я уже сказал, на ПЦ есть аппаратные возможности по выявлению таких производительностей в рамках локального выполнения кода. У всяких спектрумов и в частности у eZ80 таких возможностей нет. Для сбора информации требуется запуск процедуры с длительным временем работы. Однако, на ПЦ такое требуется почему - потому, что там зачастую частоты плавающие (всякие энергосберегающие функции и режимы, разные модели процессоров, памяти, контроллеров и прочее). Вы же тут хотите запилить на eZ80, у которого всё очень примитивно на современном уровне в этом плане. Вы ему выдаёте фиксированную частоту, скажем 50мгц и это становится константой. все времянки завязываются на этом. любое ядро любой ОСи при сборке может это учесть ещё на стадии сборки, если ввести такие константы. это первый момент, второй - вы где возьмёте такую ОСь? сами будете писать?

Простейшая ось реального времени это от силы 500-700 строк на ассемблере.
простейшая ось это дос (вообще без представления о процессах и реальном времени) - 160кб текста на асме, какие 500 строк? даже в трдосе строк побольше будет.
и это без учёта tcp стека, без учёта поддержки протокола rdp и других протоколов для работы по удалёнке (vnc тот же). у вас уже проблемы просто на стадии tls трафика - у вас тупо нет мощей (про какие гигабиты тут вообще речь?). поддержка Phy уровня сети и т.д. где тут 500 строк то я не понял? в 500 строк у тебя примитивный boot для trdos разве что получится.
опять таки - какая rtos на зетнике?! о_О

andrews
21.11.2019, 13:55
по всей видимости вы себе слабо представляете работу тонких клиентов, особенно их реализация на 8бит машине (пусть и на eZ80 второго поколения
я выше оговаривался, что когда пишу "тонкий клиент", то это не в современном употреблении этого термина. Назвать это "клиентом облачных вычислений" тоже не совсем верно. Далее. Вы очевидно предполагаете, что процесс разработки в полном цикле ведется на локальном компе? А что мешает в качестве одного из "облачных-серверных приложений" иметь саму систему разработки? И иметь в ее составе профилер, который знает характеристики вашего локального компьютера, который при первом же сеансе связи передает свои характеристики. Да. 500-700 строк это ядро. По поводу ПО сервера не уверен, что надо брать все готовое, сильно не упрощая и не приспосабливая к иным целям. Под требованиями безопасности часто понимают требования надзора со стороны спецслужб. Так это сразу "идет лесом", если оговорены все задачи, выполняемые на специализированном сервере. Вот исходники их, опечатайте сервера и успокойтесь. Если хотите поставить лексический контроль на мессенджеры - ставьте.А вот операционки будут те, которые нужны конкретному сообществу. Хотите контролировать глубже, сажайте своих сотрудников на клиентские компы. Но даже все вышеописанные ужасы скорее всего не стартуют пока аккаунтов менее 10 000 в зоне ру, а на зарубежные единичные аккаунты скорее всего вообще начхать. Впрочем это мои предположения, пока это все не вышло в практическую плоскость. Вон Немо в свое время кто-то сильно застращал с его слов при нашей личной встрече. Но это было 20 лет тому назад, а сейчас неизвестно что. RTOS на z80 нереальна? А как насчет RMX-80 и даже RMX-51? Ставьте таймер на немаскируемое прерывание или на прерывание с наивысшим приоритетом и системный тик пошёл! И всё завертелось :)

Bolt
21.11.2019, 18:42
это значит. что за секунду акселератор имеет производительность около 26мбит/с. а у тебя 50 мбайт/с, т.е. 400мбит/с и ты жалуешься? да вы, батенька, зажрались!
Да, не все умеют в юмор.


если хочется большего, то надо вводить конвеера, канальность памяти (2 или 3 канала), транспортные шины всякие, кэши WB и т.д. но учитывая, что это сложно, можно смело просто бросать эту всю задумку.
Ещё один... "Мне сложно, я такое не смогу, поэтому и ты бросай, не будь круче меня", так что ли?

Sayman
21.11.2019, 19:02
Ещё один... "Мне сложно, я такое не смогу, поэтому и ты бросай, не будь круче меня", так что ли?
я предложил тебе вариант ускорения, ты сказал, что это сложно. Если ЭТО для тебя сложно, то про конвеера и другие финты с памятью для тебя будут технологиями пришельцев из далёкой галактики.
бред который пишет Andrews я даже комментировать не стану.

Bolt
21.11.2019, 20:01
Да, мне это сложно.

andrews
21.11.2019, 21:22
я предложил тебе вариант ускорения, ты сказал, что это сложно. Если ЭТО для тебя сложно, то про конвеера и другие финты с памятью для тебя будут технологиями пришельцев из далёкой галактики.
бред который пишет Andrews я даже комментировать не стану.видимо не можете припомнить на вскидку ни одного алгоритма, который на zx spectrum выполняется дольше 100 мсек. или отклик с сервера у вас более 100 мсек. Дайте описание вашего акселератора функциональное. Если он у вас ускоряет обращение к памяти, то я не такие проблемы имел в виду. Такое умощнение мне не интересно! Под "тяжелыми процедурами" я понимаю такие, которые в разы и на порядок не ускорятся от оптимизации обращения к памяти.

Sayman
22.11.2019, 06:05
дольше 100 мсек. или отклик с сервера у вас более 100 мсек.
что за единица такая - мсек? миллисекунды? микросекунды? уточните. отклик от удалённой машины считается в миллисекундах (мс/ms). любые внутренние задержки которые требуется выполнить на машине так же считают обычно в миллисекундах, конкретно на zx spectrum требований к задержкам мало где требуется. но первое же место которое приходит на ум, это драйвер fdd и hdd. опять таки, я не понимаю вашу единицу измерения "мсек".
если у вас до вашего сервера время отклика 100мс, то у вас явно проблема с сетью/интернетом.

andrews
22.11.2019, 11:10
Да, миллисекунды, микросекунды ведь сокращаются мксек? Время отклика имелось в виду не тестового пакета при связи, а время от засылки входных данных до начала получения результата. А вообще все зависит от реальной скорости интернет, времени переключения на задание с аккаунта на сервере(там ведь должна быть инициализация-отведение ресурсов, включения кода в листинг исполняемых задач), собственное время выполнения "тяжелой процедуры" на сервере и времени передачи результата клиенту. Если взять Linux на сервер с обычным громоздким ядром, то параметры будут одни. Если облегчить его ядро и оставить только нужное для этих задач, то другие. Опять таки количество одновременно обслуживаемых подключенных клиентов. Вряд ли если их зарегится даже 10 000, все 10 000 будут онлайн каждую миллисекунду. Хотя надо встраивать статистику и вести лог, и в зависимости от этого или ограничивать регистрацию, или умощнять сервер. В общем, полагаю, что это не бред, хотя и не простая задача. Сейчас такое есть вроде только на суперкомпьютерах в университетах, да вот еще банки что-то такое в России начали делать( правда не представляю, туда ж специалисты нужны совсем иного профиля нежели чем те, которых они привыкли нанимать для своих задач). Либо надо ограничивать предметную область для вычислений. Ну и если строить софт правильно на локальном компе, то может быть просто комп, аксель на локальном компе, аксель на сервере. Причем перестроить задачу с учетом имеющихся возможностей не в процессе исполнения, а перед запуском всегда возможно. Ну это опять таки зависит от мощности компьютера-клиента. "Тяжелые процедуры" помечаются после профилера один раз, а несколько строк проверки "обстановки" сильно время выполнения всего кода не затормозит, а выигрыш при ускорении на другом акселе или сервере может быть существенное.

Bolt
03.01.2020, 15:12
Полгода не прошло, но можно подвести итог.

Сам по себе eZ80, как и другие модификации Z80, в том числе Rabbit, очень неплох. В каждой модификации Z80 есть своя фишка, но почему это не было доведено до ума, и зачем в каждой версии ломать совместимость, не понимаю. Почему нельзя было сделать внутренние порты так же перемещаемыми, как и внутренняя RAM? Почему убран #M1? Зачем добавлены несовместимые с Z80 инструкции с префиксами DD/FD?

Внешний MMU к нему прикрутить можно. Но остаётся доступ к портам, прерывания и прочее, что потянет за собой то же, что и в оригинальном Спектруме - прямой доступ программ к железу. При многозадачности в таких условиях будет такая же куча несовместимых между собой и с железом ОСей, софта, и т.д.

Была идея перехватывать чтение инструкций и заменять их, тем самым эмулируя обращение к портам и прочее, но у eZ80 нет #M1. Есть #INSTRD, что не то же самое, он активен при чтении любого байта кода. То есть при выполнении "ld A,(12345)" он активен на всех трёх байтах. Или на всех четырёх, см. ниже.

Далее возникла идея считать #M1 самому, но это было бы просто при фиксированной длине инструкций. У eZ80 есть 4 префикса и 2 режима работы, меняющих длину инструкций. Да, можно вбить в FPGA кучу таблиц и отслеживать текущий режим, но он может меняться при обработке прерываний. Ладно, это тоже можно обойти, но режим ещё может сохраняться в стеке и восстанавливаться из стека при вызове подпрограммы. Это как отслеживать? Или запретить "call" и "ret" с префиксами? Плюс к этому интересно выполняется инструкция "rst". Для syscall это хорошо, она, видимо, для этого и задумывалась, но она работает не как в Z80. Отслеживать и эмулировать ещё и её, вместе с эмуляцией недокументированных DD/FD? Далее количество заплаток, накладок, и потенциальных глюков начинает расти в геометрической прогрессии. Может тогда уже и правда проще eZ80 целиком написать?

В общем, проект многозадачного компьютера на eZ80 закрыт из-за нецелесообразной трудоёмкости и отсутствия времени на его реализацию.
И теперь я понимаю почему "взлетел" Intel, а не Zilog.

NEO SPECTRUMAN
10.01.2020, 13:38
Полгода не прошло, но можно подвести итог.
может если не получается поставить 1 современный ez80 на 50 МГц

подумать об установки 4-х старых cmos-ных z80 по 24МГц?
как раз будет и многозадачность
сделать 4 поля памяти
чтоб процы вайтились только когда обращаются в память друг друга

или 2-х процессорный вариант z80 + ez80

andrews
10.01.2020, 14:35
или 2-х процессорный вариант z80 + ez80
ну это моя давнишняя идея 1998 года навеянная HP системами с разнородными ядрами! Память ( а здесь еще и порты) делаются общими. Процессор- "партнер" выбирается, исходя из предпочтений пользователя(группы пользователей). Если это современный коммуникационный процессор, то кроме ускорителя это еще и wifi, и usb, и microSD, и BT. Старый софт пускается на z80, сервисы пристраиваются, новый пишется с учетом новых возможностей.

Bolt
10.01.2020, 15:07
сделать 4 поля памяти

из 32 штук РУ5Г



или 2-х процессорный вариант z80 + ez80
и 8086, как мне уже предлагали.



может если не получается поставить 1 современный ez80 на 50 МГц
подумать об установки 4-х старых cmos-ных z80 по 24МГц?
как раз будет и многозадачность

Это будет многопроцессорность:
https://zx-pk.ru/threads/31260-mnogoprotsessornyj-spektrum.html

NEO SPECTRUMAN
10.01.2020, 16:05
Это будет многопроцессорность:
ну и на многопроцессорносте
как раз и возможно труЪ настоящаяя много задачность

- - - Добавлено - - -


из 32 штук РУ5Г
ну дык материнки же имеют по 4 планки :)

Enigmatic
03.02.2020, 15:08
Вопрос такой - может ли плата спектрума убивать процессор? В плате присутствует напряжение не более 5.25 вольт,блок выдает 2 ампера.
Было 5 штук процессоров
Z8400AB - 2 штуки
Z80ACF0 - 1 штука
UB880D - 1 штука
Z084C0020PEC - 1 штука
В результате работы убился один Z8400AB и Z80ACF0.Просто какая-то цветная мешанина висит,если его воткнуть.
UB880D и последний Z8400AB работают только в Ленинграде, в Пентеве отказываются.А в ленинграде глючат немножко.
И только Z084C0020PEC работает отлично и Пентеве и Ленинграде.
Какие есть правила выемки процессоров из гнезда? Я пришел к выводу,что штекер питания вынимать обязательно,даже если БП обесточен.Какие еще?

NEO SPECTRUMAN
12.02.2020, 12:24
UB880D и последний Z8400AB работают только в Ленинграде, в Пентеве отказываются.
пентева наверно стартует на 7МГц
или вообще на 14
куда ж им там работать

Enigmatic
12.02.2020, 13:10
NEO SPECTRUMAN, об этом я не подумал

NEO SPECTRUMAN
12.02.2020, 13:32
из мануала

После сброса процессор работает на частоте 7.0 МГц.

- - - Добавлено - - -

ну UB880D рассчитан\заявлено на 2,5
так что могло и не повезти и на 7 может уже и не работает

а вот что за Z8400AB

А - 4МГц
B - 6МГц

а что значит AB?
мануалы под рукой молчат...

andrews
12.02.2020, 17:36
а вот что за Z8400AB

а что значит AB?
мануалы под рукой молчат... судя по фото на ebay это SGS (Thomson), то есть итальянская SGS часть STM до момента слияния
Z8400A B1 есть расшифровка на стр. 16 на развороте справа: корпус пластмассовый темп. рабочая 0...70 град., частота первая буква A 4MHz
http:\\ pdf.datasheetcatalog.com/datasheets/restul/285906_DS.pdf
после слияния этот весь ряд производил и продавал STM и даташит не меняли.

max232cpe
06.05.2022, 20:21
Подскажите с z86c9524fsc никто не сталкивался?
Его можно в карячить в место z80 через переходник или собрать на нем аналог zx совместимого пк?

andrews
06.05.2022, 20:58
Это вообще z8 семейство. Сравните систему команд.