Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » su: Innenschaltungen von Z80's » Themenansicht

Autor Thread - Seiten: -1-
000
25.09.2013, 18:23 Uhr
Enrico
Default Group and Edit


Ist sowas schon mal jemanden über den Weg gelaufen?

Ich meine jetzt nicht als Ätzmaske der ganzen Z80-ICs, sondern als
Logikfunktionen, möglichst als "Nachbildung" durch TTL-ICs, weils
dann etwas verständlicher ist.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
25.09.2013, 18:30 Uhr
TTL-Grab



Das wäre wirklich interessant. Und dann aus TTL-ICs nachbauen. Das ergibt dann ein TTL-Grab
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
25.09.2013, 18:43 Uhr
Micha

Avatar von Micha

auf opencores gibts mindestens einen Z80 als HDL Quelltext, falls Du sowas meinst.

Ich back erst mal kleinere Brötchen, hab mir von dort einen Quelltext für einen 8080 Core heruntergeladen (weil der Verilog war, was ich eben gelernt hatte).

Oder meinst du was ganz anderes mit deiner Frage?
--
Der Sozialismus siecht!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
25.09.2013, 18:53 Uhr
Andreas



Ist keine Z80 aber diskret. http://www.mycpu.eu/

Auch recht interessant.Der hatte vor Jahren auch mal Platinen angeboten.

Andreas
--
Viele Grüße
Andreas
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
25.09.2013, 23:49 Uhr
Enrico
Default Group and Edit


@Micha, nee, das ist ja Software.

@Andreas, Dennis war schon mal vor ein paar Jahren hier auf dem VCFE.
Ist schon interessant, aber das mit den Platinen lies ich dann doch lieber sein.
Da fehlt es dann doch an der Zeit.

Mir geht es schon um die Innenschaltung der Z80 ICs.

Mal als Bsp.: Holm kam doch mal mit Problemen bei der U857 an.
Da wären die Innenschaltung zur Fehleranalyse, etc. schon sinnvoll.

Aber andereseits wird das wohl auch nicht viel bringen, da das jeder Hersteller ja irgendwie anders gemacht haben kann. Eindeutig ist ja nur das, was in der
Doku zu den ICs steht.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
26.09.2013, 07:33 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Eine Z80 CPU mit TTL nachzubauen wäre recht aufwändig. Schätzungen gehen bei rund 8000 Transistoren von bis zu 500 ICs aus.

Alternative Projekte findest Du unter "Homebuilt CPUs WebRing":
http://members.iinet.net.au/~daveb/simplex/ringhome.html
z.B. ein 4-Bit-Prozessor mit vertretbarem Aufwand.
--
VolkerP

http://hc-ddr.hucki.net
(z9001, Z1013, LC-80, ...)

Dieser Beitrag wurde am 26.09.2013 um 08:19 Uhr von volkerp editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
26.09.2013, 23:10 Uhr
abnoname

Avatar von abnoname


Zitat:
Enrico schrieb
@Micha, nee, das ist ja Software.

Nein das _ist_ hardware nach der du gefragt hast.

stichwort: z1013 fpga, verilog, vhdl

verilog oder vhdl beschreiben exakt die logik und zustände einer digitalschaltung.

ein ttl grab ist dann wie ein fpga oder asic nur ein mögliches syntheseziel.

hat 0,nix mit software zu tun.

vg
franz

Dieser Beitrag wurde am 26.09.2013 um 23:11 Uhr von abnoname editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
26.09.2013, 23:58 Uhr
Enrico
Default Group and Edit



Zitat:
abnoname schrieb

Zitat:
Enrico schrieb
@Micha, nee, das ist ja Software.

Nein das _ist_ hardware nach der du gefragt hast.

stichwort: z1013 fpga, verilog, vhdl

verilog oder vhdl beschreiben exakt die logik und zustände einer digitalschaltung.

ein ttl grab ist dann wie ein fpga oder asic nur ein mögliches syntheseziel.

hat 0,nix mit software zu tun.

vg
franz

Dat stimmt aber so nicht.
Das ist Software, die Hardware beschreibt.

Ich hatte nach Hardware gefragt.
VHDL, etc. hilft mir hier leider gar nichts.
--
MFG
Enrico

Dieser Beitrag wurde am 27.09.2013 um 00:00 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
27.09.2013, 06:05 Uhr
abnoname

Avatar von abnoname

Das ist ein Irrtum!

Die synthetisierte Schaltung ist ein Ergebnis der Logikentwicklung mittels HDL.

Glaub mir doch :-)

Lade das Paket herunter und jag es durch eine FPGA Synthese. Die meisten Tools zeigen dir daraufhin die Gatterschaltung an.

Der Z80 ist mit Sicherheit auch durch eine damals übliche HDL beschrieben wurden. Die Gatterschaltung ist nicht die Quelle sondern ein Ergebnis daraus.

HDL ist und war noch nie Software. Guck einfach mal in die Texte :-)

vg
Franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
27.09.2013, 08:24 Uhr
P.S.



Mal wieder zurück zu einem TTL-Rechner, bzw. Äquivalent zur Z80_CPU-Hardware.
So etwas ähnliches hatte wir im AEB gebaut als Steuerrechner für die Flaschensortieranlage. Eine ausführliche Beschreibung dazu wird es demnächst auf meiner HP geben.
Diesen Rechner und eine ALU-Platine mit 74181/182 hatte ich vor geraumer Zeit hier im Forum an den Mann gebracht. Leider ist mir entfallen wer das war.
Vielleicht kann derjenige mal berichten, was daraus geworden ist...

@volkerp <005>
Einen Z80 in TTL nachzubauen halte ich gar nicht für so aufwändig, wenn man vom internen Funktionsschaltbild ausgeht. Man nehme:

- ein Pärchen 74181/182 als kaskadierbare ALU (8Bit)
- 12x 8Bit-Register, also 74374 o.ä. für B, C, D, E, H, L und den Alternativregistersatz
- 4x 8Bit-Register für die 16Bit-Indexregister IX, IY
- 2x 8Bit-Register für das 16Bit-Stackregister
- 4x 74193 für den 16Bit-Programmzähler
Dann wäre da noch der Mikrocode-Programmdecoder - sicherlich günstig in einem STTL-PROM zu realisieren und noch einige Logik-Schaltkreise für das Steuerwerk.
Aus der "Technischen Beschreibung Zentrale Verarbeitungseinheit CPU U880D" (A4-Heft , 61 S.) kann man alle wesentlichen Details entnehmen.
Alles in allem kommen dabei aber m.E. keine 500 ICs zusammen.

Auch wenn das interne Logik-Schaltbild der Z80_CPU bekannt wäre, könnte man doch an Hand dessen kaum ein TTL-Äquivalent aufbauen. Die Schaltkreis-Designer denken in ganz anderen Kategorien, denn sie müssen sich an die Gegebenheiten der zu verwendenden MOS-Technologie halten.
Noch eine Bemerkung zum Z80-System.
Die anderen System-Schaltkreise (PIO, CTC, DMA und vor allem die SIO) sind bei weitem komplexer als die CPU.

Nun bin ich aber gespannt, ob sich da wirklich jemand ans Werk macht...

Das Wissen der Menschheit gehört allen Menschen! -
Wissen ist Macht, wer glaubt, der weiß nichts! -
Unwissenheit schützt vor Strafe nicht! -
Gegen die Ausgrenzung von Unwissenden und für ein liberalisiertes Urheber- und Markenrecht!
PS
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
27.09.2013, 09:19 Uhr
jmueller



@abnoname:
Ich möchte mich jetzt nicht über die Definition von realer und beschriebener
Hardware streiten. Das Problem ist doch ein anderes:
Wer kann denn garantieren, dass der HDL-Z80 exakt einem realen Z80 entspricht?
Ich denke, dass niemand das garantieren kann außer den Leuten,
die die Chip-Masken entwickelt oder nachentwickelt haben.
Insofern dürfte der frei verfügbare HDL-Z80 nur eine (Hardware-)Emulation sein.

Z.B. wurde erst vor ein paar Jahren das sogenannte MEMPTR-Register im Z80 entdeckt.
Exakte arbeitende Z80-Emulatoren (oder was man als solche ansieht)
gab es aber schon vorher.
Daran sieht man, dass eine Emulation nun mal nur nachbildet,
im Idealfall sogar 100-ig, aber eben nicht identisch zum Original ist.


