Author |
Message |
Mac Buster
Retired
Joined: 03 Aug 2003 22:37 Posts: 1474 Location: Moscow
|
Больные люди делают страшные вещи, даже смешно. Я 10 лет назад в результате размышлений над подобной задачей (тоже как ни странно ОС, только для Спинтера) решил что наиболее эффективным будет создание виртуального 32-разрядного процессора, позволяющего включать в свой код вставки написанные на ассемблере Z80 и разрешал выполнять их в пределах 16к страницы памяти. По собственным тестам программа для виртуального процессора работал медленнее в два раза аналогичного, но написанного сразу в коде Z80. Зато скорость разработки выросла в 100500 раз - команды были реализованы в виде макросов для кросс-ассемблера. Надо бы код поискать.
_________________ Extreme Entertainment
|
26 Apr 2011 10:44 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Александер - ну зачем уж так... самые классные вещи обычно и делают люди, которым не сказали что чего-то ЭТОГО сделать нельзя
А поищи - 10 лет спустя это действительно интересно!
|
26 Apr 2011 11:00 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22678 Location: Silicon Valley
|
А я наверное построю таки это монстрокомп когда-нибудь...
Пусть только HardWareMan поподробнее изложит свою идею параллельной работы 8080-х:
| | | | HardWareMan wrote: Чисто теоретически. Если взять шлюзовый сегмент в 64КБ (W24512-15), у нее время доступа 15нс, но можно удвоить для совместимости. Т.е. 30нс. Это означает примерно 33МГц. Если запустить ВМ80 на 2,5МГц (как бы ему больше и не осилить), то 2 проца это 5МГц, 4 проца это 10МГц, а 8 процов - это 20МГц. 20МГц это 50нс, что длиннее наших 30 с запасом. В итоге, делаем циклогенератор так, чтобы F2 у каждого процессора был строго в своей фазе (20МГц разделить на 8 фаз), а ОЗУ разрешать (гейтить) к каждому процессору на переднем фронте F2 с учетом его RD/WR (т.е., когда F2 0=>12, ОЗУ должно уже устаканить свой адрес и быть готово к обращению). Все, каждый процессор будет работать независимо, на своей частоте и не мешать другим (ну кроме содержимого ОЗУ). Останется только одному из процессоров подсунуть буткод и вывесить сбросы всех процов на регистр контроля. Хотя, если у каждого из процессоров сделать выделенный порт статуса, откуда он мог бы считать свой номер, то буткод мог бы быть общим в 0, и первым делом считывал бы свой номер а потом согласно номеру прыгал бы на свою ветку. | | | | |
|
26 Apr 2011 20:50 |
|
|
HardWareMan
Banned
Joined: 20 Mar 2005 13:41 Posts: 2141 Location: От туда
|
Куда уж конкретнее? Давай так, приведи исходные данные или ТЗ в целом (количество процессоров, их тактовая и т.д.).
Last edited by HardWareMan on 05 Jan 2014 07:10, edited 1 time in total.
|
26 Apr 2011 21:21 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22678 Location: Silicon Valley
|
Кол-во процессоров в одном модуле с общей памятью - от 5 до 10
Кол-во многопроцессорных модулей, соединённых каналами связи - любое
Ты мне растактовочку на пальцах разрисуй и схему генератора надо прикинуть
|
26 Apr 2011 22:04 |
|
|
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1345
|
А почему предпочтение оказывается SMP? Для таких скромных аппаратных ресурсов надо что-то по-проще. К примеру, главный процессор, у которого 4...16 каналов DMA к подчинённым. Общая память не исключается, но мне кажется более простым в реализации эдакая "клиент-серверная" модель, когда процессоры обмениваются сообщениями по SMTP-подобному протоколу через порты. Как плюс этого решения - лёгкость в отладке, можно предусмотреть при проектировании простые отладочные средства. Подчинённые процессоры должны не только выполнять отдельные задачи, полученные от главного, но и быть, к примеру, "умными контроллерами", максимально освобождая главный процессор от рутины (клавиатура, диски...).
Старые компы на К580 требуют, как правило, слишком большой модернизации (ПДП, прерывания) для использования возможностей К580 по максимуму. С другой стороны, современные ПЗУ и статические ОЗУ позволяют собрать достаточно компактную схему. Это тот случай (по-моему), когда разумнее собрать новую схему, а не пытаться использовать старые. Но можно и нужно в новой схеме предусмотреть максимум возможностей по использованию имеющегося ПО.
Вот, ещё один крупный специалист-теоретик по многопроцессорным системам нарисовался...
|
02 Jun 2011 01:52 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну поскольку проблема сама по себе интересная и неоднозначная, глядишь,
мы вместе что-то и порешаем. Не вижу вреда от ещё одного крупного специалиста-теоретика...
|
02 Jun 2011 03:45 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Сложилось у меня впечатление, что вот по этому адресу
http://www.wasm.ru/forum/viewtopic.php?pid=428564
наш коллега Paguo_86PK (если это он) ещё одну многозадачную систему
изобрёл. А заодно и К580ВМ80 с защищённым режимом.
Какая притягательная задача многозадачности!!!:wink:
|
24 Jun 2011 15:46 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22678 Location: Silicon Valley
|
Как-то некузяво - общей памяти нету и т.д.
Мне идея HardWareMan-a больше нравится - про размазывание процессоров по времени с доступом к одной и той же памяти без вейтов...
|
24 Jun 2011 16:00 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Няшно-ли, кузяво-ли... всё-равно это просто размышления на тему...
Есть наши, а есть и альтернативные. Я просто привёл пример...
|
24 Jun 2011 16:12 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22678 Location: Silicon Valley
|
Про разные процы 8080 подцепленные вместе через некоторое подобие сети я ещё в 1997 году своим эмулятором эмулил - неинтересно...
|
24 Jun 2011 17:44 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну а кому-нибудь может и интересно...
Я твою поделку образца 1997 года также впервые вижу.
Тем не менее, все раздумья и реминисценции никак не сдвигают с места сабж.
|
25 Jun 2011 05:55 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22678 Location: Silicon Valley
|
А я вижу её второй раз в жизни
Я в 1997 запускал её только один раз и окончательный рабочий вариант судя по всему посеял - пришлось вчера обрабатывать напильником чудом сохранившийся полурабочий
Там крутится 2 экземпляра операционной системы ShaOS (кодовое наименование S004) и две программки: NETR (читалка сети) на одном узле и NETW (писалка сети) на другом узле, а внизу виден последовательный сигнал идущий по сети
P.S. По идее сеть для недокомпов тоже имеет право на существование...
|
25 Jun 2011 07:58 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Я, собственно, что хотел сказать, добавив эту ссылку, что проблема
многозадачности привлекательна и будоражит разные умы, как на нашем
форуме, так и за его пределами (т.к. эта ссылка не первая здесь)
Но несмотря на кучу усилий, идея так и не получила хотя бы убогого,
но реального воплощения в виде железного прототипа.
Сравнивать достоинства и недостатки умозрительных решений я не ставил
своей задачей...
|
25 Jun 2011 09:06 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22678 Location: Silicon Valley
|
ну сети из 8-биток в 90-е строили все кому не лень
|
25 Jun 2011 09:27 |
|
|