PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wieviel Bit hatten die ersten x86er


Gast
2004-03-14, 10:27:18
Hatten die ersten x86-Prozessoren 8Bit oder 16 Bit Adressierungsraum (oder was auch immer)?

ow
2004-03-14, 11:04:35
.

mrdigital
2004-03-14, 11:14:37
1978 brachte Intel den 8086 als Ur x86 CPU, diese CPU hatte eine Wortbreite von 16Bit und einen Adressraum vom 20bit, wonit er über sagenhafte 1MiB Speicher herrschte. Allerdings hat er diese 20bit Adressraum durch eine seltsame Lösung mit sog. Segmentregitern erreicht, denn auch die Breite der Adressregister war auf 16bit beschränkt. Die Segmentregister wurden zur adressgenerierung um 4 Stellen nach links verschoben und dann wurde noch ein weiteres 16bit Register dazuaddiert um dann die entgültige Adresse zu erhalten. D.h. direkt konnte man nur auf 64KiB Speicher zugreifen, alles andere war mit ein bisschen Mehraufwand verbunden. Kurz danach kam noch die Sparvariante der 8088 auf den Markt, es war ein 8086 Kern, der aber nur mit 8bit mit der Umwelt komunizieren konnte. Der konnte das selbe machen wie der 8086 nur eben noch langsamer, da er (fast) doppelt so viele Speicherzugriffe benötigt hat.
Noch ein schnöes Bildchen :
http://cpu-museum.de/?a=i&f=f&s=l&id=0362&n=Intel+D8086+front
und im Detail :
http://www.zianet.com/kromeke/pastcomp/main/8086.jpg

Zool
2004-03-14, 11:37:35
Von der internen Struktur waren die ersten XT 16Bit Cpus (16Bit Register) hatten aber nach außen eben oft nur die billigere 8-Bit-Speicherbusandbindung mit dem 20Bit Adressbus.

Ein richtiger 8Bit-Rechner mit nur 8bit breiten Registern war zum beispiel der alte gute C64.

Einen außführlichen Hintergrund über die CPU-Geschichte bietet die HTML-Guide http://www3.sk.sympatico.ca/jbayko/cpu.html

Wirklich nahezu jede "Great-CPU" seit 1970 wird da abgehandelt.

marco42
2004-03-14, 13:47:17
Original geschrieben von Gast
Hatten die ersten x86-Prozessoren 8Bit oder 16 Bit Adressierungsraum (oder was auch immer)?

Der erste X86 war eigentlich der 4004, dann kam der 8008, dann der 8080, der 8085 und dann der 8086 wenn ich mich richtig erinnere. Es gab da noch den Z80, kompatibel zum 8080 war. Wieviel Adressleitungen der 4004 hatte, weiss ich leider nicht mehr. Er wuerde AFAIK fuer ein Kassensystem entwickelt.

BubbleBoy
2004-03-14, 14:27:29
Original geschrieben von marco42
Wieviel Adressleitungen der 4004 hatte, weiss ich leider nicht mehr.
War ein 4Bit-Prozessor.

Original geschrieben von marco42
Der erste X86 war eigentlich der 4004, dann kam der 8008, dann der 8080, der 8085 und dann der 8086 wenn ich mich richtig erinnere.
Magst dich in der Reihenfolge schon richtig erinnern, nur es bleibt bei der Tatsache, daß der erste x86-Prozessor der 8086 war.

ow
2004-03-14, 14:29:08
.

