psb, это очевидно и в начале ветки было озвучено не раз - человеко-месяц, все что за ним бессмысленно, причины приводились выше. В одиночку за месяц БК-0010 не сделает даже спецификаций на описываемую платформу.
Вид для печати
AlexeyAS, ты вот посмотри, что сделал zst и за сколько времени. Вот это я понимаю - работа проделана на отлично. И первый пост раньше там был совсем другой.
http://www.zx.pk.ru/showthread.php?t=10548
Я видел. Спорить не буду работа проделана большая. Но встречный вопрос - каков процент успеха, если один человек начнет создавать проект озвученный БК-0010? Какие шансы дойти до конца? Вы лично в какое время оценили бы возможность реализации аппаратного комплекса описанного БК-0010 выше нескольким постами и разработки под него базового набора ПО - ОС, трансляторы, компиляторы?
Никаких. Почему? Пост №114 в помощь.
P.S. И можно на "ты".
Т.е. пост по ограничению времени на разработку, Вы не читали? Или читали но Вы с ним не согласны?
Да, в конкретном случае это счётчик и есть, просто интервальный таймер это более общий случай.
повторяю, элементарный квант не меняется, но отрезок времени выделенный конкретной задаче может состоять из N таких квантов. Судя по всему вы рассматриваете интервальный таймер с программистской т.з. в контексте его роли в РС, а я с т.з. аппаратчика, всего-лишь как микросхему, которую можно включить как угодно, куда угодно, и в качестве чего угодно (если конечно в таком включении есть смысл).
представьте себе, что нет никаких ВМ, а есть токо ОС с полным доступом ко всем ресурсам компьютера. В этом случае многопоточность реализуется как обычно, но только для софта написанного под ОС.
RTOS теоретически доступны, но это не значит, что на каждом РС стоит RTOS. Более того, ставить RTOS на РС ради задач с которыми справляется Спектрум не рентабельно. Таким образом благодаря RTOS у Спектрума появляется своя рыночная ниша управляющего устройства более низкого уровня чем РС.
Не совсем так. Я специально дал список возможных объёмов ОЗУ для ВМ. Т.е. о квантовании тут не может быть и речи, т.к. все возможные объёмы ОЗУ для ВМ жёстко заданы и произвольными быть не могут.
:) добро пожаловать в мир Спектрума :) 16к - это его страничный стандарт
Я понимаю обмен между ВМ как обмен какой-то информацией, например результатами вычислений. В этом случае как вы такой обмен организуете, так он и будет работать.
Компьютер либо работает в режиме RTOS, либо нет. В моём понимании RTOS - это прежде всего строгая дискретизация процессов по времени и неизменность периода их повторения. В обычном режиме не достичь неизменности периода повторения для одной какой-либо задачи, пусть даже это ОС, разве что такая задача останется одна.
В рамках ВМ трансляция производится аппаратно, запретом изменения старших адресов, младшие адреса обеспечивают произвольный доступ в пределах адресного пространства этой ВМ. Супервизор действует в ВМ ОС, а в ней нет ограничения на доступ к ресурсам, а следовательно и нет трансляции.
---------- Post added at 19:01 ---------- Previous post was at 18:42 ----------
читай название топика и не оффтопь
---------- Post added at 19:09 ---------- Previous post was at 19:01 ----------
так Rindex, хорош бузить. Своё мнение высказал, оно всем понятно - тебе ничего не надо - свободен! Пусть выскажутся те, кому есть что сказать.
Я понимаю хочу заострить Ваше внимание на то что интервальный таймер реализуем на базе генератора прерывания и подпрограммы обработки переменной счетчика.
Я уже лет 5 точно не лез в потроха PC :) зато в потроха ARM или AVR сколько угодно, представляю себе что такое интервальный таймер с точки зрения аппаратчика. Если Вы настаиваете на такой сущности в платформе как интервальный таймер для каждой ВМ, то понимаете наверняка все сложности его виртуализации? Цепочка про интервальный таймер тянется с момента как psb его предложил использовать в качестве задатчика кванта задачи. В разрезе этого я и обсуждаю его необходимость.
Нет режим не совместимости я не обсуждаю, я обсуждаю использование поточной многозадачности в рамках ВМ, т.е. при запуске в ВМ софта использующего фоновые процессы на основе хотя бы того же периодического сигнала 20мс. Данный сигнал в рамках совместимости придется поддерживать верно? Так вот в этом случае меня и интересовало каким образом он будет введен в платформу.
Вот это утверждение (рентабельно) действительно отражает реалии.
Предположим обмен будет производится отображением странички в чужое адресное пространство. Вы такой метод допускаете? Предполагаю, что при этом 16К исключаемые из общего пространства задачи слишком большая плата за возможность работать с чужими данными. Копирование данных при этом слишком расточительно по ресурсам процессора. Вы предполагаете в системе наличия "умного" DMA для копирование больших объемов без останова процессора?
Она и останется одна Вы же ведете речь о том что все остальные задачи будут выгружены.
Т.е. страничных преобразований связанных с перемещаемостью по глобальному адресному пространству страничек ОЗУ не планируется?
Не совсем так супервизор так же может применить перемещение или дублирование странички в глобальном адресном пространстве. Я говорю об отображении физического адреса страницы ОЗУ на логическое пространство CPU.
давайте так, SDK мне интересен уже побочно. просто если выбирать, что купить, просто пентагон на железной логике или на фпга - я выберу последнее как универсальное средство, но не более (если, конечно, пентагон там работает честно).
если выбирать, купить пентагон или спринтер, то я никогда не куплю спринтер. пофиг, что в нем есть режим спека, разработчики вкладывались в другую идею, и делали ее. и в их планах было развитие именно не_спека.
аналогию можно привести такую: если нужно только звонить, то что купить, нокию 3310 за 500р или смартфон за 15000? не интересны мне (а практика показала, что очень многим) все эти навороты с графикой, скоростью, памятью и т.д.
вообще, мне сложно довольно четко описать, где находится грань, что можно развивать, а что нет. оно чувствуется. причем, получается так, что есть много людей, чувствующих это направление одинаково, значит к этому можно прислушаться, это не мнение одного человека. скорее всего критерий такой: если это можно "легко подоткнуть" к любому спеку - оно имеет право на жизнь. например, если девайс втыкается в стандартную шину (которая просто подключена к процу) и больше комп не надо уродовать (а было много схем, где надо резать кучу дорожек, например) - это нормально. сюда можно отнести GS, HDD, часы, мышки, флешки, .......
я не настроен против него, я нейтрален. я знаю, что здесь полно идеологов, и мне параллельны их идеи. меня же ни кто не заставляет потом купить чью-то поделку? не понравится - и не куплю:) но когда человек долгое время пытается кому-то "навязать" свою идею, которая объективно не попрет в народе, убеждая всех подряд, то просто хочется поправить. но БК на столько верит в эту идею, что заставить его подумать не получается:)
не, API для софта. т.е., некие исходники, выполняющие что-то, у них описаны точки входа, их параметры и что они делают. например, драйвер памяти, ему надо функцию init, которая вернет тип компа и кол-во страниц памяти, функцию SetPage и GetPage. для памяти больше ничего не надо. вот эти 3 функции и есть апи. и так описать для любых библиотек.
статических библиотек тоже нет, т.к. ни один ассемблер у нас не делает объектный код:) да и не надо! что касается меня, сейчас я юзаю sjasm на пц. скорость компилирования меня более чем устраивает, и то, что все либы будут каждый раз перекомпилироваться - это ерунда. так-то же реально написать эту либу, сделать в ней условную компиляцию функций (чтобы ненужные не компилились), описать названия и смысл функций. что-то надо еще? мне кажется нет.
конечно! он предлагает сделать совершенно другой комп! вот есть у меня щас пентагон живой, что мне надо будет, чтобы запустить на нем софт для "супер компа БК"? ;) а тем временем 99.9% всего ПО для спека запросто на нем идет.
как понять "регулируйте размером кванта"? есть квант только 20мс. можно сделать и 40, но 20 - это уже много! а управлять этими 20мс я никак не могу. поэтому извращаемся. идеально было бы, если бы был таймер, который бы мы сами запускали тогда, когда нам это надо. т.е. дали 1й задаче квант 10мс, а она успела раньше, тогда мы сразу запускаем 2ю и даем ей новые 10мс, а не те, что остались от 1й. но т.к. такой таймер приделывать - это геморрой, то и нафиг оно надо, не будут все юзеры кидаться делать себе такое (это важно!).
а почему как телефон - нет? потому что спек не умеет звонить?;) спек СОВСЕМ не конкурент кпк. в кпк 500+ мгц процы, а у спека?.. если то же видео будет разжимать некий "ускоритель сбоку", то че будет делать сам спек?;)
что касается плееров. ну, сделали на NeoGS плеер мп3, это много поменяло? да никогда! это опять для фанатских понтов: "зацените, спек играет мп3". причем, это даже не сильно прикольно, т.к. сам спек там ниче не делает:) умалчивают только одно, что на пц/кпк/телефоне все как-то удобнее...
если бы;) приходят люди и говорят, хочу под General Sound написать, чо каво??? вот как так можно? я не понимаю. то ли человек только вчера родился и даже не знает что такое этот General Sound, то ли ему лень поискать инфу, то ли он думает, что инфы нет, то ли не думает... блин, я понимаю, если бы 10 лет назад у кого-то возник такой вопрос, да, инета не было, связи были не у всех, но сейчас-то??? изначально был единственный документ про этот GS, он достаточный для того чтобы ВСЕ понять как работает и как что писать. ВСЕ учились только по нему.
это так же, как бы человек спросил: "помогите, хочу сделать робота на атмеге8!". что можно такому ответить?
форум - это не единственное место в инете. есть гугль. я в свое время через этот гугль нашел как на спеке программить винт, это была статья из спековского журнала. и перед этим прочесал все журналы и левые текстовики, которые были. и как-то все это прокатило еще в 2002-2003. а сейчас инфы видимо настолько много, что проще спросить:)))
ну вот зачем скатываться до разбора исходного кода? всегда ведь делали просто: есть математическая библиотека - набор отдельных функций, каждая описана, что делает. например, деление чисел 16/8=8. в каких регистрах делимое, в каких делитель и где будет частное. зачем вникать, как оно работает? не устраивает скорость - другое дело, разберись и переделай, но в 99% этого не понадобится. то же самое любой драйвер, описаны точки входа, параметры и его действия. остальное не важно.
да, на данный момент это не собрано воедино, т.к. мало кому надо из новичков (остальным это не надо), но ни что не мешает это сделать. и тогда для любой конкретной самостоятельной задачи никакая ос не нужна. она, типа, статически соберется с этими либами.
нет:)
нет. считаю, что если уже где-то есть готовый отлаженный работающий код - его надо юзать, не особо вникая (если задача стоит быстро что-то написать, а не научиться делать то, что делает этот код).
контроль версий на самом спеке не нужен. вы же на арм, под который пишете, не используете это?;) а на пц все есть, некоторые даже используют;)
про ос и либы я согласен, но как уже говорил, это бонус только для программера.
да я, в общем-то, ни то, ни то:) по-разному бывает в реальности, но стереотип "проще самому написать" - есть. и не всегда это правда.
ну, да, не базовый:) а с логикой нормально. я всего лишь хотел сказать, что мне сложно в этой ситуации поставить себя на место новичка, который уже умеет писать на асме. сможет ли он при этом легко разобрать чужую программу - я не знаю. многие из таких знакомых (не новичков) - могут.
такс. если идет речь о независимых задачах с вкомпилированными библиотеками, то они и не рассчитаны на ос (точнее даже в каждой из них может быть свое ядро ос). поэтому мы на нормальном спеке их одновременно и не запустим. а с ос, естес-но, не надо к каждой задаче свою либу.
мне это не очевидно. когда мне интересно - я делаю, не важно как это сложно и сколько времени займет. только интерес. если это БК интересно, пусть хоть год потихоньку делает. или найдет единомышленников и сделает быстрее. и ведь концепция эта у него давно, сто раз обдуманная. и в железе он хорошо понимает. т.е. все условия как бы есть, не знаю что со свободным временем. но не делается ничего реального.
у меня тоже много задумок, намного больше чем есть времени, но я хоть в год по чайной ложке делаю.
собственно, спор-то о чем? мне параллельно на такие проекты, сделают, не сделают, без разницы, это не для меня. но мнение у меня вполне конкретное: не будут юзать фичи этого клона. просто банально некому! и по этому же не получится сделать замену кпк или чего-то там еще. но БК не верит. я только поэтому завел речь о том, что надо попробовать сделать и посмотреть результат, другого способа убедиться в своей неправоте нет.
Тот счётчик квантов, о котором я говорил - это подсистема ОС. ОС перед запуском текущей ВМ программирует счётчик на непрерывное количество квантов выделенных этой ВМ, по истечению счёта управление возвращается ОС для запуска следующей ВМ.
Соответственно вышесказанному никаких таймеров для каждой ВМ нет, счётчик квантов - это подсистема ОС.
Для ВМ, INT останется без изменений. Другое дело что большую часть спековского софта придётся запускать в монопольном режиме с ручным переключением задач в ОС.
Боюсь, что просто так страницу от одной ВМ не передать другой, т.к. каждая ВМ использует непрерывный диапазон страниц. Хотя теоретически передача возможна методом слияния, когда две рядом расположенные ВМ сливаются в одну удвоенного размера. Но это уже будут какие-то новые программы, заточенные именно под такую машину.
Пока остаётся только копирование процессором, хотя в перспективе планируется использование блиттера.
В рамках спековской ВМ - нет, это просто не нужно. Для задач, требующих такого перемещения следует использовать ВМ ОС так, как это делается в обычных компьютерах в рамках работы ОС. Т.е. механизм ВМ - это в первую очередь дань спековскому прошлому.
Речь не о Вас, я изложил типичную ситуацию повторяющуюся в течении 5 лет
Очень правильный вопрос, который обсуждается сдесь годами - ответа нет. С одной стороны нужно все! и даже демки под 48к и игры под него. Но на ряду с этим на вопросы типа "какой НОВЫЙ софт Вы хотели бы для спекки" многие называют продукты успешно использующееся на ПЦ годами. Все сосредоточенно в том же вопросе - "каким Вы хотите видеть спектрум\софт?", потому как можно добиться запуска firefox-a но будет ли после этого то железо называться спектрумом?! Ответ - смотря какой это будет firefox!
Я ранее отстаивал мысль об хаотичном развитии (так как полагал что плохие отзывы на форуме могут отбить у автора желание реализовать идею, что при очень малом количестве авторов\идей быстро приведет к отсутствию всякого движения и смерти платформы), но спустя много лет пришло понятие что процесс идет сам по себе и на него никто не в силах повлиять.
Это как решение глобальной энергетической проблемы - есть разные мнения: одни говорят что без общих усилий и видения, человечество не способно решить задачу требующую скоодинированных действий в экономии энергоресурсов ветро гидро атомной и др. генерирующих технологиях. Другие говорят что если технология ядерного синтеза не будет доведена до комерческого уровня мы все всеравно обреченны, что бы мы не делали. Еще есть мнение кое кого :) о том что нефти у него много а все остальные "умрут в смирении" или будут убиты "сильной имперской рукой".
Вы неправильно поняли, это все было написанно как констатация факта. Это не есть плохо или хорошо. Это так мы живем. Новый клон конечно радость для одних и интересное событие для других.
По поводу идей, нужно четко понять что является спектрумом на данный момент, а это в первую очередь 5...6 тысяч игрушек и пару сотен названий другого софта который греет душу многим как хобби и занимает время новых фанов. Во вторую очередь это демы, игры и софт писанный в СССР и после его распада суть которого все та же, этот софт как бы доработка и развитие изначальной колекции софта. ВСЕ больше ничего нету. Первая часть иногда дополняется на западе где портируют и пишут новый софт игры. Вторая часть развивается очень слабо но все же выходит новое железо и демки по сути и уровню сравнимые с тем же что было достигнуто ранее.
А третьего = того о чем Вы тут рассуждаете = крутых стандартов передачи (>300kB/s), навороченных операционок (2...8mb), диких процессоров (>30Mhz), многозадачности и т.д. на спектруме никогда небыло, но не раз высказывалось мнение, что если хотябы что-то из этого появится то спектрум в том месте и времени перестанет существовать (Например есть 1chipMSX или retroleum или alteraDE1 все они потенциально то о чем вы говорите, но ни одно из этих творений не называлось спектрумом на этом форуме).
Т.е. для Вас не важно что фактически из этого SDK вы можете "выгнуть" что угодно, даже Pentagon 48K, фактически Вас интересует только идея ради которой делался проект. Скажем так если используются современные методы достижения Pentagon 48K - пусть это будет CPLD MAXII в которой хватило емкости на реализацию и ядра и периферии то Вас это устроит. Иными словами Вас устроит направление развитие миниатюризации Pentagon 48K и возможно изменения его характеристик скорость доступа в память, высокочастотное конвеерезированное ядро, но оставшаяся с абсолютно таким же набором команд и набором ФУ и той же разрядности АЛУ и того же набора РОН. Укажите место с которого Вас уже не устроит, при условии что идеология проекта все тот же Pentagon 48K?
Ага понятно значит изменения ТТХ платформы Вас не устраивает ни в каком виде.
В рамках темы рискнем спрогнозировать? При таком раскладе вектор развития упрется в миниатюризацию и потребление, и конечным этапом окажется лет через 5-7, если Китай посчитает выгодным :), производство платформы Pentagon 48K в ASIC в виде законченной СБИС откорпусированной в нужном формате. Этакий самодостаточный ARM7 или AVR или PIC с памятью на борту. Возможно под эту платформу будет существовать RTOS в том виде в каком Вы ее видите и все на этом эволюция будет завершена. Само собой что такое законченное решение будет существовать не как рабочая платформа разработчика, а как платформа для гиков. И я так понимаю Вас это устраивает? Тогда выделите направления которыми на этой платформе можно будет заниматься? И еще скажите такая платформа будет интересна подросшему к тому времени поколению? (тут если можно то без спекуляций на тему потерянного поколения)
Как Вы это определяете? Как Вы охарактеризуете массовость того направления о котором ведете речь Вы?
В конце концов окажется, что подтыкаемые устройства вполне себе могут жить без старичка Z80. Как я понимаю все что уже можно было подоткнуть - подоткнули? В этом направлении какие Вы видите направления приложения усилий?
:) Это выражение что psb не может заставить поверить БК-0010, коммутативно :) не находите?
API то для софта, но поскольку софт нужен для железа то он должен отражать абстракции с ним связанные и быть стандартизован. Фактически стандарты на подключаемое оборудование есть, но никто не мешает описывать интерфейс в зависимости от погоды на Аляске. Драйвер имея модель и структуру, а так же интерфейс заявленные ОС такой изменчивостью обладать не может, только со меной версии ОС когда изменяется и концепция, а возможно и идеология. Вы же при всем желании с подходом "все сервисы и драйвера в один исполняемый файл" обеспечить такое сможете? Сможете заставить разработчиков железа и дров на него обеспечить стандарт годичной давности, у них ведь всегда свое видение задачи? Считаете что такая "видовая изменчивость" это нормально и пойдет на пользу платформе? А без соглашение о вызовах как писать библиотеки? Сегодня Вы используете для передачи параметров в процедуру вызова памяти регистр BC, а завтра вообще стек и получится что библиотека будет включать в себя кучу имплементаций одного и того же кода?
Да дело то не в скорости компиляции. Библиотеки это еще и мостик между разными подходами в программировании, разными языками. А как у вас с локальными метками, областью видимости, sjasm умеет? Нет я конечно понимаю что такое asm и как он прекрасен, но я уже давно этот юношеский максимализм в себе изжил и теорему "о возможности" писать эффективно на ЯВУ тоже себе доказал. Не ужели Вы не смогли? Не поверю.
офтоп: Неужели sjasm и архитектура Z80 может сравниться с легендарным PDP и его макроассемблером, который действительно не напрягал? ИМХО, нет, Z80 не имеет такой ортогональности да и не думаю, что MACRO-11 можно превзойти :).
Способны так же эффективно выбросить не используемый код как это делает линкер? И что ни единой привязки к абсолютному адресу? И все так эффективно пишут?
Т.е. ПО которое используется на Pentagon 2.666LE и использует все его возможности на Вашем Penatgone 48K идет без проблем? Совместимость в любом случае снизу в верх.
Но на платформе 48К больше ничего нет, поэтому можно только рубить дорожку и заводить 10мс. :) Я то говорю о том что не нужен интервальный, достаточно приемлемой частоты входного сигнала, ну или уж если так угодно прескаллер 1/2/4/8 только щелкать им при работе ОС бессмысленно - настроил при загрузке и все, это я и хотел сказать "регулируйте размером кванта". Квант на то и квант что он элементарен и не делим, все как и в физике :).
Задача закончилась досрочно, у системы осталось время от уже выпущенного кванта. Хотим мало потреблять и не греться - заснем до следующего прерывания, хотим использовать производительность на полную - отдадим дополнительно следующему по приоритету процессу эту неизрасходованную текущей задачей производительность. Он использует часть кванта и тот квант который у него есть поскольку он в очереди следующий, а так ранжир у нас по требованию задачи к ресурсу - то этот процесс по праву рождения :) просто обязан получить доп. время. Мне казалась такая схема используемая большинством планировщиков вполне логична.
Телефон, да честно говоря так болтнул, можно и телефон - например IP.
Не имел ввиду дополнительную аппаратуру, пусть разжимает сам. И почему кстати Вы считаете что Z80 выше 70МГц не разогнать? Конвеерезировать его уже пытались? :) Или параллелить работу ядер?
Плеера не только DVD бывают. Кроме того я то как раз против прицепов сбоку специализированных устройств, ибо тогда уже не вижу цели для приложения усилий, а результат так тем более достигнут заранее.
А Вы ответьте только на один вопрос все ли Вы согласны предпринимать для расширения сообщества? Если для этого потребуется потерять время и объяснить вновь пришедшему как и что нужно делать, согласны его терять? Можно и проще SDK - комплект разработчика под спектрум - библиотеки, примеры, документация. Такое есть?
Посоветовать купить LEGO avr brainstorm :) Ну а если серьезно нужно решить для себя вопрос готовы ли Вы к педагогической работе с вновь приходящими? Вопрос сложный соглашусь и ответить не просто, ну так со временем может придет, правда тогда и сообщество может поредеть, верно?
Нет не думаю, дело не в инфе, я думаю те кто нашел самостоятельно мучаются совсем другим вопросом - что бы сделать полезного, либо молча фанатеют от уже сделанного. Мало того я думаю что если дать старт тем кто задает вопрос "как", таким образом что бы они проявили самостоятельность, то 50% дальше уже побегут сами. Люди по природе очень разные - экстраверты, интроверты. Интровертов мы не наблюдаем с такими вот вопросами :)
Вот именно, однако как минимум если обладаешь навыками в ассемблере то разобраться о том как и в чем передаются параметры придется?
Драйвер посложней процедуры DIV или MUL, он как минимум требует инициализации, а как максимум периодической обработки. А для этой самой периодической обработки нужно мастерить шедуллер, потом окажется что нужны еще и методы разрешения блокировок и прочая, прочая. Та часть работы которую обычно выполняет ОС. Таким образом мало изучить точки входа в драйвер, нужно изучить как его обслуживать и воссоздать ему эту среду причем в точности такой какой ее видит автор.
Так библиотек нет, соглашений по коду опять же ни каких, стандартов оборудования и его поддержки тоже нет. Сначало нужно все это сделать, а потом уже статическая ОС аля Linux с собираемыми к ядру задачами.
Тогда тем более будет рациональным использовать бинарный образ этого кода и интерфейс к нему?
Почему нет это удобно, особенно если пишешь не один. Попробовав раз так вообще трудно отказаться :)
Так все таки вопрос назрел - нужно думать о новичках или нет? Нужна ли новая кровь сообществу?
В Aeon его разгоняли до 100MHz, но стабильно Спектрум работал только до 70MHz.
Вообще-то не хотелось бы создавать несуществующего процессора. Без реального эталона это всё расползётся так, что ни о какой совместимости речи не будет. Считаю, что следующим шагом в развитии является eZ80 и на него необходимо ориентироваться сразу, чтоб потом небыло нестыковок.
Это не точнее, это именно то что я имел ввиду.
Запустить нельзя, а если задача именно так и стоит? Если запустить нужно! Это означает что вам приодеться залезть в потроха каждой задаче выяснить схем обработки реализованную в ней, обрезать подрезать и подгонять дальше напильником. Все это работа достойная не хирурга, а цирюльника, но конечно хирург может справиться и с ней. Но не верю что Вы предпочтете ОС и библиотекам вот такую вот маяту?
Да не лукавьте не поднять эту работу даже вдвоем за месяц. Мы же все понимаем что это хобби, а где то еще есть работа, а еще где то есть семья.
Безусловно! Я сам руководствуюсь только таким принципом.
Да может он и делает что то, откуда нам знать - а может принципиально ищет единомышленника, это тоже по человечески понятно.
например?
И это тоже правильно. "И опыт сын ошибок трудных..."
to БК-0010: Ничего из вышеперечисленных концепций не пытались реализовывать?
---------- Post added at 14:10 ---------- Previous post was at 13:37 ----------
Если это не аппаратный таймер, вопросов на эту тему больше не имею.
Если INT для ВМ останется то его надо виртуализировать таким образом что бы прерывание вызвало бы вектор внутри текущей ВМ. Будете это обеспечивать программно средствами шедулера супервизора? Кроме того не совсем понятно каким прерыванием будет получать управление супервизор? Этим же самым? Не затянется ли обработка такого INT?
Нет я не имел ввиду объединение пространств.
Хотя бы для того что бы быстро перемещать из одной ВМ в другую данные, без вызова цикла копирования в процедуре супервизора. Кроме того у этой функции есть еще масса полезных применений - виртуализация памяти, защита.
Само собой что такие перемещения доступны только супервизору, хотя бы просто потому, что нужный адрес находится вне пространства ВМ.
если мы говорим о клонах спека, то для меня первично то, что из себя представляет этот клон. если быть точнее, меня интересует пентагон 128к. если этот п. 2.666 не доконца совместим с обычным пентагоном по портам и времянкам, я этот клон рассматривать не буду в качестве покупаемого. если я захочу именно купить, мне важнее что там УЖЕ работает, а не что там можно теоретически сделать самому. если бы хотелось только универсальную отладочную плату, я бы смотрел больше в сторону Altera DE1.
что касается типа "правильный пентагон"+куча ненужного хлама слева, то такой вариант может быть приемлем, но тока в том случае, если больше обычных клонов не будет. я не зря про нокию 3310 говорил.
не совсем. против миниатюризации ничего не имею, даже за. и даже за подключение tft (хотя это не на 100%, т.к. не видел еще). но времянки мне нужны конкретные пентагоновские, посему про увеличение быстродействия говорить смысла нет. максимум разгон до 7 МГц, да и то, мне это не сильно нравится.
не будете же вы спорить, что добавив частоту, становятся реализуемы некоторые задачи, которые до этого нельзя было реализовать? ну и какой смысл? конвееризированный з80 на 100 МГц наверняка уж хоть как-то но разожмет мп3, но в чем прикол-то? и совсем другое дело сделать на том же железе то, что до этого казалось не реальным.
если честно, я уже устал писать эти посты:) писать можно много. думаю, самый наглядный пример - это скорпион с gmx и профи. и атм еще. у них у всех были крутые графические экраны, многие, извините, кипятком писали при виде этого. но те, кто у нас делали софт (в россии) ничего этого не поддержали. спринтер так вообще, сама крутость, а софта не сделали. и это тогда, когда софта писали в сотни раз больше!!! так какой смысл выпускать новую железку сейчас, если ее ТЕМ БОЛЕЕ никто не поддержит? активных кодеров, наверное, меньше сотни уже, а денег вкладывать не захочет никто. ответил на вопрос о массовости?
ну, иногда так и получается. то, что NeoGS играет мп3 сам по себе (причем, даже не сам его декодирует!), я считаю, ничего интересного.
приложение усилий: в первую очередь усб. схема есть, нет софта. потом можно подтянуться в сторону сети, медленно оно там все идет.
нахожу, только выход один - проверить. сделать это может только БК.
я вам удивляюсь:) а на пц с либами не так что ли??? или с компонентами какими? классами? да их вот взяли и придумали вот с таким вот интерфейсом. да, где-то такой подход может не прокатить, что делают тогда? или дописывают враппер (условно), или переписывают все сами. еще раз повторяю, что интерфейс и работа либы должна быть описана.
вы, наверное, никогда не видели спековских "либ"?;) все намного проще. могу повторить в стопицотый раз, если либа описана, то никаких вопросов о передачи параметров нет. да, они не взаимозаменяемые, но это и нафиг не надо ни-ко-му! будет несколько разных библиотек, если кому-то будет надо. кто какую захочет, такую и возьмет. на пц так же.
все это он умеет, и макросы умеет.
:):):)
мы тут рассуждаем о чем? об экстремальном кодинге на спеке или о сферических конях? что тут сказать? вэлкам, покажите всем нам как эффективно писать под спек на ЯВУ:)
на других платформах я на асме не пишу, и юн.максимализм тоже пережил. здесь - исключительный случай.
линкер делает автоматом, здесь же придется вручную (хотя, это я точно не помню, кажется даже что-то было автоматизировано). привязка к абсолютному адресу не при чем. у з80 такая система команд, что в 99% случаев привязка будет. да и везде как бы адреса привязываются линкером, а не компилятором. здесь все точно так же сделает ассемблер.
совместимость должна быть такая, что программа со старого компа идет на новом точно так же. по факту это часто не так! вот о чем речь-то.
ну, это вы уже прекращайте. ни у спека, ни у з80 таких режимов нет. даже halt эмулится нопами. да и скорость нам важна, т.к. у нас меньше 1 мипса.
ну, это логично в данной ситуации. так я и сделал. результат - все получат достаточно времени поработать, но перекос обязательно будет. не согласны, что давать каждой задаче по 10 мс максимум - более красиво?
не моё, выше пояснял.
одно только мне интересно, но опять же, из стандартных спеков сделать вычислительный кластер.
я - нет. все добровольно: интересно - занимаешься, не интересно - зачем тащить силком? по большому счету все это получилось благодаря нашему детству. интерес у тех, в основном, кто варился в той среде. просто как обычный старый комп спек и не примечателен особо. вот и ностальгируем. но из всех нас выделяются деятели, которые хотят собрать свой крутой новый комп, в котором спек чисто для галочки. кем они при этом себя чувствуют - мне не известно, да и пофиг.
я - не готов, и для меня это очень простой вопрос. сообщество редеет аж с 96 года, и что? это закономерно. все имхо. можете меня назвать предателем или пофигистом, мне пофиг:):) не знаю как надо смотреть на мир и где жить, чтобы не видеть очевидного.
полчеловека и побежит;) а если серьезно, то даже будь на этом форуме вся инфа, все равно будут спрашивать че как, хотя надо просто усидчивости и внимания. а без этого вообще лучше не браться.
придется открыть доку и прочитать, что делимое в HL, делитель в С, а частное в DE (в D - целое, в E - остаток). что еще надо?
естественно! а я и говорю всю дорогу, что ос нужна для удобства программера. но не обязательна, часто ничего сложного городить не надо (когда оно проектируется здраво и не под ос).
ну если бы у з80 весь код всегда был релоцируемый...
хотя я все равно не пойму, какая разница? если компилятор компилит ппц как быстро, то на кой придумывать объектники (при условии, что нас устраивает условная компиляция)? сделает он этот бинарник снова за 0.00001 секунды.
вы это на самом арм прям запускаете систему контроля версий? может вы и компилите для арма на самом арме?:))) на пц и для спека все это применимо.
если задача так стоит, то задачника на мыло:) изучать родной край:) больше ничего не могу сказать:) запустите на 286м с метром памяти 10 мс-досов одновременно, и в каждом прогу, жрущую метр. не реально? а надо! :)
а я про месяц не говорил, не знаю кто тут его придумал. я сказал, что если интересно - можно делать хоть год. за год двоим это точно асилить. наверное:)
и еще к вопросу о массовости направления;) почему пентеву делают куча народа, а БК не может найти единомышленников? тоже стоит задуматься.
про задумки я не буду по некоторым причинам. не хочу чтобы кто-то от меня что-то ждал, т.к. может быть, что я это никогда не доделаю, но пока шансы есть. ну и чтобы в меня пальцем никто не тыкал, типа вон, обещал, а сам... ну и есть некоторое, что пока является секретом:) но это мало связано с осями и железом, самый натуральный экстрим-кодинг.
---------- Post added at 17:14 ---------- Previous post was at 17:12 ----------
ну если так, то конечно:) но это доработка, что плохо.
Ну это нормально. Он же не только на PC, на Маке, даже на мобильных платформах. До того как оказаться на PC это софт частично прошел и через домашние ПК.
Вот интересно? Почему то все кто пытался ответить на этот вопрос в данной ветке пытались философствовать, что это значит? Ну вот Вы можете без обходных маневров сказать как вы видите софт люой специализации на ZX?
За себя могу сказать если бы у меня был ZX я бы хотел на нем в первую очередь увидеть средства разработки, не на хосте, а на нем. Тот же Си. Потому что если разрабатывать на хосте - то тогда таргет безликое устройство все равно что там Z80 или AVR. Вы представляете если Вас начнет "плющить" от неудобств использования платформы при разработке, наверное хочешь не хочешь а придется ее обживать?
А что касается фаер-фокса, прежде всего это интернет браузер он может быть хоть текстовым как Lynx или Mosaic лишь бы выполнял свою функцию.
В этом весь смысл эволюционных механизмов, либо вид вымирает, либо находит щель в мире и туда втискивается. И все таки в этом случае процесс не стохастичен он управляем и управляется доминирующими особями (не люблю слово лидер). Что бы понять куда кривая вывезет должно пройти время, много времени. Любое ваше, мое, его действие способно вызвать цепь изменений, равно как и бездействие. :)
Без дураков, я это очень хорошо понимаю. В этом случае чем закончится эволюция?
Всё, что более 7 МГц - не Спектрум ...
Всё, что с памятью более 1 Мбайт - не Спектрум ...
Я сейчас уже не вспомню "трубу", которая была очень распространена но после перехода сотовиков в диапазон 1800МГц перестала быть нужной большинству. Не смотря на то что диапазон 900МГц выгодней - сотовики с него начали "валить" вместе с своей паствой. Это грубая аналогия. Звонить можно - но некому.
Волшебства нет? :) я понимаю. Прикол в том что бы конвеерезировать Z80 классический CISC и помимо mp3 еще и сделать обычные задачи MIPS-ового Z80.
Хорошо если не "тупой" разгон (хотя он вовсе не тупой полно там головоломок) то тогда параллелизм или тоже плохо тем что ни одним ядром? Или кучей ZX в кластере? Демо сцена из обычного ZX уже выжала все что могла, верно?
Тут уже кто то хорошо заметил в начале дискуссии реально то что подчиняется закону сохранения энергии.Можно преодолевать теорему Котельникова ударом лба об стену. Задача конечно зубодробительная и своей сложностью очень интересная, но ведь не выполнимая?
понимаю, это моя вина, исправлюсь.
рискну возмутить Вас еще раз, последний раз - "денег вкладывать не захочет никто" может в этом все дело?
Подмывает вопрос для чего развивать USB? Дешевая замена традиционным носителям? Почему не SD или MMC?
Жалко что Вы не захотели понять, ну подход *nix вам известен "все есть файл". Это идеология она накладывает рамки на интерфейс к устройствам со стороны программиста. Программист считающий что "все есть объект" идет куда нибудь, ну не знаю....в BeOS :)
как же? stdcall, fastcall, pascal call
просто о кодинге.
ладно - моя вина, съехали таки на личности :(
в бинарнике будет - безусловно, в объектных форматах нет, вот уж не помню умеет ли GAS Z80? Код в объектниках перемещаем, за это боролись еще во времена 86РК - лихо боролись помню :)
я думаю для Вас как для аппаратчика проблема не большая уложить спать процессор и поднять его потом с нужным контекстом, да не HALT-ом, пусть хоть плювком в порт. Если важна скорость - разговора нет, спать излишне.
красиво? Ну не знаю, может быть, смущает некая сущность в виде таймера на которую шедуллер вынужден будет отвлекаться, если осталось даже 10 тактов лишних.
Почему какая то задача должна расчитывать зайти в работу раньше? Вот проработать по дольше имеет полное право.
Да пусть будет по вашем - может это и красиво, ну применения я как то подобрать не могу.
---------- Post added at 20:34 ---------- Previous post was at 19:44 ----------
Вот е-мое, все таки вышли на общую идею :) Ну да бывает...мысли сходятся у....:)
Я не об этом говорил, я говорил об уделении внимания интересующимся, подрастающему или стареющему поколению, неважно :) Впрочем Ваш ответ я понял.
Я всего лишь вопрос задал, оправданий не требовал :) И все таки для меня - ваша столь резкая реакция Вас характеризует, с положительной стороны :)
Оно, усидчивость и внимание, из неоткуда не появится!
Простите мне многословие не по теме - я всегда в связи с вышесказанным Вами вспоминаю эпизод из своего детства: Мой отец профессионал и радиолюбитель одновременно, растил меня без принуждения к "радио" просто мне приходилось очень часто смотреть на его "эфирные зависания" у домашней радиостанции, а потом когда стал постарше читать с ним на двоих один журнал (его все знают -Радио). Так вот детали для моих первых поделок выдавал мне отец - сопротивления, кондеры, транзисторы. Если с транзисторами и диодами я худо бедно разбирался, то с сопротивлениями и конденсаторами никак. Если помните касетницы - матрицы NxM разбитые по номиналам горизонталь и порядок вертикаль. Поднять такую систему второкласснику таскающему двойки по арифметики - швах. В один прекрасный день отец сунул мне справочник, касетницы и "сказав надоело ищи сам" свинтил в театр. Все было под руками, все мне дали - нужно только было понять систему, для этого нужно было усидчивость и внимание, которого прежде у меня не было.
Это дохлый спор, зря я его затеял, но рискните взглянуть на C-- как там передаются параметры в процедуры :)
Угу то есть программеру должно быть как можно неудобней что ли, и хоть это и не заметит обычный пользователь ZX программер должен надорваться? Это такакя разновидность экзорцизма?
В объектнике он всегда релоцируем, за исключением случаев когда программер не начнет извращаться с косвенностью, передавая туда не вразумительные константы.
Для экстремального кодирования разницы нет.
Ну бывает... не правильно Вас понял. Однако коммуникаторы тоже на армах и под Maemo, не думал об этом, но думаю софт для CVS там пойдет без особых проблем. :)
у него ОЗУ метр, оверлеии. Да и не важно это, уже. Я уже Вас понял.
Где то на третьей закладке высказал psb - это не Вы часом? :)
Пентева?
---------- Post added at 20:39 ---------- Previous post was at 20:34 ----------
Все что с ядром не классического Z80?
Все что больше чем с одним ядром?
Ещё раз ...
Если вам мало мегагерцев и памяти - арм вам в руки ...
И проходите мимо ...
да, как то все выглядит как люди которые хотят "хаммер", обсуждают как сделать его из "жука" и постоянно все упирается в то что надо всеголишь сменить корпус, движок, салон, подвеску и все остальные системы но при этом гордо повесить лейбл от "жука" и будет счастье.. проще тогда взять готовый "хаммер"
ну, я примерно про это и говорил. придется купить спек-переросток, если больше ничего другого не будет.
я понимаю, что интересы экстрим-кодинга и головоломок хардваринга схожи, но головоломки х/в мало имеют отношения к спеку. кому это нравится - изобретают ядра процов и публикуют на опенкорес:)
нет:) всегда есть то, что можно сделать и все скажут УУХ! потом что раньше этого или просто не придумали, и думали об этом поверхностно и решили, что не получится.
не совсем демосцена, но когда подключали винты к спеку, кто мог сказать, что реально играть видео со звуком? да никто. а если бы кто сказал, то это был бы необдуманный ответ. потому что надо сначала попробовать, посидеть, пооптимизировать. а потом переписать еще пару раз код, т.к. никто не знал, что перед чтением сектора могут быть такие большие задержки:) ну и куча всего в таком же духе. т.котельникова тут не при чем:) ниче не нарушается, просто ловкость рук и никакого мошенничества:)
естественно!:):):) это одна из причин:)
в первую очередь Mass Storage (а это может быть и винт), потом усб-телефоно-модемы. ну и линк с пц очень бы не помешал по усб. приложиться здесь есть куда. а сд и ммц просто подключать проще, работать с ними проще (поэтому они уже давно в ходу на спеке), но в произвольный пц их просто так не воткнешь.
что-то я запамятовал... ну, к устройствам - хорошо. хотя в этом есть оверхед, не свойственный спеку. но взять те же сокеты? это никак не файлы. и остальные библиотеки - это не файлы. т.е. если мы отказываемся от избыточного механизма "все есть файл", то и интерфейсы можно делать любые, главное не менять часто.
если рассуждать о просто кодинге, то я точно так же всем говорю - не нужно писать на асме!
ну так а объектный формат нужен в основном для чего?
1. чтобы заново не перекомпилять большие куски кода - для нас не актуально.
2. чтобы не включать лишний код в приложение (да поможет нам условная компиляция).
3. чтобы потом после компиляции только фиксированные адреса проставить.
ну и как бы какой смысл в объектниках для нас?
gas наверняка умеет...
как для аппаратчика да, БК вон сказал как можно сделать. но это "выходит за рамки спектрума";)
дело не в каком-то применении, а в меньшем количестве телодвижений в шедулере. всё.
но ведь приходят не второклассники! люди, которые уже имеют опыт писания на асме. они не в состоянии найти информацию.
хы:) да знаю я прекрасно, как они передаются, и в си, и в си++ и в паскале. на спектруме негласно принято передавать все в регистрах, стек для этого (почти) никогда не используют. разногласия могут быть только в назначении регистров, точно такие же, как и порядок параметров в какой-нить процедуре на си. все описывается в доке и никаких проблем.
да нет, это сложившаяся практика:) и кто об этом не знает, тот и удивляется тем, кто считает, что ос не нужна:) просто люди привыкли писать ТАК, так и пишут. может быть, если попробуют, уже и не оторвешь, но пока так.
ну, конечно пойдет. и фотошоп на спектруме пойдет, только неудобно;))))) я не понимаю как кого-то может смущать, что для создания ПО для каких-то слабых компов юзают более мощные компы. так было еще в 80х годах. что это? сектантство, не иначе.
не я:) в упор не вижу ничего подобного:):)
PentEVO - новый клон, пентагоносовместимый, начинает продаваться прямо на днях.
Нет не так вот есть два жука - первый beetle который заставил выпустить Адольф Шикльгрубер для народа, собственно Volkswagen. Он кстати так и переводится с немецкого. А есть New beetle. Фотографии можете поискать сами в гугле. Можете сравнить их характеристики двигатель объем - 1.4 (75 л.с.) - new beeatle, 1.5 - (50 л.с.) -beeatle.
А хаммер делать никто не предлагает :) вот как то так.
P.S. А вот у Вас с 4 двиглами уже даже не Хаммер а Шатл! :)
да, у ZXPoly есть очень большой недостаток для абсолютного подавляющего "креативного" большинства на этом форуме :) основные претензии как я понял из обсуждений
1. эта идея чья то, что неприемлемо так как "на его месте должен был быть я но не напился"
2. слишком много букв в описании, что наверняка мракобесие
:)
Как думаете насколько T80 оттуда совместим с оригинальным Z80? А ведь Вы не против его применения в ZX. :) очень многое в мире любителей взаимосвязано. Можете представить себе равночастотное ядро с системой команд Z80, однако при этом быстрей Z80, ну скажем раза в 3? Будете применять?
Вопрос хард и софт, это стороны одной медали - развивать только одну из них это подход к проблеме, но согласитесь только с одной стороны. И... что хотелось бы сказать, это удивительно и это многие должны понимать софт как оказалось легко описывает хард и являясь при этом формализацией алгоритма. Я хотел бы просто заметить что есть базис относительно которого софт и хард одно и тоже.
Рискую навлечь на себя Ваш праведные гнев, но :) Вы же условия применимости по Котельникову знаете, я как раз про это - Вы уже приблизились к границе "двух отсчетов на период", а дальше? Поможет ловкость рук при воспроизведении ogg?
Кстати хотел спросить табличный синтез на ZX используется? Вчера посмотрел с ютуба демки на PentEVE не услышал живых инструментов. В начале 90 мы с другом и к ZX и к 86РК прикручивали Wave-синтез.
Все логично, кроме линка с USB. Не понял в этом случае ZX - функция? Если есть ETH, то зачем линк по USB?
Сокеты в *nix то же файлы, и доступ к ним осуществляется по файловому дескриптору.
Почему он избыточен? Вопрос реализации в коде, интерфейс как может быть избыточен? *nix целиком и полностью придерживается POSIX регламентирующего интерфейс. Все взаимосвязано. К тому же сдается мне за POSIX Вы высказывались положительно. :)
Все три названные вами пункта это следствие - цель внести относительность в код через ссылочные сущности вместо абсолютных. Самое главное преимущество помимо названных - код стал перемещаемым и может динамически или статически быть загружен и запущен с любого адреса. Качественная характеристика динамический - например это и оверлеи и прочие радости жизни :). Один из форматов исполняемого файла *nix - elf. Вы же знаете что к такой вещи как PIC (это не Microchip :)) очень долго шли - в том числе и через специальные форматы исполняемых файлов. Были в конце 80-х статьи в Радио "прикручивающие" PIC к коду 8080 на 86РК. Это было жизненно необходимо для РК запустить код с любого адреса в ОЗУ. Элеткронный диск РК - первый прототип ОС использующий это, если мне память не изменяет.
посмотрел вчера как таковой в составе GCC не может даже z80, но есть другие гнутые binutils часть из них может. Может даже elf и coff.
Спорно - писать в таймер новое значение придется, проще передать управление следующему в очереди не снимая флага "квант отработан". Но не стоит ломать копья на этом вопросе он не принципиален.
Нисколько не сомневался что человек с вашем опытом знает соглашения о вызовах в перечисленных выше ЯВУ но назвал то я С-- как пример компромисса между требованиями известных стандартов и желанием не сдерживать полет мысли разработчика. Кстати fastcall передает параметры не через стек правда и стандарт то корявый да и в рамках ANSI C.
Вот поэтому и рекомендовал глянуть как сделано в C--.
Так это же качественный скачок - когда "не оторвешь", неужели не стоит за это бороться. Ну да ладно "мимо кассы, так мимо кассы".
О.... Вы молодец Вы поставили очень хороший вопрос! Разработка для новой платформы на которой еще ничего нет ведется на хосте, но до какой степени? Когда происходит переход на полностью на таргет? Я думаю когда средства разработки позволяют скомпилировать сами себя? Я прав? И мне интересно я посмотрел часть демо на ютубе, сколько работы в этом демо делается не на таргете? Я видел некоторые демки с видеозахватом и понимаю что бы так проиндексировать палитру и на такой платформе воспроизвести - видео нужно готовить, не думаю что грузиться откапчереный avi и на ходу индексируясь выводится на экран, или я не прав? Вы осознаете что применяя для разработки демо хост Вы тем самым демонстрируете заимствование чужой производительности? Это разве не эквивалентно внесению такой мощности в саму платформу?
Ламповая фигня, но выглядит прикольно
http://blog.ultimateavmag.com/ces201...tingray_itube/
По хорошему в синхронном дизайне ставить любые "гейты" на клок категорически не рекомендуется, есть способы и гумманей :)
---------- Post added at 11:47 ---------- Previous post was at 11:37 ----------
В 90-х я писал на спектруме на Си, на очень отвратительном Си отдаленно напоминающем ANSI, так как для обучения в моем распоряжении была Искра 1030М - максимум на 2 часа в день! Я помыслить тогда не мог о переносе кода полученного с хоста на таргет. Я бы просто этого не успел. Верно обратное я исходники с таргета таскал на хост. :)
В то время для меня ZX являлся платформой для разработки и обучения, а до этого им был 86РК только РК уже был хостом безусловн, СМ-ки в то время мне перепадало на 1 час в неделю :). Сейчас так? Наверное в то время я пошел бы на любое ухищрение что бы добавить в РК еще 32К и еще 32К и если бы можно и процессор бы поторопил, только тогда был единственный способ это сделать - разогнать удачный экземпляр.
Ну так себе купите?
Основная претензия то что это не ZX, была высказана выше лицом отождествляющимся с Лаврентием Павловичем,
"слишком много ядер, слишком много памяти....."
Ирония судьбы :) не иначе Лаврентий Палыч оказал "неоценимую" помощь науке в деле расщепления ядра :)
Кто то уже предлагал SMP в спектруме? кроме реализации в ZXpoly?
Подойдите к этому вопросу позитивно - хорошо уже то что она, документация, существует. :) А изменить кол-во знаков в любую сторону вопрос техники.
---------- Post added at 13:50 ---------- Previous post was at 13:28 ----------
кнопка турбо это из самого простого, из самого сложного управляемый генератор тактовой частоты.
Эти соглашения имеют большее отношение к x86, чем к Си. fastcall лежит в рамках ANSI только в том смысле, что последний ничего конкретного в части соглашения о вызовах не говорит. Говорят на этот счет ABI для конкретных платформ (которые не обязательно все существуют в виде спецификаций и не обязательно совпадают у разных производителей инструментария). Можно, конечно, и на маленьких ядрах передавать все параметры через стек, но коммерческие компиляторы все-таки так не делают. Поэтому не понятно, о компромиссе между чем идет речь.
И заодно пару слов о развитии z80. Во-первых, не понятно, каким образом многоядерность может помочь выйти за такт в 70МГц (либо любую другую планку). Во-вторых, конвейеризация в рамках Спектрума тоже не понятно что собой представляет, т.к. оригинальную ULA с таким ядром не повторить. Плюс к тому, весь код, который завязан на времянки перестанет работать. Это, как минимум, весь звук. Предупреждая слова об отключаемом конвейере скажу, что эти слова уходят в продолжение разговоров о том, кто будет это использовать, если это не используется уже существующим софтом.
Еще были слова об оверлеях. Снова не понятно. Оверлеи на то и оверлеи, что не обязаны работать по любым адресам. PIC здесь ни при чем.
Это моя описка - не в рамках ANSI.
Относительно calling conventions утверждаете что ISO-ANSI не регламентирует это? Вы меня честно говоря озадачили сейчас не имею возможности порыться в стандарте, но если у Вас есть прямой линк на это буду благодарен.
Я же специально выделяю слово C-- и его компромиссные соглашения о вызовах, ну неужели так тяжело глянуть? Получается мы обо одних и тех же вещах говорим но по разному :)
Я говорил не об многоядерности в рамках повышения производительности единичного ядра Z80.
А ULA уже удалось "содрать" как схему? Или Вы имеете в виду частотность...родная ULA не позволит работать с шиной Z80 на другой частоте? Так ведь я говорил о равночастотном Z80 и потом есть сигнал wait для работы с медленной периферией. Да и не понятно каким образом ULA вообще засунуть в FPGA решение, сбоку? А какой смысл?
Кнопка турбо, несколько ступеней тактовой частоты. Привести то что есть в соответствие тому что нужно получить из большего всегда можно сделать меньшее.
Зачем же его отключать?
Формально Вы правы - так как оверлей загружается в одно и тоже место в ОЗУ и прирастают от одной базы, то в статической конфигурации свободной области ОЗУ (на заданной системе запускается одна и та же единственная задача использующая оверлей) - да PIC не нужен.
Но если разобраться задач может быть более одной, они же меняют конфигурацию свободной области ОЗУ? Предсказать распределение оверлейного буфера по адресу мы не можем. А оверлей это часть кода, которая может быть загружена в память в любой момент времени. Распределение памяти функция от времени и количества задач. В рамках архитектуры x86 существуют сегменты задающее базу и тем самым упрощающие размещении кода или данных - с градиентом в параграф. Там где модель памяти плоская оттолкнуться от другой базы невозможно а оверлейных задач больше чем одна, без элементов PIC не обойтись. Или я что то упускаю?
---------- Post added at 15:14 ---------- Previous post was at 14:57 ----------
Кол-во тактов на инструкцию изменит да. Но снизить тактовую на этот же коэффициент можно. Добиться кратности по тактам в CISC-е проще чем в RISC-е, хотя бы за счет микрокода.
wb_z80 нашел, интересно посмотрю, спасибо.
---------- Post added at 15:21 ---------- Previous post was at 15:14 ----------
Вы меня ради бога, psb, извините, виноват - это не Вы сказали, это сказал andrews. Мои извинения. :v2_conf3:
пост #26Цитата:
Если некий проект нельзя реализовать одному-троим за полгода работы - этот проект точно не для Спектрума.
Эволюция в этом случае не закончится, (в прочем как и в случае идеологии БК с поэтапным умощнением железа и софта). Просто потому что количество новых прибамбасов подключаемых к спектруму потенциально бесконечно. Этот путь развития ZX-а активно поддерживается на западе как софтом так и железом. Это и понятно так как достать оригинальный спектрум там не есть проблема а далее путь подключения к нему современного устройства типа flash SD card есть логичный шаг вперед. У нас в таком же ключе успешно развиваются наши клоны. Если у Вас вызывает сомнение что такая эволюция может быть интересна кому-то то могу заверить большенство фанов спектрума именно такую эволюцию принимают без каких-либо сопротивлений. Примеры железа можно найти на сайте VELESOFT-a или вот пример софта: http://zx.pk.ru/showthread.php?t=11307
Что же до "революционного развития" в стиле идеологии БК могу сказать что у меня возникает много вопросов:
1. когда люди хотят из спектрума сделать МОЩЬНУЮ жезеляку с софтом типа firefox то возникает закономерный вопрос будет ли эта железяка хотябы чем либо принципиально отличаться от той на которой они клацают кнопки когда постят сообщения на этот форум? если нет то может это людям и не очень то надо (еще одна такая же железяка как уже есть)?
2. МОЩЬНОЕ железо и софт требуют больших усилий в разработке и производстве, особенно это касается софта (потому как ряд железа: 1chipMSX,AlteraDE1,retroleum,C1 ощущает явный недостаток софта который бы выжимал хотябы 70% возможностей этих железяк). Так вот это может похоронить саму идею на корню (можете об этом думать как о самодельном космическом корабле или термоядерной бомбе).
3. Есть довольно широкая гамма ДРУГОГО мощьного железа которое успешно используется энтузиастами для их хобби это nintendo nes\snes\gamecube\dualscreen\wii, sony ps1\ps2\ps3\psp, sega megadrive\dreamcast ... да и банальный x86 PC! Что мешает? берите любую железяку и делайте из нее "Идеальный спектрум от БК", но к сожалению не выйдет ничего... :(