Frage

Ich habe gerade die Assembler -Sprachprogrammierung gestartet und in der ersten Vorlesung hat uns unser Lehrer von Intel 8080 und Intel 8085 erzählt, und er sagte, dass es mit diesem Prozessor 64.000 Gedächtnis habe.

Jetzt möchte ich wissen, wie wir diese Menge an Speicher mit einem bestimmten Prozessor finden, zum Beispiel habe ich einen Prozessor mit 1,8 GHz. Jetzt kann ich die Menge an Speicher herausfinden, die mit diesem Prozessor verwendet werden kann.

Was ich zu fragen versuche, ist die Methode, wie wir diese Erinnerung herausfinden können?

War es hilfreich?

Lösung

Es hängt davon ab, wie viele (physische) Bits, die sich mit den CPU befassen

8085/Z80 - 16 bit address registers - 16 bit addressing - 64 kB address space
68008 - 32 bit address registers - 20 bit addressing - 1 MB address space
68000 - 32 bit address registers - 24 bit addressing - 16 MB address space
68020 - 32 bit address registers - 32 bit addressing - 4 GB address space

Beachten Sie, dass viele 64-Bit-CPUs normalerweise nur so etwas wie einen 40-Bit-Adressraum unterstützen, dh 1 TB.

Andere Tipps

Normalerweise werden Prozessoren so gestaltet, dass ein einzelnes Ganzzahlregister die Adresse eines beliebigen Speicherorts speichern kann. Daher wird die "maximale Menge des Speichers" durch die Menge der Bits eines Registers (oder des Prozessors) bestimmt. 32 Bit entsprechen 4 GB. 64 Bit entspricht 16 Exabyte von Ram.

Hängt von der Architektur ab, aber eine CPU wird durch die Anzahl der Adresslinien begrenzt sein. Bei einer alten Pentium Pro 32-Bit-CPU wurden 36 Adresslinien unterstützt, und daher konnte die CPU bis zu 64 GB unterstützen. Eine neuere CPU wie der i7-860, eine 64-Bit-CPU, hat ebenfalls nur 36 physikalische Adressen und ist daher auch auf 64 GB begrenzt. Die Menge des physischen Adressraums kann unter Verwendung des CPUID -Anweisungscodes gefunden werden. Andere CPUs können unterschiedliche Techniken verwenden oder das Datenblatt lesen müssen. Es scheint, als ob Ihr Studium x86 in diesem Fall CPUID ist, wenn Ihre CPU es unterstützt.

Worauf verweisen Sie, indem Sie sich auf das virtuelle Speicher oder physische Speichergedächtnis beziehen? Im Falle eines virtuellen Speichers sind es 4 GB für 32 -Bit -Prozessoren, obwohl Sie möglicherweise nicht alle verwendet werden, wenn das Betriebssystem einen Teil davon verwendet. Beachten Sie auch die PAE (physische Adressverlängerung) für Ihre CPU und wenn das Betriebssystem einen PAE -Kernel ausführt. Dies gibt Ihnen mehr als 4 GB physischer Speicher, um zu installieren und zu verwenden, aber der virtuelle Adressraum bleibt noch 4 GB. Bitte sieh dir das mal an :

http://en.wikipedia.org/wiki/physical_address_extension

http://msdn.microsoft.com/en-us/library/aa366796(v=vs.85).aspx

http://msdn.microsoft.com/en-us/windows/hardware/gg487503

Nun, es hängt von bestimmten Variablen ab.

Zum Beispiel hat ein 8-Bit-Prozessor Werte von bis zu 255, was durch 2 bis zur achten Leistung herausgefunden wurde und den Wert um eins subtrahiert. Diese Zahl 255 ist, wie viele Bytes die CPU verarbeiten kann und der RAM diesen Betrag nicht überschreiten kann.

Lassen Sie uns nun ein wenig aufsteigen (keine Wortspiele beabsichtigt). Ein 16-It-Prozessor hat Werte von bis zu 65.535, und das wurde erneut herausgefunden, indem sie 2 bis die sechzehnte Macht übernehmen und dann von einem abzugiert wurden (ich bin sicher, Sie bekommen jetzt das große Bild). Dies bedeutet, dass wir 65.535 Bytes RAM oder 65,535 Kilobyte haben können. Hoffentlich fängt dies an, Sinn zu machen.

Ein 32-Bit-Prozessor hat Werte bis zu 4.294.967.295 Werte (diese Zahlen werden ziemlich groß). Das sind 4.294.967.295 Bytes oder 4,294967295 Gigabyte von Ram. Diese Technologie wurde in den 90ern viel genutzt und bleibt heute noch halbpopulär.

Aber natürlich wissen wir alle, wie sich die Technologie schnell und oft verändert. Ja, es gibt auch 64-Bit-Computer, so gut wie 32-Bit-Technologie. Dies ist heute der häufigste Prozessortyp. Sie können also Werte von 18.446.744.073.709.551.615 Unterstützung unterstützen. Ja, und so viele Bytes kann es halten, was gleich 18,446744073709551615 Exabyte entspricht.

Und obwohl es derzeit keine Prozessoren gibt, die diesen Betrag halten können, gibt es auch 128-Bit-Prozessoren. Sie können bis zu 340.282.366.920.938.463.463.374.607.431.768.211.455 Bytes von Datenbytes von Daten, die ebenfalls gleich 340.28236692093846346333746074376821145, ein paar von BYS, BY BY, BY BY BY, BY BY BY BY BY BY BY BY BY GEGEBEN. der Byte -Messung darüber hinaus. Aber hey, das sagt dir nur, dass ein 128-Bit-Prozessor viel damit umgehen kann, und wir sehen sie vielleicht in der fernen Zukunft. Der Grund, warum die Leute sagen, 128-Bit, 64-Bit, 32-Bit, 16-Bit oder 8-Bit, ist, dass es viel einfacher ist, als sich an alle diese zu erinnern als die großen Zahlen, die jeder von ihnen darstellt.

Ich hoffe, das hilft. Ich bin mir nicht sicher, ob der 8-Bit-Einsatz korrekt ist, da ich weiß, dass der NES 2 Kilobyte RAM hat, das 255 Bytes übersteigt, aber ich weiß, dass alles andere richtig ist. Wenn es nicht korrekt ist, können Sie auch einige Nachforschungen in Ihrem Namen durchführen;).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top