Endorphine
2004-03-14, 14:44:57
Original geschrieben von marco42
Wieviel Adressleitungen der 4004 hatte, weiss ich leider nicht mehr. Er wuerde AFAIK fuer ein Kassensystem entwickelt. Der 4004 war eine Auftragsentwicklung für Busicom (http://www.busicom.com/). Ein Kassensystem war es nicht, eher eine universell einsetzbare Rechenmaschine, da der 4004 unterprogrammfähig ist. Der 8008 sollte übrigens ursprünglich 1201 heissen, er wurde nur aus Absatzgründen 8008 genannt. Der erste x86er war der i8086.

aths
2004-03-14, 15:24:51
Original geschrieben von Gast
Hatten die ersten x86-Prozessoren 8Bit oder 16 Bit Adressierungsraum (oder was auch immer)? Mit 8 Bit könnten nur 256 Byte adressiert werden, mit 16 Bit nur 64 KiB.

marco42
2004-03-14, 22:17:40
Original geschrieben von ow
:???:

Der erste X86 ist der 8086.
Alle anderen von dir aufgezählten sind keine X86 CPUs.

/edit: ups, da war schon jemand schneller

Ok, kommt darauf an, wie du es siehst. X86 meint heute zB auch meistens IA32 und das ist ein 8086 auch nicht.

marco42
2004-03-14, 22:20:25
Original geschrieben von Endorphine
Der 4004 war eine Auftragsentwicklung für Busicom (http://www.busicom.com/). Ein Kassensystem war es nicht, eher eine universell einsetzbare Rechenmaschine, da der 4004 unterprogrammfähig ist. Der 8008 sollte übrigens ursprünglich 1201 heissen, er wurde nur aus Absatzgründen 8008 genannt. Der erste x86er war der i8086.

Ich muss mal in Intel Inside schauen, auf jeden Fall ist die Firma pleite gegangen und Intel hat den 4004 zurueckgekauft. Der hiess auf keinen Fall i8086, das mit dem i wurde doch erst mit 386 eingefuehrt?

BubbleBoy
2004-03-14, 22:21:13
Original geschrieben von marco42
Ok, kommt darauf an, wie du es siehst. X86 meint heute zB auch meistens IA32 und das ist ein 8086 auch nicht.
Das mag schon stimmen, ist aber weder völlig korrekt, noch gehören dadurch 4004, 8008, 8085 usw. zur x86-Familie.

Endorphine
2004-03-14, 22:22:03
Original geschrieben von marco42
X86 meint heute zB auch meistens IA32 und das ist ein 8086 auch nicht. X86 meint die Architektur des i8086, mit all' ihren Erweiterungen durch Nachfolger dieser CPU - deshalb das "X". Da ist kein Spielraum für unterschiedliche Interpretation.

Endorphine
2004-03-14, 22:34:14
Original geschrieben von marco42
Ich muss mal in Intel Inside schauen, auf jeden Fall ist die Firma pleite gegangen und Intel hat den 4004 zurueckgekauft. Das Buch heisst bei mir "Inside Intel" - ich hab's in meinem Bücherschrank. :)

Busicom war nicht pleite, sondern die Entwicklung dauerte länger als geplant und Busicom drängte darauf, deshalb den Preis zu senken, was zu einer Vertragsänderung führte. Intel zahlte 60k US-$ an Busicom zurück und erhielt die Rechte am 4004, mit der Einschränkung, dass Intel den IC nicht an Konkurrenten von Busicom verkauft.Original geschrieben von marco42
Der hiess auf keinen Fall i8086, das mit dem i wurde doch erst mit 386 eingefuehrt?
Das "i" ist lediglich ein Hinweis darauf, dass es sich um eine Intel-Teilenummer handelt. Intel selbst spricht natürlich von einem "4004" oder "Intel 4004". Wenn man aber technische Dokumentationen o. ä. anfertigt setzt man vor die leicht zu verwechselnde Zahl ein "i" und schon ist es eindeutig. Das ist schon das ganze Geheimnis. Das "i" kannst du übrigens auch auf dem 8086 in mrdigitals Posting finden. :)

marco42
2004-03-15, 01:15:29
Original geschrieben von Endorphine
Das Buch heisst bei mir "Inside Intel" - ich hab's in meinem Bücherschrank. :)


Ich verschenke gelesene Buecher meistens weiter und es ist jetzt schon ein paar Jahre her das ich es gelesen habe. Sorry.

mrdigital
2004-03-15, 09:12:24
Original geschrieben von marco42
Der erste X86 war eigentlich der 4004, dann kam der 8008, dann der 8080, der 8085 und dann der 8086 wenn ich mich richtig erinnere. Es gab da noch den Z80, kompatibel zum 8080 war. Wieviel Adressleitungen der 4004 hatte, weiss ich leider nicht mehr. Er wuerde AFAIK fuer ein Kassensystem entwickelt.
der 4004 hat nichts mit dem 8086 gemein, ebenso wie der 8008 nichts mit dem 8086 gemein hat, es ist eine neue Entwicklung von Intel gewesen. Von der chronologie her hast du recht, aber wie gesagt, der 4004 und der 8008 / 8080 (und auch der 8085) haben von ihrem Aufbau her nichts mit dem 8086 zu tun. (der wohl bekannteste 8080 Clone / Verbesserung ist wohl der Z80 von Zilog).
Mehr Details unter :
http://www.intel.com/intel/intelis/museum/exhibits/hist_micro/hof/index.htm

TheRealTentacle
2004-03-15, 19:43:37
Original geschrieben von mrdigital
der 4004 hat nichts mit dem 8086 gemein, ebenso wie der 8008 nichts mit dem 8086 gemein hat, es ist eine neue Entwicklung von Intel gewesen. Von der chronologie her hast du recht, aber wie gesagt, der 4004 und der 8008 / 8080 (und auch der 8085) haben von ihrem Aufbau her nichts mit dem 8086 zu tun.

... weswegen auch Bill Gates Basic für den 8008 falsche Ergebnisse auf dem 8086 lieferte. Während ein altes DOS Programm theoretisch noch heute auf einem 80868 laufen könnte , wenn man einen K8 so bezeichnen kann.

BubbleBoy
2004-03-16, 18:29:18
Original geschrieben von TheRealTentacle
... weswegen auch Bill Gates Basic für den 8008 falsche Ergebnisse auf dem 8086 lieferte. Während ein altes DOS Programm theoretisch noch heute auf einem 80868 laufen könnte , wenn man einen K8 so bezeichnen kann.
:D meinst wohl 80886

Tigerchen
2004-03-17, 19:51:03
Original geschrieben von Gast
Hatten die ersten x86-Prozessoren 8Bit oder 16 Bit Adressierungsraum (oder was auch immer)?

20 Bit Adressraum
16 Bit Register
Beim 8086 ein 16 Bit breiter Datenbus.
Beim 8088 ein 8 Bit breiter Datenbus, langsamer aber PC's ließen sich so etwas billiger bauen.

Haarmann
2004-03-17, 22:33:22
8086 ist der Erste der Serie

16 Bit Bus, 16 Bit Register und per 4 bit Versatz/Murks (Da hat Intel echt nicht für 2 Cent gedacht) kriegte man 20 Bit Adressraum mit immer 2 Registern hin und zusätzlich 64 KB Portadressen. Mit Würgereien war damit auch ein 8086/8088 in der Lage mehr Speicher zu benutzen, aber nicht gleichzeitig, was allerdings kein Schwein störte, da man das auch sonst nicht wirklich direkt konnte. Ob man nun nen Port als SegmentRegister nutze oder ein echtes Register war nicht so der Unterschied.

Der erste IBM PC nutzte allerdings nur nen 8088. 16 Bit Register aber nur 8 Bit Bus.

Endorphine
2004-03-22, 00:40:43
Original geschrieben von Haarmann
16 Bit Bus, 16 Bit Register und per 4 bit Versatz/Murks (Da hat Intel echt nicht für 2 Cent gedacht) kriegte man 20 Bit Adressraum mit immer 2 Registern hin [...] Ach Mensch Haarmann... Das Adressierungskonstrukt dient dazu, den 8086 kompatibel zum 8080/8085 zu machen.

Haarmann
2004-03-22, 10:17:49
Endorphine

Der 8080 und 8085 hatte doch 64 K Adressraum... Da gibts keinen einzigen vertretbaren Grund eine so verblödete Segmentierung einzuführen.
Sowohl eine Verlängerung, als auch eine lineare Koppelung wären möglich ohne dass man die hinteren Bits verändert...

aths
2004-03-22, 10:40:00
Original geschrieben von Haarmann
Endorphine

Der 8080 und 8085 hatte doch 64 K Adressraum... Da gibts keinen einzigen vertretbaren Grund eine so verblödete Segmentierung einzuführen.
Sowohl eine Verlängerung, als auch eine lineare Koppelung wären möglich ohne dass man die hinteren Bits verändert... Hach, wärst du nur damals schon da gewesen und hättest bei Intel gearbeitet, was für tolle Prozessoren hätten wir dann gehabt.

StefanV
2004-03-22, 10:41:44
Original geschrieben von aths
Hach, wärst du nur damals schon da gewesen und hättest bei Intel gearbeitet, was für tolle Prozessoren hätten wir dann gehabt.

Hm, weniger Murkx als heute?? :|

Haarmann
2004-03-27, 21:23:38
aths

Ich glaube nicht, dass man ein Genie sein muss, um ne klügere Art zu funden, womit man mit 2 16 Bit Registern 20 Bit Raum abdecken kann und dabei noch Platz für die Zukunft hat.
Bestes BSP ist dafür doch Motorola, die zwar nur 24 Bitbenutzten, aber gleich 32 Bit bereitstellten beim 68k. Da sieht man eben, dass es Leute gab, die zur praktisch gleichen Zeit nicht von 640 KB ist genug labberten, sondern an die Zukunft dachten.

Ich weiss auch, dass Du mich für unfähig hälst, so nen komplexes Teil, wie ne CPU zu designen, aber ev kann auch ich gute Ideen liefern, die man umsetzen kann. CPUs werden wie so Vieles in Teams gemacht... Ne bessere CPU als Du, kriegte ich allerdings noch hin - das ist aber auch nicht gerade ne Meisterleistung. Falls Du nämlich mal aufmerksam gewesen wärst, so wüsstest Du, dass ich sehr gerne "Chipdesigner" für genau CPUs geworden wär seit früher Jugend - ev hat das ja so seine Gründe. Die Schweiz allerdings verlasse ich nicht - darauf kannste Dich verlassen. In den USA hätte ich das sogar bei ner kleineren Firma gekonnt, aber ich gehe nicht in die USA arbeiten...

BubbleBoy
2004-03-27, 22:26:40
@die letzten 3-4 Poster *grrr*
Könntet ihr eure kleinen Hahnenkämpfe im Hinterzimmer (z.B. per PN) veranstalten? Muß doch nicht sein, daß ein interessantes und informatives (wenn auch für manchen primitives) Thema durch solche Reibereien zunichte gemacht wird. :motz:

Tigerchen
2004-03-28, 07:19:16
Original geschrieben von Haarmann
Endorphine

Der 8080 und 8085 hatte doch 64 K Adressraum... Da gibts keinen einzigen vertretbaren Grund eine so verblödete Segmentierung einzuführen.
Sowohl eine Verlängerung, als auch eine lineare Koppelung wären möglich ohne dass man die hinteren Bits verändert...

Und diesen 64k Adressraum wollte man erhalten um die Portierbarkeit von damals gängigen CP/M Programmen zu erleichtern.
(Ich halts die Segmentregister aber trotzdem für den Schnapsidee. Genau wie das A-20 Gate:))