Update:

P.S. schrieb:

Zitat:
Die anderen System-Schaltkreise (PIO, CTC, DMA und vor allem die SIO) sind bei weitem komplexer als die CPU.

Nö, die sind nur weit aus weniger erforscht.

Jens

Dieser Beitrag wurde am 27.09.2013 um 09:36 Uhr von jmueller editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
27.09.2013, 09:43 Uhr
abnoname

Avatar von abnoname

Das ist wohl war: eine reale Schaltung des originalen Z80 ist korrekter als die HDL der Nachentwicklung.

Ein Z80 reverse engineering aufgrund der Masken existiert nicht im Netz? ...mal suchen.

VG
Franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
27.09.2013, 10:52 Uhr
Enrico
Default Group and Edit



Zitat:
jmueller schrieb


Z.B. wurde erst vor ein paar Jahren das sogenannte MEMPTR-Register im Z80 entdeckt.

Jens, das erklär mir bitte mal.
Davon habe ich noch nie was gehört.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
27.09.2013, 10:55 Uhr
Enrico
Default Group and Edit



Zitat:
abnoname schrieb
Das ist ein Irrtum!

Die synthetisierte Schaltung ist ein Ergebnis der Logikentwicklung mittels HDL.

Glaub mir doch :-)

Lade das Paket herunter und jag es durch eine FPGA Synthese. Die meisten Tools zeigen dir daraufhin die Gatterschaltung an.

Der Z80 ist mit Sicherheit auch durch eine damals übliche HDL beschrieben wurden. Die Gatterschaltung ist nicht die Quelle sondern ein Ergebnis daraus.

HDL ist und war noch nie Software. Guck einfach mal in die Texte :-)

vg
Franz

Wenn ich jetzt MEINEN Hardwaretest dürchführen würde, hättest Du Schuld,
dass meine Kniescheibe weg ist, und der Notarzt kommen müsste.

--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
27.09.2013, 11:46 Uhr
Tom Nachdenk



@Enrico
Wofür brauchste das denn? Der Z80 wurde als Transistorschaltplan entsprechend der realen Anordnung auf dem Chip gezeichnet, Signale wurden nur an den Blatträndern benannt. Lizenznehmer haben dann daraus teilweise Logikdiagramme entwickelt.

P.S. hats ja schon angedeutet, allerdings hat er die Heerscharen von breiten und superbreiten Multiplexern ausgelassen die nötig wären um die ganzen Registerausgänge mit den ALU-Eingängen zu verbinden. Oder man nimmt ein Hilfsregister, braucht dann aber 2 Takte bis am ALU-Ausgang ein gültiges Ergebnis anliegt. Es gibt aber 74172 'Dual Port Register File', die die Sache vereinfachen. Oder man nimmt 2 Sätze an RAM und beschreibt beide mit jeweils identischen Daten. Wobei der Datenpfad noch relativ einfach ist. Die Ablauffolgesteuerung im Z80 ist allerdings nicht als Mikroprogramm ausgelegt sondern als Schaltnetz, sonst wäre der sicher wesentlich größer geworden.

Auf Bitsavers gibt es eine Appnote von AMD zum AM2900, bei der ein AM9080 (i8080 Nachbau) 'diskret' aufgebaut wird. Allerdings nicht ganz zyklentreu.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
27.09.2013, 12:50 Uhr
jmueller



Enrico schrieb:

Zitat:
Jens, das erklär mir bitte mal.
Davon habe ich noch nie was gehört.

"Z80 MEMPTR" als Suchstring im Google führt dich schnell zum Ziel.
Hier der Original-Post vom Entdecker des Registers aus dem Jahr 2006:
http://www.grimware.org/lib/exe/fetch.php/documentations/devices/z80/z80.memptr.eng.txt

Wegen diesem Register muss nun nicht die Z80-Geschichte umgeschrieben werden,
aber es zeigt doch, dass die interne Arbeitsweise des Prozessors
weit weniger bekannt ist als allgemein angenommen.

Jens
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
27.09.2013, 17:44 Uhr
Enrico
Default Group and Edit



Zitat:
Tom Nachdenk schrieb
@Enrico
Wofür brauchste das denn?

Um rauszubekommen, wie sich die ICs bei Zuständen verhalten, die nicht in der Doku steht.
Ein gutes Beispiel wäre der Fred von Holm zur U857.

Anderes Bsp.
Angenommen ein Z80-Rechner mit S-RAM. Eine DMA soll am Stück
16 KB kopieren. Das ist doch dieser Continuos-Mode.
Die DMA wird programmiert. DMA fordert den Bus mit /BUSRQ bei der CPU an.
Wenn die soweit geneigt ist, bestätigt die das mit /BUSACK.
Dann übernimmt die DMA den Bus, und schauffelt fleissig um.
Ist sie fertig, gibt die den Bus wieder frei.
Das steht auch so in der Doku drin.

Was würde nun passieren, wenn zwischendurch, wenn die DMA den Bus hat,
/BUSACK wieder H werden würde?


Anderes Bsp.
IN der Doku findet sich immer die Übertragung per DMA für die SIO als Blockschaltbild. Aber nichts für die PIO.
IN der Doku zur PIO werden die Handshake-Signale STB und RDY zur
Übertragung zwischen PIO und der daran angeschlossenen Peripherie
genommen.
Diese müsste man doch eigentlich auch zur Übertragung mittels DMA
nehmen müssen. Es findet sich dazu aber nichts in der Doku.






Zitat:
Der Z80 wurde als Transistorschaltplan entsprechend der realen Anordnung auf dem Chip gezeichnet, Signale wurden nur an den Blatträndern benannt. Lizenznehmer haben dann daraus teilweise Logikdiagramme entwickelt.

Genau so hatte ich das auch schon befürchtet. Das ist also die Ätzmaske.
Das lässt dann doch nicht wirklich nachvollziehen. Und dann heisst das auch noch lange nicht, dass es ein anderer Hersteller genau so gemacht hat.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
27.09.2013, 18:00 Uhr
Enrico
Default Group and Edit



Zitat:
jmueller schrieb
Enrico schrieb:

Zitat:
Jens, das erklär mir bitte mal.
Davon habe ich noch nie was gehört.

"Z80 MEMPTR" als Suchstring im Google führt dich schnell zum Ziel.
Hier der Original-Post vom Entdecker des Registers aus dem Jahr 2006:
http://www.grimware.org/lib/exe/fetch.php/documentations/devices/z80/z80.memptr.eng.txt

Wegen diesem Register muss nun nicht die Z80-Geschichte umgeschrieben werden,
aber es zeigt doch, dass die interne Arbeitsweise des Prozessors
weit weniger bekannt ist als allgemein angenommen.

Jens

Jaa, das hätte ich mal machen sollen.
Habe ich zwar nun, bin aber auch nicht schlauer geworden.
Gogel spuckt 3 Seiten aus. Geht alles um Emulatoren, und dieser eine Quelltext.
Aus dem Quelltext werde ich auch nicht schlau, wie man daraus auf das Vorhandesein des MEMPTR schliessen soll.
Der schreibt zwar dahin, dass MEMPTR das und das enthält, wenn man den den Befehl ausführt, aber mehr auch nicht.

Aber damit kann wohl nicht viel anfangen, da das nur ein internes Zwischenregister ist?
--
MFG
Enrico

Dieser Beitrag wurde am 27.09.2013 um 18:01 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
27.09.2013, 20:23 Uhr
Micha

Avatar von Micha

Ich hab mal ganz kurz meine Nase in den MEMPTR Artikel gesteckt. Fiel mir sofort das Zitat aus einem alten Werbespot mit den Gebrüdern Klitschow ein: "schwäääre Kost". Hab mich dann spontan entschlossen, das Thema nicht weiter zu "erforschen". Wenn man versucht, alles auf dieser Welt zu verstehen, versteht man am Ende nichts richtig.

