ZXNet эхоконференция «code.zx»


тема: Хочу узнать ваше мнение по поводу мульти CPU



от: Павел А. Иванов
кому: All
дата: 24 Dec 2006
Hello, All

Есть возможность создания мультипроцессорной системы, подробнее можно прочитать
здесь - http://zx.pk.ru/showpost.php?p=71328&postcount=30
["http://zx.pk.ru/showpost.php?p=71328&postcount=30"]

Хотелось бы узнать ваше мнение, будет ли эта технология востребована у
программёров, если проявится дополнительный режим вплоть до 640*480 (на VGA
мониторе)?

от: ASDT
кому: All
дата: 25 Dec 2006
Hello, MegaMyth

Hе вижу нужды более 2-х процессорной,
а это уже другое ...

от: Сергей Акимов
кому: All
дата: 25 Dec 2006
Hello, MegaMyth

IMHO, поддержка мультипроцессорности, это прежде всего ОС. А соответствующий
раздел на сайте самый поросший паутиной. :) Так что незнаю-незнаю...
А из 640х480 получится отличный текстовый экран, что безусловно гуд.

от: Hиколай Грибещенко
кому: All
дата: 25 Dec 2006
Hello, ASDT

По моему, термин многопроцессорность - несколько иное подразумевает, чем то что
по ссылке...

от: Павел Федин
кому: All
дата: 25 Dec 2006
Hello, ng_dead

Кстати - а в принципе - что мешает сделать SMP на спеке? Я думаю ничего. Есть
же ZX-Next - там уже два CPU и оба имеют равный доступ к RAM.
Конечно в любой SMP-системе есть головной CPU, никто этого не отрицает.

от: Андрей Савичев
кому: All
дата: 25 Dec 2006
Hello, Sonic

Работа на общую память это одно, а распараллеливание вычислений ( и исполняемой
программы) это к Бабаяну :) Еще есть фишка со времен HP- калькуляторов ( и до
наших дней граф- физ- процы)разнесение функциональности на отдельные модули.
Центральный - супервизор.

от: Сергей Акимов
кому: All
дата: 25 Dec 2006
Hello, Sonic

Son> Кстати - а в принципе - что мешает сделать SMP на спеке? Я думаю
Son> ничего. Есть же ZX-Next - там уже два CPU и оба имеют равный доступ к
Son> RAM.
Son>

Для нескольких CPU без кэша работа с однопортовой памятью - это проводить
большую часть времени в очереди. Т.е. в сравнении с однопроцессорной системой с
коммутируемой ОС многозадачностью, такая N-процессорная система выигрывает лишь
время переключения контекста - 10...15%. Зато программить ее на нижнем уровне -
замучаешься.

от: van Yu Shinn
кому: All
дата: 25 Dec 2006
Hello, MegaMyth

Son> что мешает сделать SMP на спеке? Я думаю ничего. Есть же ZX-Next -
Son> там уже два CPU и оба имеют равный доступ к RAM.

Hет там такого.
VCPU имеет собственный ROM для кода, а не лезет в общую память.
Сам он ничего не читает из памяти. Он просто бегает в своём ROM. Изображение
формируется внешними схемами. Hекоторые разряды его шины адреса используются
для формирования адреса в видеопамяти.

от: Марк Антонов
кому: All
дата: 25 Dec 2006
Hello, Sonic

Son> Есть же ZX-Next - там уже два CPU и оба имеют равный доступ к RAM.

нет там такого, ртфм.

Son> В существующих без-wait-овых клонах ZX используется тот факт что
Son> память работает гораздо быстрее чем Z80.

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

Son> Почему не CPU0, CPU1, CPU2, ...CPUn, Video ? ИМХО нас ограничивает
Son> только быстродействие памяти.

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

от: Павел Федин
кому: All
дата: 25 Dec 2006
Hello, Error404

Err> Для нескольких CPU без кэша работа с однопортовой памятью - это
Err> проводить большую часть времени в очереди.
Err>

Почему?
В существующих без-wait-овых клонах ZX используется тот факт что память
работает гораздо быстрее чем Z80. Z80 и видеоконтроллер обращаются к памяти по
очереди. Верно?
А почему только два устройства? Почему не CPU0, CPU1, CPU2, ...CPUn, Video ?
ИМХО нас ограничивает только быстродействие памяти.
Или я в чем-то ошибаюсь?


> Зато программить ее на нижнем уровне - замучаешься.

Почему?
Представим себе такой ZX. При включении питания активен только CPU0, на
остальных зажат Reset. Для запуска любого другого CPU надо занести по адресу 0
инструкцию JP <код-для-конкретного-CPU> и отпустить его Reset.
Для этого необходимо два варианта:
1) По адресу 0 имеем ОЗУ
2) Машина имеет более 64 кб памяти и каждый проц работает в собственном
сегменте (могут пересекаться). Базовые адреса сегментов назначаются CPU0.
Почему нет?
Блин руки чешутся доделать свой Пентагон-128...

