PDA

Просмотр полной версии : Терминология блоков микропроцессора



ВитГо
27.10.2018, 12:45
Доброе время суток,Форумчане!

Занят написанием эмулятора процессора Z80

интересуюсь состоянием линий управления процессором при выполнении тех или иных циклов команд
может быть кто то видел такую литературу ?

например, при исполнении команды LD r,(IX+d) мы имеем четыре цикла:
1. OCF - чтение кода операции
2. OCF - чтение кода операции
3. ODB - чтение байта из памяти
4. IO - внутренние операции
5. MR - запись байта в память

все циклы кроме IO описаны, а вот по нему инфу не нашел, кроме того что длится он 5 тактов... а вот на каком такте какие действия происходят где можно найти?

SAM style
27.10.2018, 15:37
5-тактовый блок IO - это обычно сложение адреса и смещения, но в некоторых командах проц делает что-нибудь другое
MR - это не запись, это чтение байта из памяти
В мануале Z80 описаны растактовки всех циклов

ВитГо
27.10.2018, 15:42
5-тактовый блок IO - это обычно сложение адреса и смещения, но в некоторых командах проц делает что-нибудь другое
Меня интересуют состояния линий процессора во время выполнения этого цикла.. и этой информации я не нашел


MR - это не запись, это чтение байта из памяти
ой, да ! конечно, опечатался


В мануале Z80 описаны растактовки всех циклов
в мануале есть растактовки только циклов связанных с вводом/выводом, прерываниями, предоставления шин адреса/данных... :-(

P.s. если ошибаюсь - ткните пожалуйста...

Котя
01.11.2018, 15:21
P.s. если ошибаюсь - ткните пожалуйста...
Тыкать не буду:) http://zxpress.ru/book.php?id=120

ВитГо
01.11.2018, 15:35
Тыкать не буду:) http://zxpress.ru/book.php?id=120

Есть у меня эта книга :-(
нет там цикла этого..

• извлечение кода операции (цикл M1);
• цикл чтения/записи памяти;
• цикл ввода/вывода;
• цикл предоставления доступа к шине;
• цикл подтверждения маскируемого прерывания;
• цикл подтверждения немаскируемого прерывания;
• выполнение команды останова.

Мне нужен цикл вычислений... он длится 5 тактов...

я с нее и начал..

p.s. пишу с работы и по памяти, но эту книгу я плотно листал (даже купил ее когда то в бумаге)...
Оказывается по ссылке и текстовка есть.. в общем этого цикла нет :-(

PVV
01.11.2018, 19:26
Не совсем понятно, что именно интересует, и какого рода эмулятор пишется, но вот по дальнему родственнику Z80 - i8080 (http://www.nedopc.org/forum/viewtopic.php?f=91&t=17360&start=0) была попытка понять что делает ЦП внутри себя, возможно это как то поможет.
Если нет возможности посмотреть осциллограммы реального Z80, то можно весьма близко к реальности посмотреть на поведение z80 в протеусе, хотя там этого 'неопределенного состояния' нет, но время выполнения каждой команды совпадает и управляющие сигналы выставляются привязано к тактам CLK.
Можно взять простейшую схему включения из этого (http://www.nedopc.org/forum/viewtopic.php?f=89&t=11716) топика. Актуальная версия x80.dll - v12. Ее можно найти в этой (http://www.nedopc.org/forum/viewtopic.php?f=35&t=16064) теме.

ВитГо
02.11.2018, 08:35
Интересует состояние линий процессора в каждом такте..
пишется софтовый эмулятор процессора Z80

задача хоббийная (деньги за это не получу), просто подумываю над написанием хардварного эмулятора того же спектрума, и решил для начала сделать эмуляцию на компьютере..

за ссылки огромное спасибо ! буду смотреть !!

ram_scan
02.11.2018, 10:34
в мануале есть растактовки только циклов связанных с вводом/выводом, прерываниями, предоставления шин адреса/данных... :-(
P.s. если ошибаюсь - ткните пожалуйста...

Все время, которое процессор не занимается шевелением своими ногами (ввод-вывод, чтение-запись памяти, прерывания, ввод-вывод, захват-отпускание шины, регенерация, все это в даташите расписано) он держит свои ноги в Z состоянии.

ВитГо
02.11.2018, 12:14
Ну в теории да.. вот и хотелось бы увидеть где это написано...
(хотя по ссылкам что дал уважаемый pll i8080 тоже должен бы держать... однако не держит...)

CodeMaster
02.11.2018, 12:23
но вот по дальнему родственнику Z80 - i8080 была попытка понять что делает ЦП внутри себя
Есть же (http://zx-pk.ru/threads/23349-potaktovyj-klon-i8080-na-fpga-cpld.html?highlight=1801) потактовый клон и потранзисторная схема после декапинга и реверса ВМ80, а такое для Z80 не делали?


просто подумываю над написанием хардварного эмулятора того же спектрума
В смысле в ПЛИС? Ну, корок-то Z80 вроде много разных уже.

ZXMAK
03.11.2018, 12:47
если есть сам процессор, то можно купить на алиэкспресс вот такой модуль:
https://www.aliexpress.com/item/EZ-USB-FX2LP-CY7C68013A-USB-logic-analyzer-I2C-serial-and-SPI-core-board-Source-Code-development/32851287266.html

к нему есть софт анализатора 24 МГц/8 каналов или 12 МГц/16 каналов. Собрать макетку и исследовать :)
При желании, можно написать свой софт к контроллеру этого модуля (там контроллер на базе 51-го кристалла), у него 24 ноги под I/O

shurik-ua
03.11.2018, 13:44
кажется процы с буквой "С" - z84C004 - и подобные можно тактировать от 0 Гц - собираете простенькую схему где в качастве такта стоит кнопка со схемой антидребезга - и меряете на каком выводе что происходит во время каждого такта

ZXMAK
04.11.2018, 19:10
shurik-ua, при тактировании от низкой частоты, результаты эмуляции недокументированных флагов могут отличаться, т.к. их состояние зависит от переходных процессов на ёмкостях и индуктивностях кристалла процессора.

mastermind
09.11.2018, 00:28
подумываю над написанием хардварного эмулятора того же спектрума, и решил для начала сделать эмуляцию на компьютере..
Можно в каком-то смысле сделать и то и другое одновременно, см.: http://www.clash-lang.org/


Features of CλaSH:
...
* Interactive REPL: load your designs in an interpreter and easily test all your component without needing to setup a test bench.
* Compile your designs for fast simulation.
...