Die ursprünglich in 000 gestellte Frage kann ja in zwei Weisen interpretiert werden: geht es um die konkrete Implementierung eines speziellen Z80 Modells oder um die funktionale Spezifikation? Im ersten Fall könnte man Bugs und undokomentierte Features genau nachvollziehen. Im zweiten Fall, wenn der Z80 nur als Black Box gesehen wird und sein Verhalten nach aussen abgebildet wird, könnten diese Details auf keinen Fall erforscht werden bzw. sind auch nicht nachvollziehbar. Ich bin ziemlich sicher, dass es vom Z80 im Laufe der Zeit Varianten sowie Clones gegeben hat, die sich hinsichtlich der konkreten schaltungstechnischen Implementierung unterscheiden. Eventuell sogar hinsichtlich der "undokumentierten" Features, aber das ist Spekulation.

HDL (Hardware Definition Language, z.B. VHDL oder Verilog) wird gerne und oft als Software eingestuft. Weil es genauso aussieht und der Arbeitsablauf ähnlich ist - man editiert einen Quelltext, in einer Sprache die ggf. auf den ersten Blick Ähnlichkeit mit C hat. Ich kann mich dieser Sichtweise nicht anschliessen. Es würde z.B. niemandem einfallen, die Logiktabelle für den Entwurf einer Gatterschaltung als Software zu bezeichnen. HDL ist (stark vereinfacht gesagt) nix anderes als die moderne Variante so einer Logiktabelle, allerdings mit sehr viel mehr Möglichkeiten.

Dass ein HDL Quelltext eben kein "Programm" im Sinne von Ablauf zeigt, sondern eine Logik im Sinne von "Verhalten" beschreibt, lernt man (als Autodidakt wie ich) "auf die harte Tour" wenn man anfängt sich konkret damit zu beschäftigen. Was wie C aussieht, zeigt einem die lange Nase, wenn man mit der "Denke" eines konventionellen Programmierers anfängt Sachen zu entwickeln.
--
Der Sozialismus siecht!

Dieser Beitrag wurde am 27.09.2013 um 20:27 Uhr von Micha editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
019
27.09.2013, 20:50 Uhr
kaiOr

Avatar von kaiOr

Es ist bekannt, dass die Z80-CPU in NMOS beim Auslesen des Interrupt-Status nicht immer fehlerfrei arbeitet (Abfrage von IFF2 über LD A,I und LD A,R). Dieser Bug wurde von Zilog offenkundig in der CMOS-Variante beseitigt (k.A. wie sich das bei der DDR-Variante verhält).

Also selbst wenn man einen Logikplan findet wäre es interessant auf welcher Höhe der tut.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
020
27.09.2013, 23:50 Uhr
jmueller



Ich möchte jetzt nicht weiter auf MEMPTR eingehen,
da das zu weit vom Thema abschweift und auch nicht wirklich von Bedeutung ist.
Aus diesem Register werden die Bits 3 und 5 des Flag-Registers gespeist,
deren Inhalt nirgends dokumentiert ist.
Inzwischen werben immer mehr Z80-Emulatoren damit,
dieses Register nachzubilden und somit eine besonders exakte Emulation zu bieten.
In JKCEMU habe ich das noch nicht drin, ZEXALL meldet aber trotzdem keine Fehler.

Zurück zu 000:
Die exakte interne Arbeitsweise des Z80 ist wohl immer noch nicht zu 100% allgemein bekannt.
Erstaunlich ist aber, dass Leute viel Zeit investiert haben (und vielleicht noch tun),
um das exakte Verhalten von zwei ungenutzten und undokumentierten Bits
zu ergründen und dass 30 Jahre nach der Vorstellung des Prozessors dies auch gelingt.

Jens

Dieser Beitrag wurde am 27.09.2013 um 23:52 Uhr von jmueller editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
021
28.09.2013, 08:16 Uhr
P.S.



@jmueller <010>
Die Komplexität bezieht sich auf die Chip-Implementierung - so die damalige Aussage eines diesbzüglichen Entwicklers aus dem FWE, wo es leider keinen Kontakt mehr gibt.

@Tom Nachdenk <014>
Wofür sollen die (Zitat) "ganzen Herrscharen von von breiten und superbreiten Multiplexern" dienen? Der interne Bus ist auch nur 8Bit breit und jedes der 8Bit-Register kann mit /OE und CLK direkt am Datenverkehr auf dem Bus teilnehmen oder auch nicht. Diese Steuerung wird von dem Steuerwerk bewerkstelligt, was wiederum mit dem Mikrocode-Programmgenerator eng verbunden ist.
Möglicherweise ist hie und da noch ein Hilfsregister notwendig, um solche Features, wie z.B. die DMA-Steuerung zu realisieren. Wie bekannt ist, benötigt die Z80_CPU wenigstens 2 Takte zur Verarbeitung eines Befehls - mitunter auch noch mehr, so dass sich die Steuerung (im Englischen wird das wohl auch "Scheduler" genannt) relativ einfach daraus ableiten läßt.
Mit den heutzutage für jederman kostenlos verfügbaren Werkzeugen, wie z.B. das Simulationsprogramm "LTspice", ist es m.E. möglich mal eine Z80-CPU nachzubilden und deren Wirkungsweise zu testen, ohne gleich den Lötkolben anwerfen und Lochrasterplatinen bestücken und verdrahten zu müssen.

Damit ist dann allerdings die Erforschung undokumentierter Eigenschaften der realen Z80_CPU-Chips ausgeschlossen, aber man kann sich vielleicht damit auch eine "bessere" Z80_CPU bauen...

Das Wissen der Menschheit gehört allen Menschen! -
Wissen ist Macht, wer glaubt, der weiß nichts! -
Unwissenheit schützt vor Strafe nicht! -
Gegen die Ausgrenzung von Unwissenden und für ein liberalisiertes Urheber- und Markenrecht!
PS
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
022
28.09.2013, 19:04 Uhr
Tom Nachdenk



@PS
Wenn ich mir das Taktdiagramm der Z80 CPU ansehe dann werden da mit der steigenden Flanke des 3. Zyklus die Daten in die CPU übernommen und landen dort im Instruction-Register zwecks Dekodierung. Die dürfte (minimal) einen Zyklus brauchen womit nur noch ein Zyklus für Execute übrig bleibt. Deshalb schrieb ich ja auch: Hilfsregister vor der ALU wäre möglich, kostet aber 1 zusätzlichen Zyklus weshalb die Auslegung des Registersatzes als Dualportspeicher sehr üblich ist. LD r,r verbraucht nämlich ebenso wie ADD A,r 4 Zyklen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
023
29.09.2013, 19:42 Uhr
Mario Blunk

Avatar von Mario Blunk


Zitat:
Micha schrieb
Dass ein HDL Quelltext eben kein "Programm" im Sinne von Ablauf zeigt, sondern eine Logik im Sinne von "Verhalten" beschreibt, lernt man (als Autodidakt wie ich) "auf die harte Tour" wenn man anfängt sich konkret damit zu beschäftigen. Was wie C aussieht, zeigt einem die lange Nase, wenn man mit der "Denke" eines konventionellen Programmierers anfängt Sachen zu entwickeln.

Exakt, ich kenne einen guten SW-Programmierer, der bei VHDL und Verilog, Kopfschmerzen bekommt, weil die Denkweise "alles läuft parallel und gleichzeitig" ihm unbekannt ist :-)
--
Mein Chef ist ein jüdischer Zimmermann.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
024
29.09.2013, 19:45 Uhr
Mario Blunk

Avatar von Mario Blunk

Wer hat hier schonmal Erfahrung mit dem Verilog (oder VHDL) Code von opencores für einen Z80 gemacht ? Funktioniert das Ergebnis wie ein echter Z80 ?
--
Mein Chef ist ein jüdischer Zimmermann.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
025
29.09.2013, 19:51 Uhr
abnoname

Avatar von abnoname

Ja, WIE BEREITS WEITER OBEN schon geschrieben gibt es genau hier im Forum (und bei µC.net) ein Projekt namens "Z1013 FPGA".

Dort werkelt ein T80 als Z80 CPU. Daher verstehe ich die Diskussion hier nicht. Es gibt einen nahezu perfekten Hardware Entwurf des Z80 als HDL, wo man sich der Funktionsweise bedienen kann. Logikschaltpläne usw. was hier gefragt wird sind nur Ergebnisse einer Synthese. Der Z80 wurde vermutlich (!) genausowenig auf Transistorebene entwickelt. Das Gatterkonstrukt entsteht halt erst automatisch aus der Spezifikation / Beschreibung. Auch 1970 rum gab es schon HDLs, weil der Mensch diese Komplexität nicht mehr überblickt.