Haarmann
2004-03-28, 13:02:59
Tigerchen

Bleibt ja auch erhalten, wenn man einfach vorne 4 Bit hinklebt aus einem 16 Bit Register... Nur kann man sie nicht so frei positionieren, aber ob das wirklich einen Nachteil darstellt, das lasse ich mal so stehen. Ich finde jedenfalls, dass man klüger normal weitergemacht hätte, denn so seltsame Roundrobin Sachen einzuführen, die zu riesigen Murksereien führen müssen. Natürlich dachte Intel damals gar nicht, dass diese Murksarchitektur überhaupt je alt wird...

Tigerchen
2004-03-28, 13:59:57
Da hast du wohl recht. Ohne IBM wär der 8086/8088 wohl schnell wieder von der Bildfläche verschwunden.

Haarmann
2004-03-28, 14:40:29
Tigerchen

Dafür haben wir ja nun ganze Ställe voll heiliger Kühe im heutigen PC ;). Ist doch auch was...

mrdigital
2004-03-28, 16:44:43
Original geschrieben von Haarmann
Tigerchen

Bleibt ja auch erhalten, wenn man einfach vorne 4 Bit hinklebt aus einem 16 Bit Register... Nur kann man sie nicht so frei positionieren, aber ob das wirklich einen Nachteil darstellt, das lasse ich mal so stehen. Ich finde jedenfalls, dass man klüger normal weitergemacht hätte, denn so seltsame Roundrobin Sachen einzuführen, die zu riesigen Murksereien führen müssen. Natürlich dachte Intel damals gar nicht, dass diese Murksarchitektur überhaupt je alt wird...
was hat Roundrobin mit den Segmentregistern des 8086 zu tun? Du weisst schon, was Roundrobin ist oder?

