[Z180] Работа с медленной памятью

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

Moderator: Shaos

User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

скажи это фирме Icom 30 лет назад, когда они пихали серьезный код в батареечную память
User avatar
Vasil Ivanov
Doomed
Posts: 413
Joined: 11 Dec 2003 14:34

Post by Vasil Ivanov »

Shaos wrote:
Vasil Ivanov wrote:
Shaos wrote:Вроде даташыт по Z180 пишет про 45-наносекундный цикл записи в случае 33 МГц
Тогда для биосных микрух просто не обойтись без вайтов. Они все 55, 70 и более нсек. Интересная фитча у 180-го - набортный вайт-генератор ;). Только чтобы настроить его на нужное число вайтов, необходимо предварительно прочитать программный код из ПЗУ, доступ к которому уже должен быть обеспечен ;). Вот такой замкнутый круг.
Z180 же по умолчанию запускается на частоте делённой на 2 - вот на этой уменьшенной частоте надо скопировать медленное ПЗУ в быстрое ОЗУ и переключться в нормальный быстрый режим - в этом случае по видимому должно хватить 90 нс ПЗУ (и 45 нс ОЗУ).
А где ты нашел, что Z180 запускается на заниженной частоте ?. Я нашел в мануале только, что после Ресета Z180 устанавливает 3 вайта для памяти и 4 вайта для внешних I/O портов. При таком положении вещей можно и 120нс ПЗУ юзать (скопировал его содержимое в 10нс ОЗУ и настроил на работу без вайтов). Это радует.
Vasil Ivanov
vasil-i@yandex.ru
Bronto
Writer
Posts: 17
Joined: 19 May 2014 03:47
Location: Челябинск

Re: [Z180] Работа с медленной памятью

Post by Bronto »

Vasil Ivanov wrote:1.Как расчитывается кол-во wait-ов для 60ns, 70ns и т.д. памяти ?

2.сколько необходимо добавить
wait-тактов для "добирания" недостающего времени под время доступа памяти ?

3.P.S. Выходит так, что в схемах жестко забито кол-во wait-ов при обмене камня с ОЗУ ?
Автору наверное уже не надо :D но вдруг кому-то понадобится такое же.
1. На даташите обеих микрух смотрятся диаграммы тайминга на рабочих частотах.
Для проца время записи WR, и для памяти время доступа. Если у памяти цикл дольше, то добавляются циклы ожидания. Обычно они добавляются снятием готовности на проце Ready. Проц подвешивается со всеми состояниями выводов на дополнительное время (на доп.такты).

2.Например у проца на 33 Мгц (1 такт - 30нс) время записи (2 такта) 60 нс, а память применена 70 нс. Нужно добавить 1 такт ожидания - тогда цикл записи процессора будет 90 нс. Добавлять можно асинхронно :D
Процессор сам сделает синхронизацию снятия сигнала готовности. Но время длительности сигнала "снятия готовности" - обычно не менее 1-го такта, чтобы проц смог отреагировать на него.

3.Обычно 1 такт делают на счётном D-триггере, а большее кол-во - на двоичных счётчиках. Добавка в цикл записи должна происходить только при дешифрации адреса "медленной памяти" , чтобы не тормозить всю систему.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: [Z180] Работа с медленной памятью

Post by Lavr »

Bronto wrote:Автору наверное уже не надо :D но вдруг кому-то понадобится такое же.
1. На даташите обеих микрух смотрятся диаграммы тайминга на рабочих частотах.
Для проца время записи WR, и для памяти время доступа. Если у памяти цикл дольше,
то добавляются циклы ожидания. Обычно они добавляются снятием готовности на проце Ready.
Да как-бы нам давно это известно... так что "боян" это, уважаемый гуру... :-?

Image
iLavr
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: [Z180] Работа с медленной памятью

Post by Shaos »

