Computergedächtnis

In der Computerwissenschaft verweist Gedächtnis auf die realen Geräte, die verwendet sind, Programme (Folgen von Instruktionen) oder Daten (z.B Programm-Zustandinformation) auf einer vorläufigen oder dauerhaften Basis für den Gebrauch in einem Computer oder anderem elektronischem Digitalgerät zu versorgen. Primäres Gedächtnis des Begriffes wird für die Information in physischen Systemen verwendet, die schnell sind (d. h. RAM), als eine Unterscheidung vom sekundären Gedächtnis, die reale Geräte für das Programm und die Datenlagerung sind, die langsam sind, um auf höhere Speicherkapazität zuzugreifen aber sie anzubieten. Primäres auf dem sekundären Gedächtnis versorgtes Gedächtnis wird "virtuelles Gedächtnis" genannt.

Der Begriff "Lagerung" ist häufig (aber nicht immer) verwendet in getrennten Computern des traditionellen sekundären Gedächtnisses wie Band, magnetische Platten und optische Scheiben (CD-ROM und DVD-ROM). Der Begriff "Gedächtnis" ist häufig (aber nicht immer) vereinigt mit dem addressable Halbleiter-Gedächtnis, d. h. integrierten Stromkreisen, die aus silikonbasierten Transistoren, verwendet zum Beispiel als primäres Gedächtnis sondern auch andere Zwecke in Computern und andere elektronische Digitalgeräte bestehen.

Es gibt zwei Haupttypen des Halbleiter-Gedächtnisses: flüchtig und unvergänglich. Beispiele des nichtflüchtigen Speichers sind Blitz-Gedächtnis (manchmal verwendet als sekundärer, manchmal primäres Computergedächtnis) und ROM/PROM/EPROM/EEPROM Gedächtnis (verwendet für firmware wie Stiefelprogramme). Beispiele des flüchtigen Gedächtnisses sind primäres Gedächtnis (normalerweise dynamischer RAM, SCHLUCK), und schnelles Zentraleinheitsgedächtnis des geheimen Lagers (normalerweise statischer RAM, SRAM, der schnell ist, aber energieverbraucht und Angebot niedrigere Speicherkapazität pro Bereichseinheit als SCHLUCK).

Das Halbleiter-Gedächtnis wird in Speicherzellen oder bistable Zehensandalen, jeder organisiert, ein binäres Bit (0 oder 1) versorgend. Die Speicherzellen werden in Wörter der Wortlänge der üblen Lage, zum Beispiel 1, 2, 4, 8, 16, 32, 64 oder 128 Bit gruppiert. Auf jedes Wort kann durch eine binäre Adresse vom N-Bit zugegriffen werden, es möglich machend, 2 erhobene durch N Wörter im Gedächtnis zu versorgen. Das deutet an, dass Verarbeiter-Register normalerweise als Gedächtnis nicht betrachtet werden, da sie nur ein Wort versorgen und keinen Wenden-Mechanismus einschließen.

Geschichte

Am Anfang der 1940er Jahre hat Speichertechnologie größtenteils eine Kapazität von einigen Bytes erlaubt. Der erste elektronische programmierbare Digitalcomputer, der ENIAC, mit Tausenden von Oktalgrundradiovakuumtuben, konnte einfache Berechnungen durchführen, die mit 20 Zahlen von zehn dezimalen Ziffern verbunden sind, die in den Vakuumtube-Akkumulatoren gehalten wurden.

Der folgende bedeutende Fortschritt im Computergedächtnis war mit dem akustischen Verzögerungsliniengedächtnis, das von J. Presper Eckert am Anfang der 1940er Jahre entwickelt ist. Durch den Aufbau einer Glastube, die mit Quecksilber gefüllt ist und an jedem Ende mit einem Quarzkristall zugestopft ist, konnten Verzögerungslinien Bit der Information innerhalb des Quarzes versorgen und es durch Schallwellen übertragen, die sich durch Quecksilber fortpflanzen. Verzögerungsliniengedächtnis würde auf eine Kapazität von bis zu einigen hundert tausend Bit beschränkt, effizient zu bleiben.

Zwei Alternativen zur Verzögerungslinie, der Tube von Williams und Tube von Selectron, wurden 1946, beide verwendenden Elektronbalken in Glastuben als Mittel der Lagerung entwickelt. Mit Kathode-Strahl-Tuben würde Fred Williams die Tube von Williams erfinden, die das erste zufällige Zugriffscomputergedächtnis sein würde. Die Tube von Williams würde sich erweisen, für die Tube von Selectron wegen seiner größeren Kapazität vorteilhaft zu sein (Selectron wurde auf 256 Bit beschränkt, während die Tube von Williams Tausende versorgen konnte), und weniger teuer zu sein. Die Tube von Williams würde sich dennoch erweisen, zu Umweltstörungen enttäuschend empfindlich zu sein.

