Ich habe beim Aufräumen einen goldigen AM2903ADC DIL48 Bitslice
gefunden und überlege, weil ich viel Langeweile habe, ob ich
mal versuchen sollte mit dem Teil über einen XC9572 PLCC84 zu
sprechen.
Hat schon mal jemand mit dem Goldie gespielt?
Muss man wg der Bipolaren-Störung was besonderes beachten?
Bipolare Störung?
Issn das?
Das Ding ist eine erweiterte 4 Bit ALU Scheibe mit der man durch
Mirkoprogrammsteuerung seine Eigene CPU bauen kann.
Natürlich kannst Du mit dem Ding sprechen und es wird die Befehle dir Du
ihm gibst auch ausführen..aber bis zum Computer ist es da noch recht
weit.
Das CPL wird Dir helfen aber es reicht nicht aus. Der Aufwand ist
erheblich
(Mikroprogrammsteuerung AM2910, Microcode ROM, Microcode Latches,
Condition Mux, Diverse Treiber, Memory Adress Register, Mehrphasentakt
etc pp.
Die ALU (Datapath) ist eine Hälfte, das Steuerwerk die andere.
Ich habe eine angefangene Baustelle hier herum liegen, mal sehen wann
die das erste Mal zuckt ..
Gruß,
Holm
Wofür braucht man denn einen "Mehrphasentakt"?
Für die ALU anscheinend nicht..
Die Steuerung soll ja der CPLD machen.
Da will ich auch ein RAM anschliessen.
Habe gerade noch einen zweiten AM2903 gefunden, also
könnte ich die Dinger kaskadieren, wobei die beiden
dann anscheinend versetzt geclockt werden müssen
wg. Carry-Bit?
Gibt es einen einfachen Test ob die Dinger noch zucken?
Bestimmte Pin-Pegel wenn VCC anliegt?
Stromverbrauch ohne Beschaltung?
Ich werde denen gleich mal Saft geben..
Hast Du Schaltpläne?
rk schrieb:> Wofür braucht man denn einen "Mehrphasentakt"?> Für die ALU anscheinend nicht..>> Die Steuerung soll ja der CPLD machen.> Da will ich auch ein RAM anschliessen.
Ich denke das PLD wird zu klein sein um damit was Sinnvolles anzufangen.
>> Habe gerade noch einen zweiten AM2903 gefunden, also
Sehr gut, das gibt schon mal eine 8 Bit ALU
> könnte ich die Dinger kaskadieren, wobei die beiden> dann anscheinend versetzt geclockt werden müssen> wg. Carry-Bit?
Du mußt da nix locken, die haben Ein- und Ausgänge zum kaskadieren.
>> Gibt es einen einfachen Test ob die Dinger noch zucken?> Bestimmte Pin-Pegel wenn VCC anliegt?> Stromverbrauch ohne Beschaltung?
Du kannst die Befehlseingänge fest verdrahten und irgendwelche Pegel
anlegen, das sind ALUs und ein paar Register Scheiben, also sowas wie
74181 und noch was dran.
>> Ich werde denen gleich mal Saft geben..>>> Hast Du Schaltpläne?
Moment....
hier gibts Futter ohne Ende:
http://www.donnamaie.com/AMD_Vintage/AMD_2900_ED2900A.html
Wenn Du ein Steuerwerk brauchst (AM2909/2911 oder 2910) gibt Bescheid.
Edit: Die Linkst auf der angegebenen Seite liegen etwas daneben.. man
bekommt aber hier:
http://www.donnamaie.com/AMD_Vintage/
einen Directoryindex. Ziehe Dir die PDFs runter.
Die gute Frau hat früher wohl mal Lehrgänge über diese Ic-Familie
gehalten.
Es gibt noch ein gutes Buch zu dem Thema Mick and Brick "Bit-Slice
Microprocessor Design"
Gruß,
Holm
Holm, vielen Dank für Deine Hilfe!
Mit den Original-Teilen eine 64-Bit CPU zu bauen scheint mir
nicht so amüsant zu sein ;)
Leider habe ich zur Taktung bei Verwendung von Ripple-Carry
noch nicht viel gefunden. Wird meistens der AM2902 Lookahead-Carry-Gen
verwendet. Es müssen für Ripple-Carry dann halt die ALUs
nacheinander getaktet werden.
Die Goldbarren ziehen beide jeweils 0.23 A und die meisten Pins haben
2.5V, die Ausnahmen sind /G und SIO_3 = 5V, /P und Z = 0V.
Ich vermute mal dass die ALUs noch funzen und werde es riskieren
da mehr Arbeit zu investieren..
Halte mich (hier oder per Mail) mal auf dem Laufenden, interessiert mich
:-)
Eine 64Bit CPU zu bauen würde mich auch eher abschrecken aber eine PDP11
liegt evtl. im Bereich des Machbaren, IMHO hatte irgend eine Uni sogar
eine Implementation auf einem Board gebastelt. Das erfordert 16 Bit,
also 4 ICs.
was wiederum zu 16 Bit Adressen führt und nicht sonderlich attraktiv
ist, also noch eine MMU dazu und man könnte ein Unix laufen lassen (2.11
BSD z.B., habe ich hier auf einer echten PDP11/83). Alles mit mehr
Breite wird eher zu fett und noch vier ALUs nur um Adressen erzeugen zu
können ist auch Quatsch.
Man soltle aber berücksichtigen das ein Z80, der ja bekanntlich eine 8
Bit CPU mit 16 Bit Features ist nur über eine 4Bit ALU verfügt.
Zu Deiner Kaskadierung mit den Carrys: Klemme die einfach aneinander als
ripple Carry wie es dokumentiert ist, zeitkritisch wird das erst, wenn
Du mehr als 3 ALUs hintereinander klemmst. Im Endeffekt entschieden die
Signallaufzeiten was passiert und so begrenzt das Ganze nur die
erreichbare Taktfrequenz. Bei 2 IC brauchst Du Dir keinen Kopf machen,
es sind halt zur Kaskadierung vorgesehene Bit Scheiben, zwischen Bit 1
und 2 gibts auch kein Look ahead carry generator....(74182/AM2902). Wie
gesagt, das wird erst bei größeren Wortbreiten kritisch.
Dein Problem ist dass Du eine CCU (Computer Control Unit) brauchst damit
das Spaß macht. Das Ding (i.a. ein 2910) ist ja selbst schon eine
mirkoprogrammierbare Ablaufsteuerung die über den Microcode-ROM dann
auch die ALUs steuert. Ohne diese CCU kannst Du mit der ALU nicht
allzuviel anfangen abe rdie CCU alleine ist schon in der Lage ohne ALU
z.B. eine Kaffemaschine oder eine Ampel zu steuern.
Klar kann man das auch durch einen Mikroprozessor ersetzen oder Du
kannst
das auch in das CPLD brutzeln .. der Aufwand sinkt aber nicht wesentlich
dabei, gesetzt den Fall das Du irgend eine Art Mikroprogramm abarbeiten
willst, das muß ja irgendwo her kommen (Mikrocode ROM .. oder
fremdgeladenes RAM als Writeable Control Store (WCS), da gibts clevere
ICs von IDT, aber auch gleich in PLCC68), dann brauchst Du das Pipeline
Register und evtl. noch einen Mapping ROM. Abhängig davon ob Du
Interrupts
per Software (Mirkobefehlsfolge) oder Hardware (da gibts Controller)
behandeln möchtest, evel einen Barrelshifter einbauen willst, Bytes
effektiv swappen, einen schnellen Multiplizierer brauchst usw. läßt sich
der Aufwand beliebig in die Höhe treiben. Du hast dann eine High
Performance Bipolar CPU die aus heutiger Sicht aber auch keine
Wurschtpelle vom Teller zieht...
Wenn dann also nur aus Spaß an der Freude und da ist es mehr oder
weniger egal wie schnell genau nun dieses Ding ist. Man sollte aber wohl
immer ein paar Microcode-Bits für Erweiterungen übrig haben :-)
Egal. Ich fand die Sache jedenfalls hochinteressant und es hat mir viel
über die Interna eines heute normalen Micros erzählt. Hut ab, was da
alles drin steckt. Nichts desto trotz möchte ich mal eine "eigene" CPU
bauen, wobei aber eine eigene CPU in einem FPGA eher nicht reizt, da
kann kann ich auch den fertigen IC nehmen...
Seltsamerweise benutzen andere Leute entweder gleich 74181 als ALU und
bauen den ganzen Rest auch noch zu fuß, oder die simulieren das z.B. mit
Eproms. Google mal nach "Big Mess Of Wires" (BMOW) da findest Du den
Einstieg zu einem Ring von Webseiten total verrückter Bastler...
Die AM2900 Serie benutzt aber scheinbar von denen Keiner, seltsam, weil
das die Zusammenfassung einiger niedriger integrierter TTL ICs ist.
Bei Demotronic.de gibts Pulls gebrauchter ICs für verhältnismäßig
kleines Geld. Ich habe dort z.B. AM29203 für 1,50 gekauft auch andere
ICs sind verfügbar. Der Mindestbestellwert ist aber 50 Euro netto. Also
eine Anfrage mit einer Liste und Preisvorschlag hin schicken...
Ich habe von dort auch "differenzielle" Eproms wie z.B: Am27C291,
CY7C291 ergattert, den Promer dafür habe ich mir selber gebaut. Das sind
Eproms mit 25 oder 35ns. Zugriffszeit für den Control Store, mit
Lademimik gehen aber auch olle Cache RAMs.
Gruß,
Holm
> Halte mich (hier oder per Mail) mal auf dem Laufenden, interessiert mich> :-)
OK, ich werde mich erstmal mit einem alleinstehenden Bit-Schlitz
vergnügen, dann kommt das Tandem.
> Seltsamerweise benutzen andere Leute entweder gleich 74181 als ALU> und bauen den ganzen Rest auch noch zu fuß, oder die simulieren das> z.B. mit Eproms. Google mal nach "Big Mess Of Wires" (BMOW) da> findest Du den Einstieg zu einem Ring von Webseiten total verrückter> Bastler...
Ja, interessant. Aber leider sehr zeitaufwendig..
> Die AM2900 Serie benutzt aber scheinbar von denen> Keiner, seltsam, weil das die Zusammenfassung einiger niedriger> integrierter TTL ICs ist.
Die 74181 haben weniger Pins, brauchen weniger Platz, sind
einfacher zu verstehen und wohl auch eher verfügbar.
Und brauchen nur 30mA statt 300mA.
Wieviel verheizt denn Deine AM-CPU insgesamt?
> Bei Demotronic.de gibts Pulls gebrauchter ICs für verhältnismäßig> kleines Geld. Ich habe dort z.B. AM29203 für 1,50 gekauft auch> andere ICs sind verfügbar. Der Mindestbestellwert ist aber 50 Euro> netto. Also eine Anfrage mit einer Liste und Preisvorschlag hin> schicken...
Sehr interessant! Habe bisher von Chinesen bei eBay gekauft aber das
hat zum Schluss genervt, gebraucht statt neu wie angegeben, 2 kaputte
HD63C09, als Ersatz kamen EP-Versionen, endlose Lieferzeiten,
mangelhafte Zolldeklarationen..
Wie ist denn die Qualität der ausgelöteten ICs?
> Ich habe von dort auch "differenzielle" Eproms wie z.B: Am27C291,> CY7C291 ergattert, den Promer dafür habe ich mir selber gebaut. Das> sind Eproms mit 25 oder 35ns. Zugriffszeit für den Control Store,> mit Lademimik gehen aber auch olle Cache RAMs.
Mit OTPs arbeite ich nicht so gerne.
Von den Cache-RAMs habe ich auch noch reichlich.
Ich erinnere mich dass Du auch mal was mit uralten TI DSPs gemacht hast.
Hast Du irgendwas brauchbares damit anstellen können?
Ich habe hier noch viele TMS320C14 aus alten Festplatten rumliegen
und irgendwann mal eine Platine dafür machen lassen aber dann nix mehr
damit angefangen.
rk schrieb:>> Halte mich (hier oder per Mail) mal auf dem Laufenden, interessiert mich>> :-)>> OK, ich werde mich erstmal mit einem alleinstehenden Bit-Schlitz> vergnügen, dann kommt das Tandem.>>> Seltsamerweise benutzen andere Leute entweder gleich 74181 als ALU>> und bauen den ganzen Rest auch noch zu fuß, oder die simulieren das>> z.B. mit Eproms. Google mal nach "Big Mess Of Wires" (BMOW) da>> findest Du den Einstieg zu einem Ring von Webseiten total verrückter>> Bastler...>> Ja, interessant. Aber leider sehr zeitaufwendig..>>> Die AM2900 Serie benutzt aber scheinbar von denen>> Keiner, seltsam, weil das die Zusammenfassung einiger niedriger>> integrierter TTL ICs ist.>> Die 74181 haben weniger Pins, brauchen weniger Platz, sind> einfacher zu verstehen und wohl auch eher verfügbar.> Und brauchen nur 30mA statt 300mA.
Das wird wohl seine Gründe haben und wenn Du eine 74181 gegen einen
AM2903 verglichen hast, ist das aus mehreren Gründen unfair, schon
deshalb weil eine 74181 Standard TTL und ein AM2903 Schottky, Du müßtest
schon eine 74S181 untersuchen (ich habe noch irgendwo russische
K531IP3.. könnte ja mal gucken was die in Ruhe ziehen) Das Datenblatt
sagt zum S181 195mA.
Bevor die CMOS Versionen raus kamen gab es wohl noch eine Version
(AM2903C oder D?) mit intern ECL und TTL Interface..die dürften noch
durstiger sein.
> Wieviel verheizt denn Deine AM-CPU insgesamt?
Gar Nichts, ich bin dabei den WCS zu verdrahten (mit Cache RAMs, einem
AVR und einem Dataflash). Danach kommt die CCU, alles Fädeltechnik..
>>> Bei Demotronic.de gibts Pulls gebrauchter ICs für verhältnismäßig>> kleines Geld. Ich habe dort z.B. AM29203 für 1,50 gekauft auch>> andere ICs sind verfügbar. Der Mindestbestellwert ist aber 50 Euro>> netto. Also eine Anfrage mit einer Liste und Preisvorschlag hin>> schicken...>> Sehr interessant! Habe bisher von Chinesen bei eBay gekauft aber das> hat zum Schluss genervt, gebraucht statt neu wie angegeben, 2 kaputte> HD63C09, als Ersatz kamen EP-Versionen, endlose Lieferzeiten,> mangelhafte Zolldeklarationen..>> Wie ist denn die Qualität der ausgelöteten ICs?>
Ich kann nicht meckern. Obwohl ich auf der Bestellung geschrieben hatte
das mich Kratzer auf dem Gehäuse oder krumme Pins nicht unbedingt
stören,
die Ics arbeiten und nicht in der Vitrine schön aussehen sollen, habe
ich immer erstklassige Ware erhalten.
Eine Z8010 MMU mit Macke habe ich auch ersetzt bekommen..die hatte einen
Riß im unteren Teil des Keramikgehäuses und ging natürlich damit nicht
mehr. (Steckt im P8000 Compact).
>> Ich habe von dort auch "differenzielle" Eproms wie z.B: Am27C291,>> CY7C291 ergattert, den Promer dafür habe ich mir selber gebaut. Das>> sind Eproms mit 25 oder 35ns. Zugriffszeit für den Control Store,>> mit Lademimik gehen aber auch olle Cache RAMs.>> Mit OTPs arbeite ich nicht so gerne.
Ich auch nicht, AM27C291 sind keine OTPs sondern Keramik mit
Glasfenster,
richtige EPROMS mit Differenzialzellen halt. Die schnellsten die ich
kenne.
Die Dinger sind CMOS und 2Kx8, es gibt in der Geschwindigkeitsklasse und
dieser Größenordnung nichts Moderneres, kein Flash oder so..
Die 27C291 haben im Gegensatz zum 27C191 ein 300mil Gehäuse mit
Glasfenster, die 191 haben 600mil.
> Von den Cache-RAMs habe ich auch noch reichlich.>
Das verkürzt das Ändern des Mikrocodes natürlich entschieden..
>> Ich erinnere mich dass Du auch mal was mit uralten TI DSPs gemacht hast.> Hast Du irgendwas brauchbares damit anstellen können?
Nein, ich habe genau einen U320C20, das ist ein DDR Nachbau des
TMS320C20.
Ich hatte nach einem C-Compiler gesucht, auch bei TI, bin aber aus deren
Bezeichnungen und wer zu was kompatibel ist vorläufig nicht schlau
geworden.
Ich haqbe mir gerade ein Buch zu dem Ding bestellt
(http://www.amazon.de/Digitaler-Signalprozessor-U320C20/dp/3341009981)
das sollte auf dem Postweg unterwegs sein...
>> Ich habe hier noch viele TMS320C14 aus alten Festplatten rumliegen> und irgendwann mal eine Platine dafür machen lassen aber dann nix mehr> damit angefangen.
Hmm.. das ist bei mir auch so ungefähr das Letzt-wichtigste.
...aber nicht das Du den Kram ungefragt entsorgst ....
:-)
Gruß,
Holm
> Bevor die CMOS Versionen raus kamen gab es wohl noch eine Version> (AM2903C oder D?) mit intern ECL und TTL Interface..die dürften noch> durstiger sein.
Meine heissen AM2903ADC und haben Datecode 8712. Anscheinend ist das
schon Schottky und doch nicht Bipolar TTL wie zuerst angenommen.. Habe
nur Datasheet vom AM2903A, der ist Bipolar.
> Nein, ich habe genau einen U320C20, das ist ein DDR Nachbau des> TMS320C20. Ich hatte nach einem C-Compiler gesucht, auch bei TI, bin> aber aus deren Bezeichnungen und wer zu was kompatibel ist vorläufig> nicht schlau geworden.
C-Compiler gibt's nicht. Habe mir aus MAME-Sourcen einen Emulator und
Disassembler gebaut.
Ich habe ein etwas grösseres Assemblerfile geschrieben das einen CS4231
Audio Codec anspricht, weiss aber nicht mehr ob das gut funktioniert
hat.
Bei 20 MHz hatte ich wohl schon Probleme mit einem 27C210A-12
und dem GAL. Hatte dann zwei 70ns Eproms bestellt.
Habe den ASL-Assembler benutzt.
rk schrieb:>> Bevor die CMOS Versionen raus kamen gab es wohl noch eine Version>> (AM2903C oder D?) mit intern ECL und TTL Interface..die dürften noch>> durstiger sein.>> Meine heissen AM2903ADC und haben Datecode 8712. Anscheinend ist das> schon Schottky und doch nicht Bipolar TTL wie zuerst angenommen.. Habe> nur Datasheet vom AM2903A, der ist Bipolar.
Häh?
AM2903A und AM2903ADC ist das Selbe.
Was das DC da dran soll, weiß ich nicht, evtl. die Maske?
Die Dinger sind in Geschwindigkeitsklassen sortiert, 2901, 2901A,2901B,
2901C.....
Ob es jemals was Anderes als 2903A gegeben hat, ist mir nicht klar,
2903B ist mir noch nicht über den Weg gelaufen, auch nicht auf Fotos
oder Schaltungen.
Beim 2901 weiß ich, das eben die späteren schnellen Versionen intern ECL
waren und das Ganze dann mit TTL kompatiblen Treibern versehen war.
bipolar sind die Alle, TTL ist bipolar und ECL auch.
Danach kamen dann 29C01 .. 29C03 die auch sehr schnell waren aber nicht
mehr so brutzeln.. Also wenn Du welche kaufst evtl. gleich die nehmen,
man kann sich aber auch ein Kilo Sackgang sparen und einen 29116 oder
einen 29C101 nehmen, letztere kann man noch kaskadieren, den 29116
nicht.
:-)
>>> Nein, ich habe genau einen U320C20, das ist ein DDR Nachbau des>> TMS320C20. Ich hatte nach einem C-Compiler gesucht, auch bei TI, bin>> aber aus deren Bezeichnungen und wer zu was kompatibel ist vorläufig>> nicht schlau geworden.>> C-Compiler gibt's nicht. Habe mir aus MAME-Sourcen einen Emulator und> Disassembler gebaut.
..interessant.
>> Ich habe ein etwas grösseres Assemblerfile geschrieben das einen CS4231> Audio Codec anspricht, weiss aber nicht mehr ob das gut funktioniert> hat.>> Bei 20 MHz hatte ich wohl schon Probleme mit einem 27C210A-12> und dem GAL. Hatte dann zwei 70ns Eproms bestellt.>> Habe den ASL-Assembler benutzt.
Wie schon gesagt, so richtig tief habe ich mir da noch keine Gedanken
gemacht.
Auf Deine Arbeit mit dem Assembler und dem Disassembler würde ich aber
gerne mal zurück kommen. Ich muß mich erst mal ins Buch einlesen wenn es
denn mal da ist.
Gruß,
Holm