Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Для начинающих (http://zx-pk.ru/forumdisplay.php?f=43)
-   -   В чем смысл раздельных областей программы и данных (http://zx-pk.ru/showthread.php?t=13019)

Keeper 3rd June 2010 09:42

Quote:

Originally Posted by Vadim (Post 288541)
Чушь. Полнейшая охинея!!!! Сигнал М1 что означает? Читать доки умеем? МАШИННЫЙ цикл. Что это? А? Выборка кода операции (КОП) и не более того!

Quote:

Originally Posted by Vadim (Post 288541)
Следующие за машинным циклом циклы не стробируются М1!!!! Z80 сам по себе не может отличить коды команд от данных, память одна.

Взаимоисключающие параграфы? :v2_lol::v2_lol::v2_lol: Курим схему компьютера ZX-NEXT на досуге...

---------- Post added at 07:42 ---------- Previous post was at 07:35 ----------

Кстати, неплохой повод пофлемить, а зачем же тогда прилепили это недоразумение к Z80? Могли бы просто вывести какой нибудь сигнал /IAK например чтоб подтверждать прерывания :v2_laugh:

ZEK 3rd June 2010 10:46

Quote:

Originally Posted by Keeper (Post 288546)
стати, неплохой повод пофлемить, а зачем же тогда прилепили это недоразумение к Z80?

Смахивает на попытку развить тему сопроцессора

Vadim 3rd June 2010 12:57

Quote:

Originally Posted by Keeper (Post 288546)
Курим схему компьютера ZX-NEXT на досуге...

Я уже говорил выше. Читайте доки. Я знаю о сигналах Z80 уже лет так 15 наверное. Если использовать сигнал М1 для выборки из другой памяти, то дальнешие коды команды он получит из основного (не по М1) ОЗУ. И что будет? Бред будет. Сидите и смейтесь дальше.

---------- Post added at 13:37 ---------- Previous post was at 13:34 ----------

Quote:

Originally Posted by Keeper (Post 288546)
Взаимоисключающие параграфы?

Где? Как взаимоисключающие? КОП состоит из ОДНОГО байта. ОДНОГО. А вся команда может содержать до 4-х байт. КОП идет первым. Я не понимаю Keeper, сложно что ли было открыть книгу по Z80? Или как? Зачем вынуждаете меня писать прописные истины? Может ещё будем рассуждать сколько бит в байте?

P.S. Хотя для справедливости ради и что бы другие тут не стали выезжать и гнуть пальцы, скажу, что если первый байт окажется префиксом, то Z80 генерирует второй машинный цикл подтверждая его сигналом /M1. Дополнительный байты в команде сигналом M1 НЕ стробируются.

---------- Post added at 13:57 ---------- Previous post was at 13:37 ----------

P.S. http://trd.speccy.cz/book/Z80CPU.ZIP - курим главу 4.

Keeper 3rd June 2010 13:02

Quote:

Originally Posted by Vadim (Post 288581)
Где? Как взаимоисключающие?

Я так и не понял может Z80 отделить КОП (я это назвал опкод в своих постах) от всего остального или нет?

Quote:

Originally Posted by Vadim (Post 288581)
Я уже говорил выше. Читайте доки. Я знаю о сигналах Z80 уже лет так 15 наверное. Если использовать сигнал М1 для выборки из другой памяти, то дальнешие коды команды он получит из основного (не по М1) ОЗУ. И что будет? Бред будет. Сидите и смейтесь дальше.

Я уже говорил выше, Вам стОит посмотреть схему ZX-NEXTa, а не читать доки на Z80.

psb 3rd June 2010 13:11

короче, отделить-то можно, но смысла НЕТ.

например, LD A,(#1234).
1. читается код команды LD A,(...) c M1
2. читается мл. байт адреса БЕЗ М1 по следующему адресу
3. читается ст. байт адреса БЕЗ М1 по следующему адресу

итого, разделите память по М1 и жить станет очень весело:)

Vadim 3rd June 2010 13:13

Quote:

Originally Posted by Keeper (Post 288593)
Я так и не понял может Z80 отделить КОП (я это назвал опкод в своих постах) от всего остального или нет?

Z80 стробирует первый машинный цикл, читайте доки! Он называется M1. Команда состоит от одного до 4-х байт. Код команды всегда занимает один байт и от 1 до 3-х байт - параметры команды, префикс не считается командой, это как-бы псевдокоманда. Таким образом если у нас есть команда ld hl,1234h, то в памяти она выглядит как
hex:
21 - при считывании стробируется низким уровнем на выходе M1
34
12
Используется зачем - написано в доке. Для подтверждения прерывания совместно с iorq, для указания внешним схема что он приступил к выборке следующего КОП. По его спаду (переходу в 1), по сигналу /RFSH производится регенерация динамического ОЗУ. Более того, цикл чтения КОП более короткий нежели простые циклы чтения. И именно этот сигнал используется в Профи версии 5, что бы вставить после него такт ожидания в турборежиме, удлиняя его (выборку КОП) с 3-х тактов до 4-х.
По схеме ZX-Next скажу вот что, пока я ее не смотрел (не было у меня ее), найду скачаю - погляжу. Уверен, что ни каких 2-х разных 64К пространствах там нет. Скорее всего все совсем иначе. M1 используется для других целей (т.к. второй Z80 там используется в схеме видеоконтроллера).

Keeper 3rd June 2010 13:13

Quote:

Originally Posted by psb (Post 288598)
короче, отделить-то можно, но смысла НЕТ.

Вот не надо подсказывать ;) Речь ведь шла о возможности, а не о целесообразности :)

Vadim 3rd June 2010 13:14

Quote:

Originally Posted by psb (Post 288598)
короче, отделить-то можно, но смысла НЕТ.

Он хотел отделить всю команду, что бы можно было программу читать из одного банка памяти, а данные из другого. Т.к. называемая гарвардская архитектура. На Z80 это сделать Нельзя!

Keeper 3rd June 2010 13:20

Quote:

Originally Posted by Vadim (Post 288599)
Используется зачем - написано в доке. Для подтверждения прерывания совместно с iorq

И не только, читайте доки до конца, смотреть диаграммы Power-Down Acknowledge и Power-Down Release

Quote:

Originally Posted by Vadim (Post 288599)
По его спаду (переходу в 1), по сигналу /RFSH производится регенерация динамического ОЗУ.

Это что-то новое: /MREQ = 0, /RFSH = 0

Quote:

Originally Posted by Vadim (Post 288599)
Более того, цикл чтения КОП более короткий нежели простые циклы чтения. И именно этот сигнал используется в Профи версии 5, что бы вставить после него такт ожидания в турборежиме, удлиняя его (выборку КОП) с 3-х тактов до 4-х.

Наверное все-таки с 2 до 3...

Quote:

Originally Posted by Vadim (Post 288599)
По схеме ZX-Next скажу вот что, пока я ее не смотрел (не было у меня ее), найду скачаю - погляжу

Сейчас посмотрю, у меня где-то есть...

Keeper 3rd June 2010 13:22

1 Attachment(s)
Схема...


All times are GMT +4. The time now is 23:52.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.