Anstrengungen haben gegen Ende der 1940er Jahre begonnen, nichtflüchtigen Speicher zu finden. Jay Forrester, Jan A. Rajchman und Einem Wang würde die Entwicklung des magnetischen Kerngedächtnisses zugeschrieben, das Rückruf des Gedächtnisses nach dem Macht-Verlust berücksichtigen würde. Magnetisches Kerngedächtnis würde die dominierende Form des Gedächtnisses werden, bis die Entwicklung des Transistors Gedächtnis gegen Ende der 1960er Jahre gestützt hat.

Flüchtiges Gedächtnis

Flüchtiges Gedächtnis ist Computergedächtnis, das Macht verlangt, die versorgte Information aufrechtzuerhalten. Flüchtiges Gedächtnis des modernsten Halbleiters ist irgendein Statischer RAM (sieh SRAM), oder dynamischer RAM (sieh SCHLUCK). SRAM behält seinen Inhalt, so lange die Macht verbunden wird und leicht ist, dazu zu verbinden, aber sechs Transistoren pro Bit verwendet. Dynamischer RAM ist mehr kompliziert, um zu und Kontrolle zu verbinden, und braucht regelmäßig erfrischen Zyklen, um seinen Inhalt zu verhindern, der wird verliert. Jedoch verwendet SCHLUCK nur einen Transistor und einen Kondensator pro Bit, ihm erlaubend, viel höhere Dichten und mit mehr Bit auf einem Speicherspan zu erreichen, pro Bit viel preiswerter zu sein. SRAM ist für das Tischsystemgedächtnis nicht lohnend, wo SCHLUCK vorherrscht, aber für ihre Erinnerungen des geheimen Lagers verwendet wird. SRAM ist in kleinen eingebetteten Systemen gewöhnlich, die nur Zehnen von Kilobytes oder weniger brauchen könnten. Bevorstehende flüchtige Speichertechnologien, die hoffen, zu ersetzen oder sich mit SRAM und SCHLUCK zu bewerben, schließen Z-RAM, TTRAM, A-RAM und RAM der voraussichtlichen Ankunftszeit ein.

Nichtflüchtiger Speicher

Nichtflüchtiger Speicher ist Computergedächtnis, das die versorgte Information selbst wenn nicht angetrieben behalten kann. Beispiele des nichtflüchtigen Speichers schließen ROM-Speicher ein (sieh ROM), Blitz-Gedächtnis, die meisten Typen von magnetischen Computerspeichergeräten (z.B Festplatten, schlaffe Scheiben und magnetisches Band), optische Scheiben und frühe Computerlagerungsmethoden wie Lochstreifen und haben Karten geschlagen. Bevorstehende Technologien des nichtflüchtigen Speichers schließen FeRAM, CBRAM, PRAHM, SONOS, RRAM, Rennbahn-Gedächtnis, NRAM und Tausendfuß ein.

Management des Gedächtnisses

Das richtige Management des Gedächtnisses ist für ein Computersystem lebenswichtig, um richtig zu funktionieren. Moderne Betriebssysteme haben komplizierte Systeme, um Gedächtnis richtig zu führen. Misserfolg, so zu tun, kann zu Programmfehlern, langsamer Leistung, und am Grenzfall, der Übernahme durch Viren und böswillige Software führen.

Fast alles, was ein Computerprogrammierer tut, verlangt, dass er oder sie denkt, wie man Gedächtnis führt. Sogar die Speicherung einer Zahl im Gedächtnis verlangt, dass der Programmierer angibt, wie das Gedächtnis es versorgen sollte.

Speicherverwaltungsprogrammfehler

Das unpassende Management des Gedächtnisses ist ein häufiger Grund von Programmfehlern.

  • In der arithmetischen Überschwemmung läuft eine Berechnung auf eine Zahl hinaus, die größer ist als die zugeteilten Speichererlaubnisse. Zum Beispiel erlaubt eine ganze 8-Bit-Zahl die Zahlen 128 +127. Wenn sein Wert 127 ist und es beauftragt wird, ein beizutragen, kann der Computer nicht die Nummer 128 in diesem Raum versorgen. Solch ein Fall wird auf unerwünschte Operation, wie das Ändern des Werts der Zahl zu 127 statt +128 hinauslaufen.
  • Eine Speicherleckstelle kommt vor, wenn ein Programm um Gedächtnis vom Betriebssystem bittet und nie das Gedächtnis zurückgibt, wenn es damit getan wird. Ein Programm mit diesem Programmfehler wird immer mehr Gedächtnis allmählich verlangen, bis das Programm scheitert, als es ausgeht.
  • Eine Segmentationsschuld resultiert, wenn ein Programm versucht, auf Gedächtnis zuzugreifen, auf das es keine Erlaubnis hat zuzugreifen. Allgemein wird ein Programm, das so tut, durch das Betriebssystem begrenzt.
  • Pufferüberschwemmung bedeutet, dass ein Programm Daten dem Ende seines zugeteilten Raums schreibt und dann fortsetzt, Daten dem Gedächtnis zu schreiben, das anderen Programmen gehört. Das kann auf unregelmäßiges Programm-Verhalten, einschließlich Speicherzugriffsfehler, falscher Ergebnisse, eines Unfalls oder eines Bruchs der Systemsicherheit hinauslaufen. Sie sind so die Basis von vieler Softwareverwundbarkeit und können böswillig ausgenutzt werden.

