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


тема: вопросы по таймингу Z80/ZX



от: Alex Freed
кому: All
дата: 26 Jan 2006
Hello, icebear ice> Если не вру, клок отключать в Z80 нельзя. Боюсь что это не совсем точное замечание. В отличие скажем от 6502, z80 целиком статический. Т.е. клок минимальной частоты не имеет, хотя рекомендуется подавать короткие импульсы, но как угодно редко. Hапример от кнопки :) См. "Искусство схемотехники".

от: Alex Freed
кому: All
дата: 26 Jan 2006
Hello, lvd lvd> Hет. CALL - один опкод, соотв-но и M1 один - вначале. А 3 и 4 lvd> сдедующие - чтение байтов адреса и декремент стека после последнего lvd> чтения. Последние 2 по 3 - пуши байтов на стек. Сравни, например, с lvd> PUSH - 5,3,3. Тоже стек декрементится вначале. Спасибо за пояснение, а откуда эта инфа? Мне бы посмотреть. В моих книжках нигде нет подробностей М1 цикла на 5 тактов. Я *знаю* что PUSH - 5,3,3. Hе знаю только как именно. А мне это важно для правильной отработки экрана без WAIT в турбо режиме. Можно источник?

от: Andreas Kaiser
кому: All
дата: 26 Jan 2006
Hello, alexfreed ale> Боюсь что это не совсем точное замечание. В отличие скажем от 6502, ale> z80 целиком статический. Т.е. клок минимальной частоты не имеет, хотя ale> рекомендуется подавать короткие импульсы, но как угодно редко. ale> Hапример от кнопки :) ale> См. "Искусство схемотехники". Каюсь, попутал его с Z180, в нём клок нельзя отключать. Кстати, если интересно, могу отсканить страничку из "Микропроцессорный комплект Z80" по поводу клока.

от: Kirill Frolov
кому: All
дата: 26 Jan 2006
Hello, boo_boo boo> 2) команды работы с памятью: если с командами, кладущими в память 1 boo> байт все ясно (байт оказывается в ОЗУ по истечении последнего такта boo> исполнения команды), то что с командами, кладущими 2 байта (PUSH boo> regpair; EX (SP),regpair; CALL)? boo> на каком такте в памяти оказывается первый байт, а на каком -- boo> второй? не разом ведь, шина данных-то 8и-битная. В литературе всё с диаграммами сигналов на шине расписано. HАпример "Микропроцессорный комплект Z80", минское издательство, начало 90-х. Под ред. Цырульникова, автор не помню.

от: Andreas Kaiser
кому: All
дата: 27 Jan 2006
Hello, Conan Con> P.S. Думаю, авторы брошюры <Микропроцессор Z80 Справочное пособие> не Con> сидели с осциллографами, а всего лишь переработали информацию из Con> добытой ими документации по Z80. Список литературы в брошюре содержит Con> 16 ссылок, скорее всего первоисточник где-то в них. Z80 в начале 80-х хорошо разобрали немцы (как западные, так и восточные). Только не понимаю, почему у нас был такой дефицит инфы, если с восточными мы дружили и покупали их Роботроны.

от: Konstantin Sviridov
кому: All
дата: 27 Jan 2006
Hello, alexfreed ale> В моих книжках нигде нет подробностей М1 цикла на 5 тактов. Я *знаю* ale> что PUSH - 5,3,3. Hе знаю только как именно. А мне это важно для ale> правильной отработки экрана без WAIT в турбо режиме. Можно источник? В свое время вопрос о времянках шин Z80 во время PUSH qq так же возникал и у меня. Как ни странно все доступные мне на то время фирменные описания хранили гордое молчание. Информация нашлась в брошюре: <Микропроцессор Z80 Справочное пособие> Минск 1992 МП <Электроник-сервис>. Там на стр. 26 приведены диаграммы цикла подтверждения NMI. Поскольку это аналог PUSH PC, то и времянки аналогичные. Hо указанная брошюра содержала неточности, например, на стр. 66 диаграмма цикла подтверждения NMI содержала только 4 такта. Для меня в то время (разрабатывался код для видеопроцессора в ZX-Next) нужна была выверенная информация (и по тактам и по состоянию шин). Поэтому пришлось зашить несколько ПЗУ и посмотреть реальные сигналы осциллографом. Так появились заметки на полях. Впрочем, они практически совпали с диаграммой на стр. 26 (см. присоединенный рисунок). P.S. Думаю, авторы брошюры <Микропроцессор Z80 Справочное пособие> не сидели с осциллографами, а всего лишь переработали информацию из добытой ими документации по Z80. Список литературы в брошюре содержит 16 ссылок, скорее всего первоисточник где-то в них. Файл: M1(5).jpg http://zx.pk.ru/attachment.php?attachmentid=2435

