Intel 4004 Spielereien

Der Pentium ist CMOS und spielt in einer ganz anderen Liga. Den 80286 musste man nicht kühlen, das ging noch ohne, selbst die PLCC-68 Version in Plastik.

Das ist ein 82C37, also CMOS. Der braucht garantiert keinen Kühlkörper. Auch die NMOS-Version brauchte keinen, ich kenne noch die Boards auf denen der 8237 verbaut war. Da hatte kein einziger IC einen Kühlkörper.

Hier mal ein anderes Beispiel:

Der Videochip des C64 braucht 200mA auf +5V und 40mA auf +12V. Also grob

1.5W in einem 40pin DIP (Plastik). Das ging ohne Kühlkörper in einem schlecht gelüfteten Gehäuse.

Gerrit

Reply to
Gerrit Heitsch
Loading thread data ...

Ich kann mich noch an Thermal Shutdown mit 286er Rechnern erinnern. Ziemlich eklig bei langen SPICE Sims die dann abbrachen.

Wobei SPICE auch recht brutal ist. Bei meinem jetzigen PC sind dann innerhalb von Minuten die Luefter auf voller Pulle und das Buerothermometer faengt langsam an zu klettern.

1.5W ist nicht viel. Doch manche Chips verbraten eine Ecke mehr. In dem Wavetek waren Chips die liefen laut Thermometer deutlich ueber 80C auf der Gehaeuseoberflaeche. Das konnte auf Dauern nicht gut gehen, und ist es auch nicht.
--
Gruesse, Joerg

http://www.analogconsultants.com/
Reply to
Joerg

Ein 286 hat keine Temperaturüberwachung. Das kam erst mit dem Pentium und später. Wenn ein 286 überhitzte (und dann abschmierte) hattest du ein Problem mit der Belüftung des PCs.

Was heisst 'brutal'? Das ist normal. Aktuelle CPUs gehen schlafen wenn nichts zu tun ist und aktuelle OS unterstützen sie dabei. Spart Strom und damit Hitze. Wenn du jetzt ein Programm startest was die CPU die ganze Zeit belastest verbraucht sie natürlich mehr und die Lüfter müssen hochdrehen. DOS hingegen hat damals eine Pollschleife benutzt, die CPU lief immer unter Volllast, die Variationen in der Temperatur waren klein.

Für ein Plastik-DIP ist das eine Menge. Du verbrennst dir daran die Finger.

Gerrit

Reply to
Gerrit Heitsch

Yup, was man "uncontrolled shut-down" nannte. Das waren Rechner von namhaften Firmen, nicht vom PC-Schrauber an der Ecke.

Abgeschmiert sind mir die immer nur mit SPICE.

Klar, aber Finger verbrennen geschieht vom Gefuehl her bereits bei 50C. Ich hatte schon gemessene 80C auf solchen Gehaeusen. Natuerlich nicht bei meinen Designs, sowas mache ich nicht.

--
Gruesse, Joerg

http://www.analogconsultants.com/
Reply to
Joerg

Gerrit Heitsch wrote on Sun, 12-07-15 18:38:

Das sahen die Hersteller meiner Boards anders. Der 68000 kam nicht nur ohne Kühler aus sondern blieb auch noch kalt dabei - ein weiterer Grund für das Überlegenheitsgefühl der Atarianwender.

Reply to
Axel Berger

Und so sprach Joerg:

Was hast du für einen seltsamen Computer? Bisher ist meiner beim "würzen" nicht mal lauter geworden (der CPU-Kühler zumindest). Wielleicht solltest du mal die Hundehaare rauskehren...

Solange die Plast nicht schmilzt, ist doch alles OK ;)

Roland

Reply to
Roland Ertelt

Das war im vorigen Jahrhundert. Marken weiss ich nicht mehr, was eben so bei den Firmen vorhanden war. Normalerweise alles Markenware.