Frühe Computersysteme

In frühen Computersystemen haben Programme normalerweise die Position angegeben, um Gedächtnis und was Daten zu schreiben, dort zu stellen. Diese Position war eine physische Position auf der wirklichen Speicherhardware. Die langsame Verarbeitung solcher Computer hat die komplizierten Speicherverwaltungssysteme verwendet heute nicht berücksichtigt. Außerdem so waren die meisten solche Systeme einzelne Aufgabe, hoch entwickelte Systeme waren so viel nicht erforderlich.

Diese Annäherung hat seine Fallen. Wenn die angegebene Position falsch ist, wird das den Computer veranlassen, die Daten einem anderen Teil des Programms zu schreiben. Die Ergebnisse eines Fehlers wie das sind unvorhersehbar. In einigen Fällen könnten die falschen Daten durch das Betriebssystem verwendetes Gedächtnis überschreiben. Computerkräcker können das ausnutzen, um Viren und malware zu schaffen.

Virtuelles Gedächtnis

Virtuelles Gedächtnis ist ein System, wo das ganze physische Gedächtnis vom Betriebssystem kontrolliert wird. Wenn ein Programm Gedächtnis braucht, bittet es darum vom Betriebssystem. Das Betriebssystem entscheidet dann was physische Position, das Gedächtnis darin zu legen.

Das bietet mehrere Vorteile an. Computerprogrammierer müssen sich nicht mehr darüber sorgen, wo das Gedächtnis physisch versorgt wird, oder ob der Computer des Benutzers genug Gedächtnis haben wird. Es erlaubt auch vielfachen Typen des Gedächtnisses, verwendet zu werden. Zum Beispiel kann etwas Gedächtnis in physischen RAM-Chips versorgt werden, während anderes Gedächtnis auf einer Festplatte versorgt wird. Das vergrößert drastisch den Betrag des für Programme verfügbaren Gedächtnisses. Das Betriebssystem wird aktiv verwendetes Gedächtnis in den physischen RAM legen, der viel schneller ist als Festplatten. Wenn der Betrag des RAM nicht genügend ist, um alle aktuellen Programme zu führen, kann es auf eine Situation hinauslaufen, wo der Computer mehr Zeit bewegendes Gedächtnis vom RAM bis Platte und zurück verbringt, als es Vollendungsaufgaben erledigt; das ist als Dresche bekannt.

Virtuelle Speichersysteme schließen gewöhnlich geschütztes Gedächtnis ein, aber das ist nicht immer der Fall.

Geschütztes Gedächtnis

Geschütztes Gedächtnis ist ein System, wo jedes Programm ein Gebiet des Gedächtnisses zum Gebrauch gegeben wird und nicht erlaubt wird, aus dieser Reihe auszugehen. Der Gebrauch des geschützten Gedächtnisses erhöht außerordentlich sowohl die Zuverlässigkeit als auch Sicherheit eines Computersystems.

Ohne geschütztes Gedächtnis ist es möglich, dass ein Programmfehler in einem Programm das durch ein anderes Programm verwendete Gedächtnis verändern wird. Das wird dieses andere Programm veranlassen, des verdorbenen Gedächtnisses mit unvorhersehbaren Ergebnissen abzulaufen. Wenn das Gedächtnis des Betriebssystems verdorben wird, kann das komplette Computersystem abstürzen und muss neu gestartet werden. An Zeitprogrammen verändern absichtlich das durch andere Programme verwendete Gedächtnis. Das wird durch Viren und malware getan, um Computer zu übernehmen.

Geschütztes Gedächtnis teilt Programme ihre eigenen Gebiete des Gedächtnisses zu. Wenn das Betriebssystem entdeckt, dass ein Programm versucht hat, Gedächtnis zu verändern, das ihm nicht gehört, wird das Programm begrenzt. Dieser Weg, nur die verstoßenden Programmabstürze und anderen Programme wird durch den Fehler nicht betroffen.

Geschützte Speichersysteme schließen fast immer virtuelles Gedächtnis ebenso ein.

Siehe auch

Links

http://computer.howstuffworks.com/computer-memory.htm http://www.kingston.com/tools/umg/pdf/umg.pdf

Ladungsgekoppelter Halbleiterbaustein / CDC
Impressum & Datenschutz