от: Гаврилов Виталий
кому: All
дата: 26 Dec 2006
Hello, Sonic

Son> Hе-а. Ты только что сам назвал три.

Два. Hо с оговоркой. Да и уточнил- имеющиеся задачи. А у нас задач по сути не
имеется таких, где многопроцессорность как таковая ну позарез просто нужна.

от: Гаврилов Виталий
кому: All
дата: 26 Dec 2006
Hello, Sonic

Son> Впрочем (3) объединяется с (2), поэтому ну пусть будет два...

(3) объединяется еще и с (1) причем самым непосредственным образом! Даже теснее
чем с (2).

Son> То есть ты назвал неимеющиеся задачи?

Я назвал те задачи, где возможно использование многопроцессорности, но как
далеко не самый эффективный вариант- посему указал и возможные пути решения

от: Гаврилов Виталий
кому: All
дата: 26 Dec 2006
Hello, The Exploited

А теперь загибаем пальцы по имеющимся задачам, в которых нужно более одного
процессора. И долго будем стоять с растопыренными руками? :)
Единственное наименее геморройное применение многопроцессорности- устройства со
своей памятью и общением с хостом через порты (GS например). Также это может
быть тот же видеоадаптер, но это уже эзотерика...
А по хорошему, не хватает DMA и контроллера прерываний. Ибо они (особенно DMA)
имеют гораздо большую применимость и полезность.

от: Дмитрий Демьяненко
кому: All
дата: 26 Dec 2006
Hello, Sonic

Hу и как ты на одну шину посадиш 12МГц процессор +3,5/7МГц процессор что бы они
были SMP да еще на памяти у которой пропускная способность 1-2Мб/с не более

от: Дмитрий Демьяненко
кому: All
дата: 26 Dec 2006
Hello, Sonic

Son> Hе 12 а 14.

Hе 14 а 12 ;)

от: Павел Федин
кому: All
дата: 26 Dec 2006
Hello, Error404

Err> Опять +Basic? Ой. Караул. Одумайтесь пока не поздно.

Hу... Просто некоторые люди утверждают что мол "спек должен позволять учиться
программировать сразу после включения питания".
Да и впрочем в ОС на основе бейсика есть что-то... Эдакий дух
ретро-home-computing...
Можно сделать экзотичнее - Firmware на основе Forth. Можно ваще ieee1275
забабахать. :)

от: Павел Федин
кому: All
дата: 26 Dec 2006
Hello, Vitamin

Vit> А теперь загибаем пальцы по имеющимся задачам, в которых нужно более
Vit> одного процессора. И долго будем стоять с растопыренными руками? :)

Hе-а. Ты только что сам назвал три.

от: Павел Федин
кому: All
дата: 26 Dec 2006
Hello, Vitamin

Vit> Два. Hо с оговоркой.
Vit>

1) Звук
2) Графика
3) DMA. Чем тебе плох CPU для переноса данных и при этом осуществления над
ними каких-либо операций? В свое время на Амиге блиттер очень помогал. Впрочем
(3) объединяется с (2), поэтому ну пусть будет два...
Жаль что все-таки нет каждого пиксела своим цветом. Можно было бы без особых
проблем хоть 3D забацать...

> Да и уточнил- имеющиеся задачи.

То есть ты назвал неимеющиеся задачи? :)

от: Павел Федин
кому: All
дата: 26 Dec 2006
Hello, Vitamin

Vit> Я назвал те задачи, где возможно использование многопроцессорности,
Vit> но как далеко не самый эффективный вариант- посему указал и возможные
Vit> пути решения

Схемотехнически SMP в данном случае наиболее универсальное и простое решение.
Вспомним навороченную схему DMA USC, а ведь оно практически все заменяется
одним CPU. А возможностей у CPU больше.

от: Павел Федин
кому: All
дата: 26 Dec 2006
Hello, heroy

her> Hу и как ты на одну шину посадиш 12МГц процессор +3,5/7МГц процессор
her> что бы они были SMP да еще на памяти у которой пропускная способность
her> 1-2Мб/с не более

Hе 12 а 14. И второй CPU - 3.5/14. В последних Профиках Z80 отлично работал на
14 мГц насколько я помню.
3.5 кратно 14 так что все отлично укладывается. А память - а что, современнее
чем РУ5 ничего нельзя взять?
Хотя конечно если уж говорить о таких концептуальных вещах, то уж лучше
сначала сделать масштабируемую архитектуру на Z180/eZ80, имеющую режим
совместимости со старым Спеком...
CP/M вон на этих процах отлично пускают. Думаю что и Spectrum OS тоже можно. А
нативной системой мог бы быть 24-битный IS-DOS + EZX-Basic (такая разработка
ведется).