Ich empfehle nochmal allen, sich mit dem Thema HDL und Schaltkreisentwurf zu belesen. Das hat nichts mit modernen Methoden zu tun, sondern wird seit eh und je so gehandhabt.

Ad Fontes ist der Urheber. Ich hab das Projekt auf ein DE1 portiert.

http://www.mikrocontroller.net/articles/Retrocomputing_auf_FPGA

http://abnoname.blogspot.de/2013/07/z1013-auf-fpga-portierung-fur-altera-de1.html

http://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=9276


VG
Franz

Dieser Beitrag wurde am 29.09.2013 um 19:56 Uhr von abnoname editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
026
29.09.2013, 19:58 Uhr
Enrico
Default Group and Edit



Zitat:
abnoname schrieb
...
Daher verstehe ich die Diskussion hier nicht. Es gibt einen nahezu perfekten Hardware Entwurf des Z80 als HDL, wo man sich der Funktionsweise bedienen kann.
....

Eben, genau, das ist Dein Problem, wie auch vieler anderer.

Ich hatte ja Beispiele gebracht, worum es mir geht.
Da nützt es mir herzlich wenig, wenn jemand aus den Dokus der Z80-ICs
die Funktion in VHDL, o.ä. abgeleitet hat.
Das kann nichts anderes , als das was in der Doku steht.
--
MFG
Enrico

Dieser Beitrag wurde am 29.09.2013 um 19:58 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
027
29.09.2013, 20:01 Uhr
abnoname

Avatar von abnoname

Ok ich glaub ich verstehe dich. Du sucht quasi vom Original Z80 die exakte Schaltung zwecks aller Eventualitäten?

Weiter oben schriebst du was von Nachbau und da wäre ja eine Z80 HDL Variante die Lösung.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
028
29.09.2013, 20:05 Uhr
Enrico
Default Group and Edit


Genau, ich glaub, jetzt hat er's!


Ne,ne, Du, ich schrieb nie was davon, dass ich den Z80 in TTL nachbauen will.
Damit kamen alle anderen an.

Als Nachbau wäre mir das zu langweilig.
Da wären andere Rechner bzw. CPUs viel interessanter.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
029
29.09.2013, 20:12 Uhr
Tom Nachdenk




Zitat:
abnoname schrieb
Logikschaltpläne usw. was hier gefragt wird sind nur Ergebnisse einer Synthese. Der Z80 wurde vermutlich (!) genausowenig auf Transistorebene entwickelt. Das Gatterkonstrukt entsteht halt erst automatisch aus der Spezifikation / Beschreibung. Auch 1970 rum gab es schon HDLs, weil der Mensch diese Komplexität nicht mehr überblickt.

Tja, da bist Du dann schlauer als Leute die zu dieser Zeit bei Zilog gearbeitet haben:

http://www.ieeeghn.org/wiki/index.php/Oral-History:Masatoshi_Shima#LSI_for_Desktop_Calculators

https://groups.google.com/forum/#!topic/comp.lang.vhdl/ToCwGkQpCOA


Zitat:
Peter Alfke
The Z8000 was designed at the transistor level by Shima, who also had
designed the 4004, 8008, 8080, and Z80. No logic diagram existed when I
got involved in the transfer to second-source AMD.
Those were the days..(1979/80).


Zitat:
Monte Dalrymple
Yes, Shima's schematics were a nightmare to try to understand,
given that he only drew transistors, and there were only signal
names for signals that left a sheet. But if you laid the schematic
sheets out so that the signals matched up, you had a complete
floorplan of the device. And the transistors on the sheets were
good guides for the layout designers when they were doing
the layout, because the "density" of schematic transistors was
relatively proportional to the layout density. Not like today,
when I can describe a few thousand transistors in a couple of
pages of Verilog code...

I doubt that those schematics survive though, as they predated
the era of document control at Zilog.

Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
030
29.09.2013, 20:21 Uhr
abnoname

Avatar von abnoname

überzeugt und beeindruckt.

vg
franz
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
031
30.09.2013, 08:39 Uhr
P.S.



@Tom Nachdenk <022>
Ich muss mich da etwas korrigieren:
Die Z80_CPU braucht im Minimum 3 Takte für einen Zyklus - und zwar zum Speicherlesen oder -Schreiben (ohne Wait-Zyklen). Für einen Befehlslese-Zyklus aus dem Programmspeicher sind es im Minimum schon mal 4 (ohne Wait). Davon werden die beiden letzten für die Befehlsdekodierung und -Ausführung von 1-Byte Operationen gebraucht. Im Hintergrund läuft in dieser Zeit auch noch der Speicher-Refresh. Die Mehrzahl der Z80-Befehle sind jedoch 2- oder mehr Byte-Befehle und dann wird die Sache schon weitaus komplizierter. Wenn man dann noch die Spezial-Befehle, wie z.B. EX(SP), HL usw. betrachtet, dann werden es schnell mal über 20(!) Takte. Mit der Kompliziertheit von Interrupt-Szenarien der will ich hier gar nicht erst anfangen.

Natürlich wird (wenigstens) für die ALU-Operationen ein Zwischenspeicher-Register benötigt, denn wenn die Eingangsdaten auf dem internen Datenbus anliegen, können nicht gleichzeitig die ALU-Ausgangsdaten auf den Bus eingespeist werden. Warum das unbedingt ein Dualport-Register (zeitlich unabhängiger Zugriff auf das Register von zwei Quellen) sein muss, leuchtet mir allerdings nicht so richtig ein.

Interessant wäre es schon, mal zu sehen wie so eine "nachgebaute" Z80_CPU in ALS-TTL bei einer Taktfrequenz > 20MHz läuft - vor allem, weil man dann vielleicht auch noch ein paar zusätzliche, oder anders geartete Befehle einbauen kann, oder gar ein völlig anderes Mikrocode-Programm implementiert ... schade das sich das keiner antuen will ... na ja, dann sind wir doch wieder bei FPGA.

Das Wissen der Menschheit gehört allen Menschen! -
Wissen ist Macht, wer glaubt, der weiß nichts! -
Unwissenheit schützt vor Strafe nicht! -
Gegen die Ausgrenzung von Unwissenden und für ein liberalisiertes Urheber- und Markenrecht!
PS
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
032
30.09.2013, 09:09 Uhr
Mario Blunk

Avatar von Mario Blunk

ich hatte eine ähnliche Idee: Den Z80 in seinem Befehlssatz unverändert lassen aber die Datenbreite und Adressbreite auf 16 bzw. 32 bit aufbohren. Die Assembler müssen dann natürlich auch noch geändert werden, sofern deren Quellcode offengelegt ist. Wenn man das geschickt anstellt, wär auch der 8/16bit code auf einem derart gezüchteten Z80 lauffähig. Aber das hat man sicherlich mit dem eZ80 schon gemacht, allerdings hart codiert im Si.
--
Mein Chef ist ein jüdischer Zimmermann.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
033
30.09.2013, 11:39 Uhr
Tom Nachdenk



@P.S.
Ich schrieb ja nichts von 'müssen', sondern lediglich das es üblich ist. Weil 'schneller' vermutlich schon damals ein gutes Verkaufsargument war. Nur weil Zilog da einen Bus in das Übersichtsdiagramm gezeichnet hat, heißt das ja noch lange nicht das das auch 'ein' Bus ist, etwaige Hilfsregister vor den ALU-Eingängen sind ebensowenig verzeichnet. Wozu auch, für den Programmierer ist das ja letztendlich egal.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
034
30.09.2013, 17:10 Uhr
holm

Avatar von holm