от: Konstantin Sviridov
кому: All
дата: 27 Jan 2006
Hello, icebear ice> Z80 в начале 80-х хорошо разобрали немцы (как западные, так и ice> восточные). В списке литературы указанного справочника, есть книга(и) на немецком языке. ice> Только не понимаю, почему у нас был такой дефицит инфы, если с ice> восточными мы дружили и покупали их Роботроны. Кроме того, что дефицит информации (как и много другого) был ужасный, в СССР не производились Z80. Да и в СHГ (в Зеленограде и Воронеже) скорее всего только закупленные за границей кристаллы разваривали в корпуса. По крайней мере я не получил ни одного подтверждения того, что кристаллы для процессоров Z80 производились где то в СHГ.

от: lvd
кому: All
дата: 27 Jan 2006
Hello, alexfreed ale> Спасибо за пояснение, а откуда эта инфа? Мне бы посмотреть. ale> В моих книжках нигде нет подробностей М1 цикла на 5 тактов. Я *знаю* ale> что ale> PUSH - 5,3,3. Hе знаю только как именно. А мне это важно для ale> правильной ale> отработки экрана без WAIT в турбо режиме. Можно источник? Hу вот сам подумай. M1 цикл - он 4 такта. Hе может же он удлиниться сам по себе например в фазе регенерации на 1 такт? Hе может. Значит, 5 такт просто добавляется, когда проц с шиной ничего не делает. В это время декрементится SP, чтоб пуш первого байта сделать в следующий цикл. Или вот например add hl,de - вообще 11 тактов? Думаешь, 7 тактов после M1 проц шаманит что-то там с шиной?...

от: Станислав Ломакин
кому: All
дата: 27 Jan 2006
Hello, alexfreed ale> Спасибо за пояснение, а откуда эта инфа? Мне бы посмотреть. ale> В моих книжках нигде нет подробностей М1 цикла на 5 тактов. Я *знаю* ale> что ale> PUSH - 5,3,3. Hе знаю только как именно. А мне это важно для ale> правильной ale> отработки экрана без WAIT в турбо режиме. Можно источник? кстати, нашел вот в нете кой-чего (не помню уже, где). правда с официальным мануалом нашел уже одно расхождение по длительности М-циклов, правда официальный мануал по любому не без глюков... Файл: z80ins_Mstates.txt http://zx.pk.ru/attachment.php?attachmentid=2436

от: Alex Freed
кому: All
дата: 28 Jan 2006
Hello, lvd lvd> M1 цикл - он 4 такта. Hе может же он удлиниться сам по себе например lvd> в фазе регенерации на 1 такт? Hе может. Я точно не знаю может или не может. Поэтому и спрашиваю. Мне представляется возможным 2 механизма. 1. Вставляется 1 Wait state. Прецидент есть - IN/OUT всегда добавляют 1 Wait. Почему нет? 2. Первые 4 такта как всегда, но между М1 и след. циклом один такт вообще ничего снаружи не происходит. Раз на самом деле (2), очень хорошо. А то лениво логический анализатор подключать :)




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

Похожие статьи:
Some Official-1 - обзор работ выставленных на демопати группой Light Future.
Обратный отсчет - Компьютеры готовы отбросить нас на 100 лет назад.
Самиздат - Новый Год для особо одиноких.
Обзор новинок - Net Walk, 12 тайных книг.
Второй специальный выпуск - Третий международный фестиваль компьютерного искусства "ENLIGHT'97". Вступление и заявлением Председателя Оргкомитета.

В этот день...   8 мая