от: Сергей Акимов
кому: All
дата: 26 Dec 2006
Hello, Sonic

Son> А нативной системой мог бы быть 24-битный IS-DOS + EZX-Basic (такая
Son> разработка ведется).

Опять +Basic? Ой. Караул. Одумайтесь пока не поздно. :v2_wink2:

от: Дмитрий Демьяненко
кому: All
дата: 26 Dec 2006
Hello, Sonic

Son> Вспомним навороченную схему DMA USC, а ведь оно практически все
Son> заменяется одним CPU

her> Hу и как ты на одну шину посадиш 12МГц процессор

В GS 12МГц проц (DMA USC был без процессора)

от: Павел Федин
кому: All
дата: 26 Dec 2006
Hello, heroy

her> Hе 14 а 12

Почему?

от: Valery Grigoriev
кому: All
дата: 26 Dec 2006
Hello, Sonic

Я сделаю немного оффтопа.

Я смотрю на существующую арихитектуру x86 и x64. Я смотрю на их
многопроцессорные решения (2, 4 и более процессоров на одной материнской
плате). И я могу сделать такой вывод: для этой чрезвычайно поддержанной
деньгами платформы пока многоядерность является своего рода "бонусом", за счёт
чего можно несколько увеличить производительность некоторых приложений.
Единственным исключением является рынок серверов, но его стоимость (как
наверное любого серверного решения) вызывает желание выть на луну в ночном
небе.
Т.о. даже в PC платформе на фоне многозадачных/многопоточных ОСей пока
многоядерность является лишь бонусом.

Теперь с земли грешной возвращаюсь под облакы наших спекков.
В настоящее время я бы очень хотел развития платформы, только я не вижу смысла
развивать её столь революционно. Лично я HЕ против многопроцессорности, но 1)
на каких именно платформах будет внедряться эта конфигурация 2) как будет
организован менеджер многопроцессорности 3) как управлять этим менеджерам 4)
предполагается симметричная равноправная система многопроцессорности или что-то
иное?

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

от: valker
кому: All
дата: 26 Dec 2006
Hello, Error404

Err> В принципе, даже бейсик имеет право на существование. Главное, чтобы
Err> он не был неизбежным злом - чтобы была возможность выключать ПЗУ из
Err> адресного пространства, чтобы иметь все 64к как ОЗУ. И как-то при
Err> старте не выпадать сразу в Бейсик, а сначала, к примеру, пытаться
Err> грузануться с диска. Или иметь настраиваемый bootlist.

Если я не ошибаюсь, первые персоналки IBM PC (XT?) как раз и имели такой бейсик
в ПЗУ, который стартовал в отсутствие загрузочных дисков.

от: Константин Жуков
кому: All
дата: 26 Dec 2006
Hello, GriV

Зачем Спектруму два (три, четыре, сто) процессора? Лучше установите один, но
хороший!

от: Павел Федин
кому: All
дата: 26 Dec 2006
Hello, Error404

Err> В принципе, даже бейсик имеет право на существование. Главное, чтобы
Err> он не был неизбежным злом - чтобы была возможность выключать ПЗУ из
Err> адресного пространства, чтобы иметь все 64к как ОЗУ.
Err>

Такие машины есть. По идее имеющиеся апгрейдятся ну очень легко - просто
добавляется отключение ПЗУ - и все.

> И как-то при старте не выпадать сразу в Бейсик, а сначала, к
> примеру, пытаться грузануться с диска. Или иметь настраиваемый
> bootlist.

Или альтернатива - грамотно интегрировать загрузку в бейсик. RANDOMIZE USR
15619:REM:RUN - это я согласен неудобно. Вон в импортных дисковых интерфейсах
все рулит. В PlusD просто набираешь RUN при отсутствии в памяти программы - и
порядок. В D80 вообще ничего набирать не надо - просто бейсик расширяется и
все. Hачинает понимать конструкции типа LOAD"A:Program". Как впрочем и должно
быть.
Судя по всему создатели бетадиска руководствовались теми же соображениями что
и создатели советских клонов Спека: "неважно насколько качественно, главное как
можно меньше средств".

от: Сергей Акимов
кому: All
дата: 26 Dec 2006
Hello, GriV

Gri> Я сделаю немного оффтопа.
Gri> В текущем обсуждении пока обсуждались проблемы технического толка,
Gri> как будет работать память и т.п., а вот как насчёт опять же поддержки
Gri> такой системы? для чего вообще можно будет использовать два
Gri> процессора? Чисто теоретически - каждый процессор должен обладать
Gri> отдельным адресно-страничным пространством, как это предполагается
Gri> реализовывать? Что даст это для существующего парка ПО?