@Peter:
Du hast keine wirkliche Vorstellung was es bedeutet einen Z80 aus "ein paar" TTL Gattern zusammen zu bauen. Tom und ich hatten uns in der Vergangenheit Gedanken über eine Eigenbau CPU aus TTL Bit Slices gemacht, nunja, bei mir schleift es kräftig mit der dafür übrigen Zeit, angefangene Universalleiterplatten liegen herum.
Dabei hatten wir uns an die AM290x Bausteine gehalten die schon etwas mehr als eine blanke ALU und Register implementieren, auch Steuerwerke gibt es fertig.
Bei vernünftigen Breiten für die Microcode-Speicher landet man ganz fix bei 64, 80 oder 96 Bit... und rate mal was man damit alles so ansteuern muß, das ist in etwa so der Haufen Multiplexer der beschrieben wurde. Beim Entwicklen solch eine CPU hätte man den Mikrocode Speicher dann auch gerne als ladbaren RAM, was die Sache noch ordentlich verkompliziert.

Wenn Du Lust und Zeit hast Dich da einzulesen, bitteschön:

http://www.donnamaie.com/AMD_Vintage/AMD_2900_ED2900A.html

Die Lady hats drauf...

Was heißt übrigens _anderer_ Mikrocode? Eine Z80 CPU ist ein hardwaremäßig aufgebauter Befehlsdecoder, nixda Mikrocode.
Wie eine Z80 CPU mit mehr als 20Mhz und mit 1Mbyte Speicher so läuft kannst Du Dir schon lange angucken, Als Z180 oder HD64180 gibt es die schon Jahrzehnte. Etwas Peripherie wurde da auch mit rein gekrümelt.

@Mario:
Auch Deine Idee ist Quatsch.
Heutige PC-CPUs sind superskalare 64 Bit RISC Maschinen mir mehreren Kernen die den i386 Code auch nur "interpretieren" (Mikcrocode).
Es wird billiger ein solches System zu nehmen und das Verhalten zu emulieren...das gibts wohl aber schon.


Nichts desto Trotz habe ich das Vorhaben mit der Bitslice CPU nicht aufgegeben, ich hoffe ich habe dafür Zeit bevor ich in die Kiste springe..

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 30.09.2013 um 17:11 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
035
30.09.2013, 17:47 Uhr
Enrico
Default Group and Edit



Zitat:
holm schrieb


Nichts desto Trotz habe ich das Vorhaben mit der Bitslice CPU nicht aufgegeben, ich hoffe ich habe dafür Zeit bevor ich in die Kiste springe..

Gruß,

Holm

Dann hoffe ich auch, lauer weiter auf des Ergebnis.

Das Buch von ihr kann man nur empfehlen.

Ist nur blöd, dass die Software nicht aufzutreiben ist.
--
MFG
Enrico

Dieser Beitrag wurde am 30.09.2013 um 17:48 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
036
30.09.2013, 18:00 Uhr
holm

Avatar von holm

Gaaanz so ist das ja mit der Software nun auch nicht.. irgendwas habe ich da.

Es tut aber auch ein nahezu beliebiger makrofähiger Assembler.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 30.09.2013 um 18:00 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
037
02.10.2013, 17:48 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Auf http://www.visual6502.org/wiki/index.php?title=Main_Page ist zum Z80 zu lesen "We have photographs of the metal layer, and have started capturing the polygons. No public information yet". Man könnte ja mal dort anfragen, wie weit die Arbeit gediehen ist.

Wie hochklassig das Ergebnis ist, sieht man z.B. am 1802-Prozessor (ja - der mit dem SEX-Befehl): http://www.visual6502.org/wiki/index.php?title=RCA_1802E
http://visual6502.org/images/pages/RCA_1802.html
--
VolkerP