Haarmann
2004-03-28, 19:42:14
mrdigital

Wohin zeigt wohl bei nem echten 8086 FFFF:FFFF? ;)

Xmas
2004-03-29, 15:30:19
Schlussfolgerung: Du weißt nicht was Round Robin ist... ;)

Tigerchen
2004-03-29, 15:40:39
Hmm. Kenn den Begriff auch nicht. Nehme aber an daß damit dieser Wrap arround mittels A-20 Gate gemeint ist.

mrdigital
2004-03-29, 17:03:19
Original geschrieben von Xmas
Schlussfolgerung: Du weißt nicht was Round Robin ist... ;)
war das ein sog. Widerspruchsbeweis? ;D

mrdigital
2004-03-29, 17:05:08
Roundrobin ist eine Scheduling Strategie für ein Multitaskingsystem.

Haarmann
2004-03-29, 17:25:54
Xmas

Ist ne Frage wie weit man Begriffe auslegen will... Du legst sie hier sehr eng aus - wenn Du etwas nutzt bist meisst grosszügiger. Andere nennens Wrap Around, aber mir gefällt der Ausdruck für dieses nicht, da das letzte Segment, resp alle Fxxx Segmente, durchaus funktionsfähig sind, auch wenn sie 2 Teile beinhalteten. Das erinnert mich dann halt mehr ans DNS Verfahren, denn an ein "Wrap Around".
Füge noch an wieso... würde ich den Speicher als "Lineal" sehen, dann hiesse "Wrap Around" schlicht, dass ich von Oben wieder runter ginge. Mit Round Robin will ich aber ausdrücken, dass ich wieder Vorne sprich im BSP Unten beginne.