In drei Wochen ist wieder PC-Reinigung. Da unser neuer Labrador inzwischen die Angewohnheit hat sich unter meinen PC-Arbeitsplatz zu kringeln ist mit Haaren zu rechnen. Wie er da drunter passt ist mir ein Raetsel, aber Hunde schaffen sowas irgendwie.

Und dann hat man ein Signetics Brandzeichen :-)

--
Gruesse, Joerg

http://www.analogconsultants.com/
Reply to
Joerg

"Gerrit Heitsch" schrieb im Newsbeitrag news:jturlf$nr0$ snipped-for-privacy@news.bawue.net...

Der Videochip saß doch in dem Blechkasten und im Deckel war ein kleines Blech, das auf das Gehäuse drückte. Im Übrigen war das Teil recht empfindlich. Ich kann mich noch sehr gut an einen C64 erinnern, bei dem der Speerwerfer im Decathlon ohne Speer losrannte. Es gab massive Probleme mit Sprites. Es hat mich viele Stunden gekostet, herauszufinden, dass es 2 Versionen des Netzteils im alten Gehäuse gab, eine mit 5V und eine mit etwas hochgezogenem Masssepin, die 5,x Volt ausgab, die Spannung x ist allerdings aus meinem Gedächnis verschwunden. Der Vidoechip funktionierte in einigen Fällen erst, wenn er mehr als 5 V bekam. Dem trug Commodore mit der angepassten 5V-Spannung Rechnung.

Auch damals gab es also schon Chips, die richtig hart an der Grenze liefen.

--

Wolfgang Horejsi www.gebrauchtemotorradersatzteile.de
Reply to
Wolfgang Horejsi

Dann war das sicher ein 80286-10 den man übertaktet hatte. War damals üblich, gerne auf 12MHz, mutigere gingen bis 16 MHz. Hab ich oft gesehen damals, allerdings ohne Kühlkörper. Ging meist gut... aber nicht unbegrenzt lange.

Du hattest wahrscheinlich nicht die Plastik-PLCC-Version sondern die keramische Version wie die hier:

formatting link

Oder jemand hat sich mehr Mühe gegeben die Übertaktung zu verbergen...

Der hatte wegen 64pol DIP auch mehr Platz die Wärme loszuwerden und lief im Atari nur mit 8 MHz. Der 68000-12 wird deutlich wärmer.

Gerrit

Reply to
Gerrit Heitsch

Der 68030 in 50 MHz kann mit 66 MHz übertaktet werden und ist immer noch ohne Kühlkörper nutzbar, wenn man ihn nicht allzusehr zubaut.

-ras

--
Ralph A. Schmid

http://www.schmid.xxx/ http://www.db0fue.de/
 Click to see the full signature
Reply to
Ralph A. Schmid, dk5ras

Nur ganz am Anfang... Ich hab einige bei denen man sich das gespart hat. Auch die laufen noch. Meist lag diese Blech auch nicht plan auf womit der Kühleffekt sicher nicht null, aber auch nicht optimal war.

Nach der Umstellung auf HMOS (dann der 8565) lies die Hitzeentwicklung deutlich nach und es ging ohne verbrannte Finger.

Eben nicht... Der 6569 bekommt hausgemachte +5V aus einem 7805 direkt daneben. Gleiches gilt für die +12V. Beide Spannungen werden aus den 9V AC des Netzteiles erzeugt, haben also mit den +5V aus dem Netzteil nichts zu tun.

Dein Problem waren eher andere Chips.

Die kleine Schaltung aus 2 Widerständen hat den Massepin des 78S05 im Netzteil um 0.2V hochgezogen. Damit hattest du im Rechner selbst am Eingang unter Last genau +5V (der Rest blieb wohl im Kabel hängen) und am anderen Ende der Platine etwas weniger, so 4.9V.

Wobei der 6569 nicht dazugehört. Dem kann man die +12V auf +10V senken und er funktioniert immer noch, incl. Erzeugung des Chroma-Signals.

