PC на Z80!

Микропроцессоры и микроконтроллеры от фирмы Zilog, а также компьютеры на них построенные

Moderator: Shaos

Shadovv13
Novelist
Posts: 40
Joined: 06 Jul 2011 11:19
Location: 95.135.142.82

PC на Z80!

Post by Shadovv13 »

Доброго времени суток.
Надобно собрать ПК по собственной разработанной архитектуре, сразу же возник вопрос. Какой вбирать проц.?
В поле зрения попали такие цпу 80286, Пентиум 1(P5) и Z80.
Первый откинут через тупизну архитектуры и частоты!
Второй очень сложный в подключении, без ПЛИС не обойтись, откинут!
Выбор остановился на Z80!

Так вот вопрос заключается в следующем. На какую частоту реально разогнать Z80H - 6МГц, но не в схеме спектрума?
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Возьми современный 20-мегагерцовый Z80
Ну или Z180 на 33 мегагерца
P.S. Z80H это вроде 8 МГц, нет?
Я тут за главного - если что шлите мыло на me собака shaos точка net
Shadovv13
Novelist
Posts: 40
Joined: 06 Jul 2011 11:19
Location: 95.135.142.82

Post by Shadovv13 »

Shaos wrote:Возьми современный 20-мегагерцовый Z80
Ну или Z180 на 33 мегагерца
P.S. Z80H это вроде 8 МГц, нет?
Да где же его взять то?
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Re: PC на Z80!

Post by jdigreze »

Shadovv13 wrote:Надобно собрать ПК по собственной разработанной архитектуре, сразу же возник вопрос. Какой вбирать проц.?
В поле зрения попали такие цпу 80286, Пентиум 1(P5) и Z80.
Первый откинут через тупизну архитектуры и частоты!
Второй очень сложный в подключении, без ПЛИС не обойтись, откинут!
Выбор остановился на Z80!
Мне вот почему-то так кажется, что архитектура компьютера и используемый процессор накладывают друг на друга некоторые ограничения. Цель проекта сама в себе, или для выполнения конкретных прикладных задач? Если сама в себе, то бери Z80, который до сих пор в радиолавках встречается в продаже, видимо запасы со спектрумовских и АОНовских времен. Еще доставаемо семейство MSC51, так как использовалось активно в кассовых аппаратах, и в сервисцентрах по кассам думаю можно выпросить себе вполне работоспособные платы от кассовых аппаратов, вышедших из реестра.
Shadovv13 wrote:Так вот вопрос заключается в следующем. На какую частоту реально разогнать Z80H - 6МГц, но не в схеме спектрума?
Z80H идет штатно на 8МГц, разгоняется в некоторых экземплярах на 12МГц. Только вот не пойму, зачем разгонять?

Где взять? Купить. Выпросить у знакомых. Выдернуть из какого-нибудь железа. Тут куча вариантов.
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shadovv13 wrote:
Shaos wrote:Возьми современный 20-мегагерцовый Z80
Ну или Z180 на 33 мегагерца
P.S. Z80H это вроде 8 МГц, нет?
Да где же его взять то?
Найти местного Киевского дистрибьютора ну или в интернете - mouser.com и digikey.com вроде с Украиной работают...
Я тут за главного - если что шлите мыло на me собака shaos точка net
Shadovv13
Novelist
Posts: 40
Joined: 06 Jul 2011 11:19
Location: 95.135.142.82

Post by Shadovv13 »

Как зачем разгонять?
- Производительность побольше!!!

Друг, Z80L в спектрум на 12 разогнал. Вот мне теперь интересно потянет ли 20 мгц, с качественным тактовым и буферизацией?
Где то вычитал что на каждые 50пф на шине адреса, задержка увеличиваться на 10 нс, но это в Z80, Z80А.
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shadovv13 wrote:Как зачем разгонять?
- Производительность побольше!!!
И надёжность поменьше? ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
Shadovv13
Novelist
Posts: 40
Joined: 06 Jul 2011 11:19
Location: 95.135.142.82

Post by Shadovv13 »

Shaos wrote:
Shadovv13 wrote:Как зачем разгонять?
- Производительность побольше!!!
И надёжность поменьше? ;)
Ну так в разумных рамках!!!

Никак не могу найти тайминги на Z80H. Помогите пожалуйста! :cry:
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

8 МГц он - отсюда и "тайминги" считай...