Es gibt zig Ausführungen, was Round Robin alles sein kann - nicht nur in der IT. Ein Brief mit vielen Unterzeichnenden oder ein Turniermodus sind wohl knapp bekannt.

mrdigital

Bekannter wurde es in der IT durchs DNS Round Robin - eine triviale Form des Load Balancings.

mrdigital
2004-03-29, 19:52:29
der Begriff Roundrobin ist wohl ein wenig älter als DNS Load Balancer ;) Ich weiss ja nicht, hast du Informatik oder was verwandtes studiert? Wenn ja, dann überrascht es mich, dass du für etablierte Fachtermini lieber deine eigenen setzen magst, das macht die Kommunikation über technisch komplexe Zusammenhänge nicht leichter. Wenn nein, dann ist es "verzeihlich", trotzdem solltest du dann nicht Begriffe verwenden, von denen du nicht weisst, was sie wirklich bedeuten.

Haarmann
2004-03-29, 23:44:57
mrdigital

Ich glaub ich hab oben das Alter des Begriffs schon zu erläutern versucht - er ist nicht nur in der IT vorhanden. Xmas und Du waren auch fähig zu erkennen, was ich gemeint hab - da kann der Begriff nicht ganz fehl am Platz gewesen sein ;). Sprache dient der Kommunikation nicht der mentalen Selbstbefriedigung einiger Germanisten und Co.
Aber Xmas züngelt da sicher gerne bei mir in dem Bereich - damit kann ich gut leben.
Gerade weil ich mal mit "Informatikstudium" verseucht wurde (Programmieren sie 3D in Java auf ner Framebuffer UMA Grafik :bonk: ), weiss ich jetzt, dass so ca jeder dem Gleichen anders sagt... Liegt wohl an der Nähe zu den Mathematikern. Die reden auch alle vom Gleichen mit anderen Ausdrücken.

NucleusZett
2004-04-13, 20:29:56
Kann es sein, das der Z80 immernoch produziert wird?
Oder ist das ein Gerücht?

mrdigital
2004-04-13, 23:19:38
www.zilog.com

und ja der Z80 wird noch produziert, er ist in "jeder" Waschmaschine und Fernbedienung eingebaut ;)

2004-04-24, 18:53:32
Hi!

Hab da mal eine "Generationenfrage":

Pentium / MMX = 586
Pentium Pro / II / III = 686
Pentium 4 = 786

K5 / K6 / K6 X = 586
Athlon / XP = 686
Athlon 64 = 786

denke mal das so stimmt (bei den Intel CPUs auf jeden Fall) nur bei den AMDs bin ich mir etwas unsicher. Das K7 und K8 soll ja irgendwie für 786 und 886 stehen nur einen Athlon 64 müsste man ja, nach x86 Zählung, als 786er bezeichnen.

Bitte um entsprechende Korrekturen und sorry wenns etwas OT ist ;)

MfG


Coda
2004-04-26, 13:07:10
Also CPUID meldet 1586 beim P4 und K8 ;-)