An der Grenze lief eher der Soundchip (6581), Mixed Signal in NMOS, das würde heute keiner mehr wagen...

Gerrit

Reply to
Gerrit Heitsch

Da gibt es coole VDSL-chips, Technologie unbekannt, aber 1.8V, 15V, und noch eine Spannung sazwischen :)

-ras

--
Ralph A. Schmid

http://www.schmid.xxx/ http://www.db0fue.de/
 Click to see the full signature
Reply to
Ralph A. Schmid, dk5ras

Also, ich habe mir das jetzt mal genauer angeschaut. Das einzige ernsthafte Problem ist in X2 die Umschaltung der Datenrichtung. Der Rest ist recht problemlos abzuhandeln.

Aber genau an der schwierigen Stelle in X2 hält sich das Datenblatt auffallend bedeckt. Oder ich bin nur zu doof, es zu verstehen.

Wann fängt das mit "IF SRC" beschriftete Tal auf den Steuerleitungen denn nun genau an? Und wieviel Zeit bleibt danach maximal, bis die Daten auf dem Bus liegen müssen?

Oder meint "SRC" etwa die CPU, sprich: das Vorhandensein dieses Tals kennzeichnet einen Schreibzyklus _in_ den Speicher? Wenn das so ist, dann geht's. Selbst in der naiven Variante ohne Timer für den Takt.

Und noch eine Sache habe ich nicht verstanden. Gibt es keine Lesezugriffe auf's ROM außer dem instruction fetch in M1/2? Falls doch, stimmt die Beschriftung zu X2 irgendwie nicht. Außerdem fehlt irgendwie die Grafik zu der mit "DATA BUS" beschrifteten Zeile...

Im großen und ganzen würd ich mal sagen, daß es sich wohl um eins der beschissensten Timing-Diagramme handelt, die ich je versucht habe zu enträtseln.

Reply to
Heiko Nocon

Ein Testprogramm läuft mittlerweile:

0000: NOP 00 0001: NOP 00 0002: NOP 00 0003: NOP 00 0004: JUN $0000 40 00

Sieht auf meinem Ant8-Logicanalyzer so aus:

formatting link

Man sieht sehr schön, wie die Adresse nach dem Sync-Signal (in M1) von der CPU raufgezählt wird.

Bis 10 Hz runter läuft es noch, bei 5 Hz nicht mehr: da schafft es die CPU nicht mehr v>

Ich bin da auch nicht so ganz schlau draus geworden, oder vielleicht habe ich es noch nicht gefunden. Schön wäre irgendeine Beschreibung, zu welcher Flanke exakt die Ausgangstreiber der CPU ein- und ausgeschaltet werden und wann die Eingänge übernommen werden. Ich bin da eigentlich ein Freund von Fließtext für. Kann man exakter beschreiben, als per Diagramm. Hier aber mal ein Scope-Bild von meinem Testprogramm:

formatting link

Wann ich den Ausgang schalte, ist in dem anderen Bild oben zu sehen, wenn out-enable auf 1 ist. Die CPU scheint also bei X1 exakt mit fallender Flanke von phi1 den Ausgang zu schalten, bis zur nächsten steigenden Flanke von phi2. Die Adresse bei A1 wird aber scheinbar mit der steigenden Flanke von phi2 ausgegeben. Daher sample ich das auch jeweils mit der nächsten steigenden Flanke von phi1, denn da sollte die dann sicher anliegen.

Wahrscheinlich schalte ich den Ausgangstreiber noch ein wenig zu früh ein, da ich vermute, daß die CPU den Datenbus auch mit steigender Flanke von phi1 übernimmt. Könnte ich also vielleicht bei fallender Flanke von phi1 einschalten und auch etwas früher wieder ausschalten.

Wenn man zuviel Zeit hat, könnte man sich das theoretisch bis auf die Gatterebene herunter mit diesem Simulator hier ansehen:

formatting link