P.S. если нужен быстрый Z80, то со старьем лучше не связывайся - купи 20-мегагерцовый Z80 или 33-мегагерцовый Z180 - их поди тоже можно "разогнать" при желании...
Я тут за главного - если что шлите мыло на me собака shaos точка net
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Post by jdigreze »

Shadovv13 wrote:Как зачем разгонять?
- Производительность побольше!!!
Т.е. я так понимаю, что проект не просто курсак или диплом?
Shadovv13 wrote:Друг, Z80L в спектрум на 12 разогнал.
не сочетается с:
Shadovv13 wrote:Ну так в разумных рамках!!!
А вообще, по слухам, некоторые партии Z80A (4MHz) можно было запустить на в 2,5 раз большей частоте.
По Z80H сам лично видел у знакомого разогнаный до 16MHz, правда жутко грелся, и требовал кристально чистого питания - любая помеха клала его на лопатки.
Shadovv13
Novelist
Posts: 40
Joined: 06 Jul 2011 11:19
Location: 95.135.142.82

Post by Shadovv13 »

Т.е. я так понимаю, что проект не просто курсак или диплом?
Так и есть! В мой адрес пришла заявка, с текстом -"Слабо ....".
По Z80H сам лично видел у знакомого разогнаный до 16MHz, правда жутко грелся, и требовал кристально чистого питания - любая помеха клала его на лопатки.
Если не изменяет память, Z80L с пониженным энергопотреблением, вот он и разгонялся прекрасно! Ну да ладно, методом научного тыка разберемся!


Сейчас другое интересует!
Планирую приделать ему страничную память, по 32к(верхних).
Так вот в планах переключение страниц через порт, но увидел один интересный нюанс.
В Z80 есть множество не документированных команд, на пример начинающихся с префикса ED. В диапазонах 00...3F команды вообще ничего не делают. Вот и можно использовать для переключения страниц! :rotate:
Как вы смотрите на такую идею? :o
Жду критики!
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

схема детектирования многбайтовой команды будет тяжелее чем просто регистр в порту
Я тут за главного - если что шлите мыло на me собака shaos точка net
jdigreze
God
Posts: 1388
Joined: 02 Jan 2006 02:28
Location: Abakan

Post by jdigreze »

Shadovv13 wrote:Сейчас другое интересует!
Планирую приделать ему страничную память, по 32к(верхних).
Так вот в планах переключение страниц через порт, но увидел один интересный нюанс.
В Z80 есть множество не документированных команд, на пример начинающихся с префикса ED. В диапазонах 00...3F команды вообще ничего не делают. Вот и можно использовать для переключения страниц! :rotate:
Как вы смотрите на такую идею? :o
Жду критики!
Проще можно, без префиксов. Например командами LD A,A (B,B;C,C...). Хотя OUT схемотехнически еще проще, заглатываемые команды не надо отслеживать.
Shadovv13
Novelist
Posts: 40
Joined: 06 Jul 2011 11:19
Location: 95.135.142.82

Post by Shadovv13 »

схема детектирования многбайтовой команды будет тяжелее чем просто регистр в порту
Не особо, ловим М1 и ED, активируем декодер, по младшим трем битам(к примеру), остальные заводим через ИЛИ. получение биты в регистр страниц! :rotate:

Проще можно, без префиксов. Например командами LD A,A (B,B;C,C...).
Да я рассматривал вариант использования этих пустышек, но как то использование стандартных команд в не стандартных целях, это минус. Но плюсов больше;
1. Одно байтовые команды.
2. Один цикл на исполнение.
3. 100% работа на всех Z80(старых)

А что касательно OUT, так это много времени!!!
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Не забывай, что недокументированные команды могут вести себя недокументированно. С другой стороны, когда я вентилировал этот вопрос, я думал отслеживать команды типо LD A,(BC)/LD A,(DE) и LD (BC),A/LD (DE),A и подменять им память в не М1 цикле. А на что подменять - тут и регистра в порту хватит. Имеем и скорость работы (как с обычной памятью) и параллельный доступ. И команды эти легче отследить: M1+02/12/0A/1A. Единственная сложность - предыдущий префикс. Потому как, может получится команда CB 0A, а это далеко не LD. Выхода два: отслеживать установку префикса или реагировать только на не М1 цикл, который следует только за М1 циклом. Т.е., CB 0A не имеет не М1 цикл за собой, поэтому, при M1+0A включаем шлюз и выключаем при следующем М1 цикле - получается автодетект настоящей команды 0А. Ну как-то так. :3