http://hc-ddr.hucki.net
(z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
038
03.10.2013, 13:06 Uhr
Enrico
Default Group and Edit



Zitat:
volkerp schrieb
Auf http://www.visual6502.org/wiki/index.php?title=Main_Page ist zum Z80 zu lesen "We have photographs of the metal layer, and have started capturing the polygons. No public information yet". Man könnte ja mal dort anfragen, wie weit die Arbeit gediehen ist.

Was es nicht so alles gibt.
Daran sieht man mal, dass es immer noch verrücktere Leute gibt.

Anfragen müsste da wer anderes. Ich habs nicht so mit Englisch.





Zitat:
Wie hochklassig das Ergebnis ist, sieht man z.B. am 1802-Prozessor (ja - der mit dem SEX-Befehl):

Was Du so alles weist.
Ich habe nur mal gehört, dass man den alten 1802 ganz gerne für Ruamsonden einsetzt oder eingeetzt hat, weil der sehr Strahlungsunempfindlich und ziemlich schnell
Daten schaufeln können soll.
--
MFG
Enrico

Dieser Beitrag wurde am 03.10.2013 um 13:07 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
039
03.10.2013, 17:25 Uhr
volkerp
Default Group and Edit
Avatar von volkerp


Zitat:
Enrico schrieb
Was Du so alles weist.
Ich habe nur mal gehört, dass man den alten 1802 ganz gerne für Ruamsonden einsetzt oder eingeetzt hat, weil der sehr Strahlungsunempfindlich und ziemlich schnell
Daten schaufeln können soll.

Der wird immer noch produziert - und nach wie vor für Militär und Raumfahrt. Ich habe auf dem KC-Treffen 2013 über den Prozessor und die Programmiersprache CHIP-8 erzählt, deswegen weiß ich das (http://hc-ddr.hucki.net/wiki/doku.php/homecomputer:chip8). Außerdem schreibt Constantin Gillies im Roman Endboss (Extraleben Teil III) über den Prozessor, dadurch ist er auch wieder bekannter geworden. SEX bedeutet übrigens nur SET X-Register...
--
VolkerP

http://hc-ddr.hucki.net
(z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
040
03.10.2013, 17:29 Uhr
Enrico
Default Group and Edit


Schöner Mist.
Da habe ich auf dem Treffen mal wieder was verpasst.
Da passiert einfach zu viel gleichzeitig.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
041
05.12.2013, 23:25 Uhr
Enrico
Default Group and Edit


Irgendwie passend zum Thema sind mir noch 2 Fragen gekommen.

In den Dokus finden sich die ganzen Busphasen.
Ich finde aber nichts dazu, wie der Befehl geholt wird, wenn er aus 2 Bytes besteht, ausser, dass beim 2. Byte auch /M1 aktiv wird.
Wird der ganze M1-Zyklus nun 2 x duchgeführt, also Befehl lesen mit /M1,
danach /Refresh, oder sieht das anders aus?

Dann finde ich nichts zu inaktiven Zeiten.
Es muss doch auch Befehle geben, wo die CPU nichts auf dem Bus macht, sondern nur intern am werkeln ist.
Z.B. 16 Bit Addition, oder LDIR.
Oder gibt es das wirklich nicht?
--
MFG
Enrico

Dieser Beitrag wurde am 06.12.2013 um 23:55 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
042
06.12.2013, 14:48 Uhr
meikel

Avatar von meikel


Zitat:
P.S. schrieb
... , aber man kann sich vielleicht damit auch eine "bessere" Z80_CPU bauen...

Die bessere CPU wäre der Z8000 gewesen, aber das hatte Zilog vergeigt, damit Intel dann das Rennen mit dem 8088/86 machen konnte.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
043
06.12.2013, 14:52 Uhr
Enrico
Default Group and Edit


Ja, leider, der Schrott hat gewonnen.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
044
07.12.2013, 09:56 Uhr
ad fontes



Z80 Schaltpläne kenne ich nicht, aber vom älteren Bruder, dem i4004, hat intel die Transistorschaltung veröffentlicht:

http://www.intel.com/Assets/PDF/General/4004_schematic.pdf

Wenn bedenkt das der i4004 mit Federico Faggin und den bereits erwähnten Masatoshi Shima die selben Väter hat wie der Z80, kann man sich in etwa vorstellen wie der Z80 Schaltplan aussehen könnte.

MfG,
Volker

BTW: Dergleichen sauber auf Transparentpapier getuscht würde ich mir als betrachtenswertes Meisterwerk an die Wand hängen.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
045
07.12.2013, 15:45 Uhr
Enrico
Default Group and Edit



Zitat:
ad fontes schrieb

BTW: Dergleichen sauber auf Transparentpapier getuscht würde ich mir als betrachtenswertes Meisterwerk an die Wand hängen.

Dann fang gleich mal an zu zeichnen.
Fotos vom Die des Z80 gibts im Netz.
Das sieht aus wie Tante Emmas Strickmuster.
Mehr kann ich daraus nicht entziffern.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
046
07.12.2013, 18:08 Uhr
Tom Nachdenk




Zitat:
ad fontes schrieb
Wenn bedenkt das der i4004 mit Federico Faggin und den bereits erwähnten Masatoshi Shima die selben Väter hat wie der Z80, kann man sich in etwa vorstellen wie der Z80 Schaltplan aussehen könnte.

Wenn ich mich recht erinnere hat Masatoshi Shima im Interview erzählt das er beim Z80 alles was anders zu machen ging anders als im 8080 entworfen hat, um Patentstreitigkeiten und Plagiatsklagen aus dem Weg zu gehen. Ohne wäre der Z80 womöglich noch etwas schneller geworden.

Wobei ich was die Anzahl der Multiplexer bzw. die Notwendigeit eines Zweitorregistersatzes angeht etwas zurückrudern muss, auch wenns hier scheinbar niemand aufgefallen ist. Der Z80 ist eine Akkumulatormaschine, womit das 2 Register implizit feststeht.

http://de.m.wikipedia.org/wiki/Datei:Z80_arch.svg

Interessant ist, das der doppelte Registersatz (scheinbar) tatsächlich doppelt ausgeführt wurde.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
047
07.12.2013, 18:10 Uhr
Enrico
Default Group and Edit


Zu meiner Frage unter 041 scheint aber keiner was zu wissen?
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
048
08.12.2013, 09:43 Uhr
P.S.



@Enrico <047> bzw. <041>
Wenn Du Dir das Taktdiagramm zum Befehlsaufruf (siehe z.B. "Technische Beschreibung CPU U880D - S11) genau ansiehst, dann ist nach dem 1. M1-Zyklus mit /M1- Signal beim 1.+2.Takt auch ein weiteres /M1-Signal beim ggf. nächsten M1-Zyklus angedeutet. Offensichtlich wird nach der Dekodierung des 1.M1-Zyklus entschieden, ob ein oder weitere M1-Zyklen folgen müssen - so jedenfalls meine Interpretation Deines Problems.
Dort steht übrigens auch - Zitat: "...die Takte T3 und T4 ... wird diese Zeit benutzt, um den aufgerufenen Befehl zu dekodieren und auszuführen."
Damit ist eigentlich klar, dass es m.E. "inaktive Zeiten" nicht gibt und das "interne Werkeln" - wie Du schreibst - in diesem Rahmen stattfindet.
Leider habe ich den "Kieser/Meder" z.Zt. nicht zur Hand, vielleicht steht dort mehr dazu drin. Und wenn jemand das Z80-Standardwerk von Rodney Zaks hat, könnte ja auch mal da reinschauen...

@holm <034>
Diana kenne ich auch - o lala, da hast Du Recht ... aber eher aus der Scene der Laser- und Fusor-Enthusiasten.
Wenn mir noch Zeit bleibt, werde ich mal mit LTSpice eine Z80-CPU nachempfinden - mal sehen, wie hoch der Aufwand wird...

@meikel <042>
Das Z8000-System ist eine ganz andere Liga - Du kannst hier nicht Äpfel mit Apfelsinen vergleichen - ein 16Bit-System stellt ganz andere Ansprüche, als ein profanes 8Bit-System und dann ist das auch noch im historischen Zusammenhang zu sehen ... Zilog hat da gar nichts "vergeigt" - nur dass IBM mit ihrem PC und Bill Gates' MS-DOS die historischen Weichen gestellt haben. Obwohl der Z8000 und auch Motorolas MC68000 technisch gesehen zum damaligen Zeitpunkt die moderneren Konzeptionen waren, entschied sich IBM als damaliger PC-Marktführer wohl aus Kostengünden, oder warum auch immer für die INTEL-Linie.
Zur gleichen Zeit fand auch in der DDR der Streit über das perspektivisch richtige MP-Konzept statt. Während ROBOTRON auf INTEL setzte, wollten viele andere, vor allem Export-orientierte Betriebe (Werkzeugmaschine, Numerik) das modernere ZILOG- oder Motorola-Konzept. Wie die Sache ausging ist bekannt ...

Das Wissen der Menschheit gehört allen Menschen! -
Wissen ist Macht, wer glaubt, der weiß nichts! -
Unwissenheit schützt vor Strafe nicht! -
Gegen die Ausgrenzung von Unwissenden und für ein liberalisiertes Urheber- und Markenrecht!
PS

Dieser Beitrag wurde am 08.12.2013 um 09:55 Uhr von P.S. editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
049
08.12.2013, 10:29 Uhr
kaiOr

Avatar von kaiOr

Die Chillzeiten auf dem Bus sind stark Befehlsabhängig.

http://www.z80.info/z80ins.txt
Die mit "internal CPU Operation" benannten M-Zyklen ist Ruhe und beim "Op Code Fetch" fallen auch 2 Takte an falls Refresh ausgeschaltet ist. Refresh ausschalten bringt übrigens beim Z80 keinen Geschwindigkeitsvorteil, höchstens wenn die Logik auf der Platine dabei einen Wait generiert. Er nutzt so oder so die 2 Takte um den eingelesenen Befehl zu dekodieren.

Dieser Beitrag wurde am 08.12.2013 um 10:52 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
050
08.12.2013, 12:54 Uhr
holm

Avatar von holm

@ps
Zitat:
@holm <034>
Diana kenne ich auch - o lala, da hast Du Recht ... aber eher aus der Scene der Laser- und Fusor-Enthusiasten.
Wenn mir noch Zeit bleibt, werde ich mal mit LTSpice eine Z80-CPU nachempfinden - mal sehen, wie hoch der Aufwand wird...

Ich kenne eine Diane (http://www.diane-neisius.de/index.html), Mathematikerin und auch an PDP11 Kram und Laser interessiert, die hatte ich auch schon mal hier verlinkt. Diese hat allerdings überhaupt nix mit
Donnamaie E. White zu tun die ich im obigen Posting mit Betreff auf die AM2900 Bitslices verlinkt hatte,
haust du hier was durcheinander?


BTW: es gibt bereits eine publizierte TTL Bitslice Version des I8080 (Am9080), Du brauchst nur weiterbauen...

Ich habe es Dir mal hier her gelegt: http://www.tiffe.de/Robotron/AM2900/Am9080-emulation.pdf

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 08.12.2013 um 13:16 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
051
08.12.2013, 13:51 Uhr
ad fontes




Zitat:
Tom Nachdenk schrieb

Zitat:
ad fontes schrieb
Wenn bedenkt das der i4004 mit Federico Faggin und den bereits erwähnten Masatoshi Shima die selben Väter hat wie der Z80, kann man sich in etwa vorstellen wie der Z80 Schaltplan aussehen könnte.

Wenn ich mich recht erinnere hat Masatoshi Shima im Interview erzählt das er beim Z80 alles was anders zu machen ging anders als im 8080 entworfen hat, um Patentstreitigkeiten und Plagiatsklagen aus dem Weg zu gehen. Ohne wäre der Z80 womöglich noch etwas schneller geworden.
...

Mir ging es mehr um den Entwurfsstil, das schematic so zu zeichnen das es schon Layoutinfos enthält. Der ist bei beiden gleich und IMHO nicht patentierbar.

Was zu dieser zeit patientierbar ist und was nicht ist auch eine interessante Frage. Da wurde heftig gerungen um die Feststellung was hardware (Patent) und Software (kein Patent) ist. Und insbesonders was Firmware ist und wozu microcode zählt. Interessanterweise waren layouts/Masken einfacher schützbar, die fielen als artwork (Zeichnung) unter etablierte Schutz des Copyrights.

MfG,
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
052
08.12.2013, 15:35 Uhr
Enrico
Default Group and Edit


Peter,

Zitat:
P.S. schrieb
@Enrico <047> bzw. <041>
Wenn Du Dir das Taktdiagramm zum Befehlsaufruf (siehe z.B. "Technische Beschreibung CPU U880D - S11) genau ansiehst, dann ist nach dem 1. M1-Zyklus mit /M1- Signal beim 1.+2.Takt auch ein weiteres /M1-Signal beim ggf. nächsten M1-Zyklus angedeutet. Offensichtlich wird nach der Dekodierung des 1.M1-Zyklus entschieden, ob ein oder weitere M1-Zyklen folgen müssen - so jedenfalls meine Interpretation Deines Problems.

Diese gestrichelte Line habe ich allerdings übersehn.
Aber das nützt nicht wirklich viel.


Zitat:
Dort steht übrigens auch - Zitat: "...die Takte T3 und T4 ... wird diese Zeit benutzt, um den aufgerufenen Befehl zu dekodieren und auszuführen."
Damit ist eigentlich klar, dass es m.E. "inaktive Zeiten" nicht gibt und das "interne Werkeln" - wie Du schreibst - in diesem Rahmen stattfindet.

Richtig. Das sehe ich aber nicht so.
D.h. nur, dass man 2 Takte lang nicht sinnlos auf dem Bus wartet, weil dort
gerade ein Refresh stattfindet, sondern die Zeit bereits nutzt.
Das heisst nicht, dass es keine Befehle gibt, die intern mehrere Takte brauchen.



Zitat:
Leider habe ich den "Kieser/Meder" z.Zt. nicht zur Hand, vielleicht steht dort mehr dazu drin. Und wenn jemand das Z80-Standardwerk von Rodney Zaks hat, könnte ja auch mal da reinschauen...

Ich schon. Allerdings habe ich den eben erst gefunden. Der stand schön offensichtlich im Regal. Ich habe die Bücher nur im Schrank gesucht.
War ja klar, dass ich das Buch nicht finde, wenn es sichtbar rumsteht.

Das Buch hilft jedenfalls schon mal weiter.
Die haben das auch gut recht weit hinten versteckt.

Danach wird bei Befehlen mit 2 OP-Codes wirklich der /M1 2 x nacheinander komplett ausgeführt. Das ganze wird anhand von RETI und RETN erklärt.

Danke.




Zitat:
kaiOr schrieb
Die Chillzeiten auf dem Bus sind stark Befehlsabhängig.

http://www.z80.info/z80ins.txt
Die mit "internal CPU Operation" benannten M-Zyklen ist Ruhe und beim "Op Code Fetch" fallen auch 2 Takte an falls Refresh ausgeschaltet ist. Refresh ausschalten bringt übrigens beim Z80 keinen Geschwindigkeitsvorteil, höchstens wenn die Logik auf der Platine dabei einen Wait generiert. Er nutzt so oder so die 2 Takte um den eingelesenen Befehl zu dekodieren.

"Chillzeiten"; wauh!.
Ich kenne nur Chillizeiten beim Inder. *grins*

Aber das bringt mir auch schon mal was.
Also gibt es schon einige Befehle, bei denen einige Takte lang auf dem Bus nichts passiert.
Fragt sich nur, woran man diese nun zu den kurzen Buspausen zwischen den
einzelnen Zugriffen unterscheiden kann (ausser, dass es ein paar Takte sind)

Beim Z80 kann man den Refresh übrigens nicht abschalten.

Danke.
--
MFG
Enrico

Dieser Beitrag wurde am 08.12.2013 um 15:47 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
053
08.12.2013, 21:25 Uhr
kaiOr

Avatar von kaiOr

"Stack Read" und "Stack Write" sollten eigentlich auch noch stumm ablaufen.

Zitat:
Enrico schrieb
Beim Z80 kann man den Refresh übrigens nicht abschalten.

Ups, ich dachte dazu dient das 8te Bit vom Refresh-Zähler....falsch gedacht.

Willst Du in der "Pause" den Bus übernehmen oder willst Du die "Pause" verkürzen?

MfG

Dieser Beitrag wurde am 08.12.2013 um 21:35 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
054
08.12.2013, 22:27 Uhr
Enrico
Default Group and Edit


Nee, der hat ja nur 7 Bit.

Ich bin insgesamt noch in der "Grübelphase"
Es geht eher ums verkürzen.
--
MFG
Enrico

Dieser Beitrag wurde am 08.12.2013 um 22:27 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
055
09.12.2013, 19:33 Uhr
kaiOr

Avatar von kaiOr

Nutzung der Ruhephasen zum Hochtakten bringt z.B. nicht sooo viel:
http://robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=8579

Wie lange die Buspause wird ist egal, einfach prophylaktisch vorgehen.

Man muss nur synchron mit der steigenden Taktflanke des langsamen Taktes CLK auf +5V parken und mit der steigenden Flanke des schnellen Taktes auf denselben umschalten. Tut sich was auf dem Bus wird zurückgerudert. Mit der nächsten steigenden Flanke des schnellen Taktes CLK wieder auf +5V parken und gemütlich die steigende Flanke des langsamen Taktes abwarten um auf selbigen zurückzuschalten.
Das geht so auch mit 2 unabhängigen Oszillatoren. Sind aber die Takte voneinander abgeleitet kann man sich von langsam auf schnell u.U. den Weg über +5V sparen.

Schlimmstenfalls liegt liegt bei der ganzen Aktion /MREQ, /IORQ etc. nen halben Takt früher an. Das stört nicht...entstört höchstens. Periphere Schaltkreise bleiben fest auf den langsamen Takt geknotet.

MfG
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
056
09.12.2013, 20:20 Uhr
Enrico
Default Group and Edit


Aha, ok, danke.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
057
23.01.2015, 23:11 Uhr
Tom Nachdenk



Wo ich gerade darüber gestolpert bin:

http://opencores.org/project,a-z80

Der zettachzigste Z80 Nachbau den es öffentlich zum studieren gibt.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
058
17.02.2015, 17:54 Uhr
Enrico
Default Group and Edit


Mir ist noch eine Frage aufgestossen.
Wärend des Refresh-Zyklus liegen auf den unteren 7 Bit die
Refresh-Adresse.
Was ist auf den oberen 8 Adressen?
In den ganzen Dokus zum Z80 und U880 finde ich dazu nichts;
die schweigen sich alle aus.

Auf einer englischen HP schreibt jemand, dass dann zu der Zeit auf den oberen
Adressen das Interrupt-Register anliegen soll.
Stimmt das?



Lt. einer CPC-Seite bleibt Bit 7 des Refresh-Registers gesetzt, wann man
es so programmiert, es wird nur von 0-127 gezählt.
Fragt sich nur wofür man das nun sinnvoll verwenden könnte...
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
059
18.02.2015, 01:20 Uhr
kaiOr

Avatar von kaiOr

Das mit dem Interrupt-Register stimmt, meint ein LC80 hier.

F3 -- DI
3E xx -- LD A,xxh
ED 47 -- LD I,A
18 FE -- JR,-02h

Einen Oszi dazu mit Trigger auf Refresh und die Adress-Pins A8-A15 abklappern.

Irgendwo gab es ein Programmbeispiel um Bit 7 vom Refresh-Register in Software mittanzen zu lassen für Refresh von 64Kx1 DRAMs, aber so richtig vorgesehen ist es dafür auch nicht.

MfG

Dieser Beitrag wurde am 18.02.2015 um 01:21 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
060
18.02.2015, 12:39 Uhr
kaiOr

Avatar von kaiOr

Zum Ablesen der Innenschaltung:
http://www.righto.com/2014/10/how-z80s-registers-are-implemented-down.html

leider in Englisch.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
061
18.02.2015, 17:26 Uhr
Enrico
Default Group and Edit


Ok, danke, scheint ja dann wohl so zu sein.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
062
17.12.2017, 11:45 Uhr
P.S.



@kaiOr <060>
Danke für den interessanten Link!
Auf einer der weiteren Verlinkungen kann man den "Zaks" runterladen ...

Aus aktuellem Anlass - ich hatte Besuch von einem Mikroelektronik-Entwickler im http://www.industriesalon.de - muss ich diesen Thread nochmal ausgraben.
Der Entwickler erzählte mir, dass er meinen Beitrag <009> und die folgenden mit großem Interesse gelesen habe und dass er und seine Kollegen bereits weit vor 1980, d.h. der offiziellen Einführung des U880D - schnelle TTL-Rechner auf Basis des verfügbaren D100-Sortiments und einiger Importtypen (RGW) gebaut hatten. Natürlich keine Großrechner - man wollte ja ROBOTON nicht in die Quere kommen!

Basis der Entwicklung war eine Veröffentlichung im ELEKTOR 1974, H5 und folgende. Dort wird in allen Einzelheiten der 16Bit-TTL-Rechner "Computer 74" beschrieben.
Man wollte und konnte nicht 1:1 nachbauen und hat dann entsprechend dem damals aktuellen Stand die Enwicklung angepasst. So wurden z.B. anstelle der Diodenmatrix als Programmspeicher STTL-PROMs verwendet, sowie weitere MSI-Schaltkreise, die die "Gattergräber" ersetzt haben.
Programmtechnisch wollte man zum Z80 kompatibel sein, weil man von dessen Nachentwicklung im FWE Kenntnis hatte und auf spätere Softwarekompatibilität hoffte.

Der Besucher versprach mir zu seinen damaligen Kollegen Verbindung aufzunehmen, um ggf. noch ein paar Unterlagen oder sonstige Informationen auftreiben zu können.

Das Wissen der Menschheit gehört allen Menschen! -
Wissen ist Macht, wer glaubt, der weis nichts! -
Unwissenheit schützt vor Strafe nicht! -
Gegen die Ausgrenzung von Unwissenden und für ein liberalisiertes Urheberrecht!
PS

Dieser Beitrag wurde am 17.12.2017 um 11:53 Uhr von P.S. editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
063
17.12.2017, 12:55 Uhr
Enrico
Default Group and Edit


Hört sich interessant an
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
064
17.12.2017, 15:32 Uhr
holm

Avatar von holm

Nicht wirklich. Die diskussion darüber lief gerade eben erst in de.alt.folklore.computer. Dieser elektor-Rechner "compter 74" war nie eine komplette Bauanleitung sondern das war ein Teil von Vorschlägen einen Rechner zu bauen. schon möglich das sich das Leute auf den Tisch gezogen haben und daraus Etwas gebaut haben.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
065
17.12.2017, 15:36 Uhr
Enrico
Default Group and Edit


Mist.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
066
18.12.2017, 10:28 Uhr
P.S.



@<064>
Da irrt der Herr Allesbesserwisser aber gewaltig!
Der allgemeine Hinweis auf "de.alt.folklore.computer" ohne einen konkreten Link hilft dabei eben nicht wirklich weiter.
Die über mehrere ELEKTOR-Hefte gehende Beschreibung des "Computer 74" mit detaillierten Schaltungsunterlagen kann durchaus als Bauanleitung angesehen werden, wenn auch wie sonst üblich im ELEKTOR die Leiterplatten-Layouts fehlen, weil hier Lochrasterplatinen zum Einsatz kamen. Dass das nicht nur lapidare Schaltungsvorschläge sind, sieht man an den Bildern vom praktischen Aufbau.

1974
H5 - Teil 1: Allgemeines, konzeptioneller Aufbau, Mikroprogramm usw.
H6 - Teil 2: ROM (Dioden-Matrix), Schaltwerk ROM-Steuerung, Buffer
H10 - Teil 3: Bedienungspanel und Steuerung, praktischer Aufbau
H11 - Teil 4: periphere Einheiten - Programmzähler und Speichereinheiten
H12 - Teil 5: Arbeitsweise der Recheneinheit
1975
H1 - Teil 6: Praktische Schaltungsauslegung der Recheneinheit
Angeblich sollte es noch Fortsetzungen geben, doch weitere Teile habe ich leider nicht mehr gefunden ...

Das Wissen der Menschheit gehört allen Menschen! -
Wissen ist Macht, wer glaubt, der weis nichts! -
Unwissenheit schützt vor Strafe nicht! -
Gegen die Ausgrenzung von Unwissenden und für ein liberalisiertes Urheberrecht!
PS
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
067
12.05.2018, 09:12 Uhr
P.S.



... nochmal auf <062> zurückzukommen ...
Tatsächlich hatte der besagte Entwickler dann doch nochmal den http://www.industriesalon.de aufgesucht und einiges an Papier hinterlassen. Leider erfolgte das in meiner krankheitsbedingt längeren Abwesenheit. Erst durch Zufall fielen mir kürzlich diese Papiere in die Hände.
Es handelt sich um sehr schlecht lesbare Bleistift-Skizzen mit wenig Text.
Inwieweit diese Unterlagen vollständig sind und man aus dem Bleistift-Gekritzel schlau wird, ist mir gegenwärtig noch unklar.
Einfaches Scannen war leider erfolglos.

Sollte ernsthafte Interesse vorliegen, werde ich händisch versuchen dieses Material digital aufzubereiten und hier zur Verfügung zu stellen.

Das Wissen der Menschheit gehört allen Menschen! -
Wissen ist Macht, wer glaubt, der weis nichts! -
Unwissenheit schützt vor Strafe nicht! -
Gegen die Ausgrenzung von Unwissenden und für ein liberalisiertes Urheberrecht!
PS

Dieser Beitrag wurde am 12.05.2018 um 09:20 Uhr von P.S. editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
068
12.05.2018, 11:29 Uhr
holm

Avatar von holm


Zitat:
P.S. schrieb
@<064>
Da irrt der Herr Allesbesserwisser aber gewaltig!



Ich ziehe mir den Schuh mal an.. :-)

Zitat:


Der allgemeine Hinweis auf "de.alt.folklore.computer" ohne einen konkreten Link hilft dabei eben nicht wirklich weiter.




..das kannst Du also auch nicht.


Zitat:


Die über mehrere ELEKTOR-Hefte gehende Beschreibung des "Computer 74" mit detaillierten Schaltungsunterlagen kann durchaus als Bauanleitung angesehen werden, wenn auch wie sonst üblich im ELEKTOR die Leiterplatten-Layouts fehlen, weil hier Lochrasterplatinen zum Einsatz kamen. Dass das nicht nur lapidare Schaltungsvorschläge sind, sieht man an den Bildern vom praktischen Aufbau.

1974
H5 - Teil 1: Allgemeines, konzeptioneller Aufbau, Mikroprogramm usw.
H6 - Teil 2: ROM (Dioden-Matrix), Schaltwerk ROM-Steuerung, Buffer
H10 - Teil 3: Bedienungspanel und Steuerung, praktischer Aufbau
H11 - Teil 4: periphere Einheiten - Programmzähler und Speichereinheiten
H12 - Teil 5: Arbeitsweise der Recheneinheit
1975
H1 - Teil 6: Praktische Schaltungsauslegung der Recheneinheit
Angeblich sollte es noch Fortsetzungen geben, doch weitere Teile habe ich leider nicht mehr gefunden ...

Das Wissen der Menschheit gehört allen Menschen! -
Wissen ist Macht, wer glaubt, der weis nichts! -
Unwissenheit schützt vor Strafe nicht! -
Gegen die Ausgrenzung von Unwissenden und für ein liberalisiertes Urheberrecht!
PS



Knallharte Argumentation Deinerseits, Gratulation. Ich zitiere mal die Kernpunkte:

"kann durchaus als [] angesehen werden, wenn.."
"Angeblich sollte es noch [] geben.."
"Wissen ist Macht, wer glaubt, der weis nichts! "


Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
069
12.05.2018, 16:49 Uhr
sylvi



Hallo Holm,

der "Schuh" steht schon fast ein halbes Jahr rum.
Bestimmt hat der schon Schimmel angesetzt, den würde ich nicht mehr
anziehen.
lg
sylvi
--
Meine Uhr ist eingeschlafen
Ich hänge lose in der Zeit
Ein Sturm hat mich hinausgetrieben
Auf das Meer der Ewigkeit
Asyl im Paradies, Silly
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
070
13.05.2018, 09:34 Uhr
holm

Avatar von holm

Ich weiß Silvy,

Gruß,
Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
071
13.05.2018, 12:23 Uhr
Micha

Avatar von Micha

... dieser verrückte Japaner, der damals bei Zilog in den 1980ern die Logik des Z80 noch auf riesige Lappen von Papier gezeichnet hat

Ein Genie, der das längst überfällige Ende eine Ära einfach nicht akzeptieren mochte.

Ich denk heute ist die Schaltlogik so eines Prozessors am besten in einer Beschreibungssprache wie HDML oder Verilog aufgehoben.

Schon viel früher, in den 1960er bis 1970er Jahren, wurde bei DEC ein Prozessor (wie z.B. PDP11) nicht als konkretes Chip-Layout begriffen, sondern als Konzept - das man auf vielerlei Weisen realisieren könnte.
--
Der Sozialismus siecht!
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek