Z80 - разделение памяти

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

Moderator: Shaos

User avatar
BarsMonster
Senior
Posts: 126
Joined: 21 Jul 2012 15:56
Location: Zürich, Switzerland

Z80 - разделение памяти

Post by BarsMonster »

Добрый день,

Правильно ли я понимаю, что код+данные и стек на разные сегменты внешней обвязкой можно разделить на i8080, но не на z80?
И наоборот, на Z80 можно на отдельную страницу выделить страницу памяти через IN/OUT, т.к. там порты 16-битовые?

Были ли компьютеры которые это активно использовали?
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Z80 - разделение памяти

Post by Shaos »

Ну то, что IN/OUT уходит в другое место, использовали почти все производители компов на z80 :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mondx
Doomed
Posts: 505
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Z80 - разделение памяти

Post by Mondx »

Я использую.) Адресую AT29F020.
Mondx
Doomed
Posts: 505
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Z80 - разделение памяти

Post by Mondx »

BarsMonster wrote: Правильно ли я понимаю, что код+данные и стек на разные сегменты внешней обвязкой можно разделить на i8080, но не на z80?
И наоборот, на Z80 можно на отдельную страницу выделить страницу памяти через IN/OUT, т.к. там порты 16-битовые?
Были ли компьютеры которые это активно использовали?
Были.) В молодости адресацию эл. диска на z80 делал через push/pop.
В данный момент есть машинка на z80 адресуемая AT29F020 через IN/OUT.
Mondx
Doomed
Posts: 505
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Z80 - разделение памяти

Post by Mondx »

Shaos, что то я не дождусь модерации своего сообщения, написанного ещё 10-го числа?
Ни ответа, ни привета.) Или так и должно быть? Пишу здесь потому что не нашел как писать кому то из администрации.
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Z80 - разделение памяти

Post by Shaos »

Сильно извиняюсь - только сейчас заметил :roll:

Так-то народ обычно в Курилку семафорит, что надо одобрить человека
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
BarsMonster
Senior
Posts: 126
Joined: 21 Jul 2012 15:56
Location: Zürich, Switzerland

Re: Z80 - разделение памяти

Post by BarsMonster »

Mondx wrote:Были.) В молодости адресацию эл. диска на z80 делал через push/pop.
А как на z80 отслеживается обращение к стеку? Т.е. как железо поймет что сейчас чтение/запись в стек идет?
Mondx
Doomed
Posts: 505
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Z80 - разделение памяти

Post by Mondx »

Дай бог памяти... На логике (5 входов на ШД) делался дешифратор push/pop (11xx0x01), сигнал с которого подавался на вход D-триггера, стробируемого по /M1. Ну и разрешение на /R триггера. Пару МС всего.)
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Z80 - разделение памяти

Post by Lavr »

Mondx wrote:На логике (5 входов на ШД) делался дешифратор push/pop (11xx0x01), ...
Может быть селектор push/pop (11xx0x01) всё же? :roll:
iLavr
Mondx
Doomed
Posts: 505
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Z80 - разделение памяти

Post by Mondx »

Пусть будет селектор.) Важно что он определяет наличие push/pop на ШД.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Z80 - разделение памяти

Post by Lavr »

Ну... как бы селектор и дешифратор - это некоторая разница... :wink:

Вот только i8080 имеет собственные средства разделить пространства, а селекторами можно обвешать
любой микропроцессор, не только z80...
iLavr
Mondx
Doomed
Posts: 505
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Z80 - разделение памяти

Post by Mondx »

Lavr wrote:Ну... как бы селектор и дешифратор - это некоторая разница... :wink:
А в вашем понимания что такое селектор?
Lavr wrote:Вот только i8080 имеет собственные средства разделить пространства, а селекторами можно обвешать
любой микропроцессор, не только z80...
И чо?) Я рассказал как это реализовывал с z80.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Z80 - разделение памяти

Post by Lavr »

Mondx wrote:
Lavr wrote:Ну... как бы селектор и дешифратор - это некоторая разница... :wink:
А в вашем понимания что такое селектор?
Ну это вам любой Гугл подскажет, если вы не знаете... :wink:
Mondx wrote:И чо?) Я рассказал как это реализовывал с z80.
Так я вам и говорю, что это не встроенное средство z80, а внешняя приблуда.
У 8080 это заложено в архитектуру самогО микропроцессора.
То есть, у z80 собственных архитектурных средств для выделения пространства стека нет.
Своей схемой вы отлавливаете инструкции push/pop на ШД, но со стеком также работают CALL, RET и иже с ними.
Так вот у 8080 аппаратно все они попадают в отдельное пространство памяти стека, если необходимо.
iLavr
Mondx
Doomed
Posts: 505
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Z80 - разделение памяти

Post by Mondx »

В вопросе ТС не было про встроенные/внешние средства.
BarsMonster wrote: Правильно ли я понимаю, что код+данные и стек на разные сегменты внешней обвязкой можно разделить на i8080, но не на z80?
И для 8080 тоже нужна какая-никакая но приблуда, дабы выделить операцию со стеком.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Z80 - разделение памяти

Post by Lavr »

Mondx wrote:В вопросе ТС не было про встроенные/внешние средства.
BarsMonster wrote: Правильно ли я понимаю, что код+данные и стек на разные сегменты внешней обвязкой можно разделить на i8080, но не на z80?
И для 8080 тоже нужна какая-никакая но приблуда, дабы выделить операцию со стеком.
Опять вы невнимательно читаете и топикстартера и меня:
Lavr wrote:Своей схемой вы отлавливаете инструкции push/pop на ШД, но со стеком также работают CALL, RET и иже с ними.
Все операции со стеком ваша "приблуда" не отлавливает, а значит и не выделяет пространство стека
в отдельный сегмент, как это написано в посте топикстартера.
У 8080 в слове состояния же указывается обращение к стеку.
iLavr