Bronto wrote: 2.Например у проца на 33 Мгц (1 такт - 30нс) время записи (2 такта) 60 нс, а память применена 70 нс. Нужно добавить 1 такт ожидания - тогда цикл записи процессора будет 90 нс. Добавлять можно асинхронно :D
Процессор сам сделает синхронизацию снятия сигнала готовности. Но время длительности сигнала "снятия готовности" - обычно не менее 1-го такта, чтобы проц смог отреагировать на него.
Например мы так и не поняли - 33 МГц проц Z180 работает на 33 МГц или таки на 16.5 МГц - уж очень мутно мануал у него написан...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Vasil Ivanov
Doomed
Posts: 413
Joined: 11 Dec 2003 14:34

Re: [Z180] Работа с медленной памятью

Post by Vasil Ivanov »

Shaos wrote: Например мы так и не поняли - 33 МГц проц Z180 работает на 33 МГц или таки на 16.5 МГц - уж очень мутно мануал у него написан...
Может есть оригинальное решение заливки кода в стартовое ПЗУ (ОЗУ) дев-борды на z8s180 камне прямо с персоналки ?. Прошивать ПЗУ-ху в программаторе, потом вставлять в дев-борду как-то сильно напрягает, особенно если параллельно будет происходить ознакомление программирования этого самого 180-го камня и ессно очень частая правка кода ПЗУ.
Vasil Ivanov
vasil-i@yandex.ru
Bronto
Writer
Posts: 17
Joined: 19 May 2014 03:47
Location: Челябинск

Re: [Z180] Работа с медленной памятью

Post by Bronto »

Lavr wrote:Да как-бы нам давно это известно... так что "боян" это, уважаемый гуру... :-? Image
в чём-же тогда вопрос автора темы...

тут два решения либо замедлять проц, либо искать быструю память.
устройство замедления можно сделать адресным - я так делал.
при обращении к медленной пзу - вставляем ожидания.
В остальном пространстве система шпарит быстро.
totem
Writer
Posts: 21
Joined: 11 Mar 2010 05:25
Location: Архангельск

Re: [Z180] Работа с медленной памятью

Post by totem »

Shaos wrote:
Bronto wrote: 2.Например у проца на 33 Мгц (1 такт - 30нс) время записи (2 такта) 60 нс, а память применена 70 нс. Нужно добавить 1 такт ожидания - тогда цикл записи процессора будет 90 нс. Добавлять можно асинхронно :D
Процессор сам сделает синхронизацию снятия сигнала готовности. Но время длительности сигнала "снятия готовности" - обычно не менее 1-го такта, чтобы проц смог отреагировать на него.
Например мы так и не поняли - 33 МГц проц Z180 работает на 33 МГц или таки на 16.5 МГц - уж очень мутно мануал у него написан...
Который мануал из 5?
У меня их 2 "свежих" 2004 -2006,88 года и 2 от Hitachi еще древней.
У меня Z8s18033 в PLCC и QFP и Hitachi на 8 Мгц PLCC.
http://datasheet.octopart.com/Z8018010V ... 113646.pdf
Касаемо клока
Clock Generator. Generates system clock from an exter-nal crystal or clock input. The external clock is divided by
two or one and provided to both internal and external de-vices.

PHI CLOCK. System Clock (Output, active High). The out-put is used as a reference clock for the MPU and the ex-ternal system. The frequency of this output is equal to one-half that of the crystal or input clock frequency

Bit 7.X2 Clock Multiplier Mode. When this bit is set to 1,
this allows the programmer to double the internal clock
from that of the external clock. This feature will only oper-ated effectively with frequencies of 10-16 MHz (20-32MHz
internal)
. When this bit is set to 0, the
Z80180/Z8S180/Z8L180 device will operate in normal
mode. Upon powerup, this feature is disabled.
Весь манауал танцует от частоты,а не от PHI
tcyc Clock Cycle Time указан минимальный 33ns
Т.е. если юзаем кварц или генератор на 16 Мгц, через регистр множить на 2.
PHI будет половина клока.
Все верно?
Простенькую платку давно накидал,
http://i067.radikal.ru/1501/45/8df9e3e408ef.jpg
Сижу думаю, новую рисовать или начинать с этого.
Вся логика управления через слот со 2 циклопом и переходником с 74alvc
Калькулятор для MMU(нужен VBasic)
http://www.z80cpu.eu/mirrors/www.vegene ... index.html