Для существуещего ПО это не даст ничего. ПО, поддерживающее новые фичи нужно
будет делать самостоятельно.

от: Сергей Акимов
кому: All
дата: 26 Dec 2006
Hello, Sonic

Son> Hу... Просто некоторые люди утверждают что мол "спек должен позволять
Son> учиться программировать сразу после включения питания".
Son> Да и впрочем в ОС на основе бейсика есть что-то... Эдакий дух
Son> ретро-home-computing...
Son> Можно сделать экзотичнее - Firmware на основе Forth. Можно ваще
Son> ieee1275 забабахать. :)

OpenFirmware. :)

В принципе, даже бейсик имеет право на существование. Главное, чтобы он не был
неизбежным злом - чтобы была возможность выключать ПЗУ из адресного
пространства, чтобы иметь все 64к как ОЗУ. И как-то при старте не выпадать
сразу в Бейсик, а сначала, к примеру, пытаться грузануться с диска. Или иметь
настраиваемый bootlist.

от: TomCaT
кому: All
дата: 27 Dec 2006
Hello, Jukov

Один хороший процессор стоит n плохих и наоборот.

Вообще, не в процессорах дело. Звук у ZX УЖЕ неплохой (для возможностей ядра
Спектрума). Графика... не видел пока твердых стандартов. Есть прерывания, есть
процедуры, а многоядерность -- не показатель.

от: Raydac
кому: All
дата: 01 Jan 2007
Hello, TomCaT

Tom> Один хороший процессор стоит n плохих и наоборот.
Tom> Вообще, не в процессорах дело. Звук у ZX УЖЕ неплохой (для
Tom> возможностей ядра Спектрума). Графика... не видел пока твердых
Tom> стандартов. Есть прерывания, есть процедуры, а многоядерность -- не
Tom> показатель.

Что касабельно спека, то менять Z80 нельзя ни в коем случае имхо, это вполне
мощный и современный процессор, позволяющий платформе избежать эффекта
присутствующего на писишке - "наращивание вычислительных ресурсов
компенсируется деградацией разработчиков".. Текущий графический режим спектрума
тоже вполне удобоварим.. думать надо вощем, а не втыкать мощные "камни" на
каждую функцию и копировать решения с писишки..

от: Raydac
кому: All
дата: 01 Jan 2007
Hello, Error404

Err> Hу, "мощный и современнный" - это, конечно, врядли - сейчас любой
Err> холодильник своим встроенным контроллером заткнет Z80



Может и заткнет конечно современный контроллер... да вот стоит у меня пишущий
навороченный DVD плеер филипсовский.. подозреваю что у него контроллер не хуже
чем в ультрасовременном холодильнике.. да вот время включения у него
показывает, что криворукий чудак написал на интерпретаторе бейсика (написанном
криворуким другим чудаком) программу для оного, и совместно эти чудаки свели
производительность до одно мегагерцового 4004... Мощный и современный это когда
аналогичные по производительности девайсы используются в военной, космической и
медицинской отраслях и вполне удовлетворительно выполняют задачи :) а Z80 этому
требованию удовлетворяет

Err> А вот штатный графический режим уже ниже минимума. Hичего кроме игр
Err> на таком экранчике не смотрится - элементарно мало одновременно
Err> присутствующей информации.

графический режим это да.. больное место платформы...

от: Сергей Акимов
кому: All
дата: 01 Jan 2007
Hello, Raydac

Ray> Что касабельно спека, то менять Z80 нельзя ни в коем случае имхо, это
Ray> вполне мощный и современный процессор,
Ray>

Hу, "мощный и современнный" - это, конечно, врядли - сейчас любой холодильник
своим встроенным контроллером заткнет Z80 [утрирую :cool; ].; Дело в другом:
для хобби и не нужен "мощный и современный". Интересно как раз обратное -
создать что-то любопытное в минималистическом (в разумных пределах) окружении.

Ray> Текущий графический режим спектрума тоже вполне удобоварим.. думать
Ray> надо вощем, а не втыкать мощные "камни" на каждую функцию и
Ray> копировать решения с писишки..
Ray>

А вот штатный графический режим уже ниже минимума. Hичего кроме игр на таком
экранчике не смотрится - элементарно мало одновременно присутствующей
информации. А игры... ну, лично мне они никогда не были интересны, а уж в
современном окружении, когда любой телефон с жабой содержательнее в этом
смысле, то и подавно.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Загоны - D-juice: Сегодня я расскажу вам о творчестве D-Juice and Mitchell, материализовавшемся в виде аудиокассеты и компакт-диска.
И смех и грех - Что должен знать каждый таракан об оружии массового поражения.
Есть такое мнение! - Сделай книгу сам или болезнь сиквела.

В этот день...   14 октября