SRC ist ein Assembler Befehl, der dazu führt, daß während X2 und X3 die CPU den Datenbus belegt hat. Etwas besser ist das hier beschrieben, auf Seite 7 (PDF-Seite 11) :

formatting link

X2 wird also für alle 4-Bit Leseoperationen vom RAM oder ROM verwendet (mit Ausnahme der OPR und OPA Leseoperationen vom ROM).

Damit ist die Textzeile gemeint: CPU Enabled, ROM Enabled usw.

Ja, könnte besser sein. Und man merkt, daß Intel das entworfen hat, von wegen Orthogonalität und einfaches Design :-) War auch witzig, daß die Clock-Leitungen nicht invertiert sind, alle anderen Leitungen aber schon. Eine Stunde debugging umsonst.

Unten noch die aktuelle Implementierung der ROM-Emulation, aufgerufen in einem 4 kHz Interrupt. Das wird man wahrscheinlich nicht in einem ATTiny mit 750 kHz laufen lassen können.

// 4004 clock generator switch (g_phase) { case 0: setPhi1(1); setPhi2(1);

// reset or update cycle counter if (g_cycleReset) { g_cycle = 0; g_cycleReset = 0; } else { g_cycle++; } break;

case 1: setPhi1(0); setPhi2(1); break; case 2: setPhi1(1); setPhi2(1);

// the 4004 sets sync to low on rising edge of phi2, // test on rising edge of phi1 if (isCpuSync()) { // schedule reset cycle counter on // start of cycle 0 g_cycleReset = 1; } break; case 3: setPhi1(1); setPhi2(0); break;

default: break; }

// the CPU sends 12 bits of address in the first three cycles // (A1, A2, A3) // the ROM sends back 8 bits back in the next two cycles // (M1, M2)

// 4004 ROM emulation

// sample data lines on phase 2 if (g_phase == 2) { switch (g_cycle) { // A1: lower 4 bit of address case 0: g_address = getCpuData(); break;

// A1: middle 4 bit of address case 1: g_address |= getCpuData() > 4); break;

// M2, OPA (lower 4 bits) case 4: setCpuData(g_rom[g_address]); break;

// disable output at next cycle case 5: setCpuEnableDataOut(0); break; } }

g_phase++; if (g_phase == 4) g_phase = 0;

--
Frank Buss, http://www.frank-buss.de
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Stimmt, scheinbar sehr konservativ, oder die Plastikversion ist schon stark verbessert worden, denn läuft noch bis runter zu 10 Hz, erst bei 5 Hz gibt es Probleme. Habe die Webseite mal aktualisiert:

formatting link

Ich müsste diese Woche noch einen 4001 RAM Baustein bekommen, den ich dann mit anschließe. Damit sollte dann mein Knight Rider Test laufen:

formatting link

--
Frank Buss, http://www.frank-buss.de
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Es gab auch ein EPROM das man 4 Bit auslesen konnte:

formatting link
Im Gegensatz zum MM5204 die ich noch in Mengen auf Speicherkarten habe
formatting link
ist das aber seltener bei ebay zu finden. Ausserdem sind PMOS nur mühsam programmierbar. Optisch würde ohnehin ein 1702 in weiss-gold wie im rechten Bild mehr auf der Leiterplatte hermachen.

MfG JRD

Reply to
Rafael Deliano

Der 1702 sieht wirklich gut aus, aber wird man nicht so einfach anschließen können, da das Protokoll doch sehr merkwürdig ist, was der

4004 für den ROM-Zugriff verwendet. Es gibt allerdings den Intel D4289, mit dem man auch Standard 5V EPROMs anbinden kann. Damit könnte man dann tatsächlich einen recht original alten Rechner zusammenbauen, ohne modernen PIC o.ä. und auch einen 1702 einsetzen.
--
Frank Buss, http://www.frank-buss.de
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Und jetzt läuft auch das Knight Rider Licht auf der realen Hardware. Wurde eben in Hackaday drüber berichtet:

formatting link

--
Frank Buss, http://www.frank-buss.de
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.