Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Arbeitsspeicher

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 25.10.2007, 20:13    Titel: Arbeitsspeicher Antworten mit Zitat

Hallo zusammen,,
ich wollte ein Programm erstellen, welches mir zuerst einmal angibt, wie groß mein Arbeitsspeicher ist.
Hier soll er bei jedem Slot "wo ein Arbeisspeicher sitzt, die Speichergröße angeben".
Anschliessend soll er die Zeilen und Spalten "sprich jedes einzelne Bit" im Arbeitsspeicher setzen und anschliessend den Wert rücklesen.
Anhand dessen soll mir dann das Programm sagen, wo er einen Speicherzugriff gemacht hat u. ob das Bit Fehlerfrei oder Fehlerbelastet ist.

Ist sowas ohne weiteres möglich?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 25.10.2007, 20:16    Titel: Re: Arbeitsspeicher Antworten mit Zitat

Andy19312 hat Folgendes geschrieben:
Hier soll er bei jedem Slot "wo ein Arbeisspeicher sitzt, die Speichergröße angeben".

Die einzelnen Riegel abfragen? Das ist nicht ohne weiteres möglich. Das zeit ja noch nicht mal Everest an... Wenn, dann wäre das eine Funktion tief im BIOS (weil das kennt die Bänke), auf die du nicht so einfach zugreifen kannst. Auch das Testen der einzelnen bits ist nicht so ohne weiteres möglich... Sorry, da kann ich dich nur auf MEMTEST verweisen grinsen
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 25.10.2007, 20:31    Titel: Antworten mit Zitat

Dito, der Source von MemTest sollte aufschlussreich sein (allerdings C). Ist zudem noch recht überschaubar.
(Hat da nicht auch der Chipsatz seine Finger im Spiel?)

Um allgemeine Kenntnisse über Arbeitsspeicher zu bekommen, siehe für Linux (http://www.freebasic-portal.de/index.php?s=code&id=22) und für Windows (siehe Board-Suche).
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 25.10.2007, 21:40    Titel: Antworten mit Zitat

Für Win hier
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 26.10.2007, 13:51    Titel: Antworten mit Zitat

@csde_rats: Der verlinkte Code ist mit einer aktuellen Version von FreeBasic leider nicht mehr verwendbar und enthält sogar Fehler: Die DWORD-Elemente des UDT müssen Unsigned sein. Auf FBP gibt es eine aktualisierte und korrigierte Fassung: http://www.freebasic-portal.de/index.php?s=code&id=38 (getestet mit FB 0.18.3)
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 26.10.2007, 22:39    Titel: Antworten mit Zitat

Super toll, das beantwort aber nicht meine Frage, wie ich die Speicherzellen einzeln aktivieren kann, welche ich dann schlussendlich wieder rücklade und so wiederum herausfinde, ob die Speicherzelle ok ist oder nicht.

Ich möchte nämlich herausfinden, ob der RAM astrein funktioniert.
Wenn Windows lädt, verlagert es jedoch die Programme in den "oder die Ram-Riegel".
Demzufolge, muss ich eine Art Boot CD erstellen, so wie es beim Memorytest der Fall ist.

Wenn jemand mir den C Code von Memorytest geben könnte, als her damit.
Reinlesen ist für mich kein Problem.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 26.10.2007, 22:41    Titel: Antworten mit Zitat

http://www.memtest.org/download/1.70/memtest86+-1.70.tar.gz (GPL, siehe http://www.memtest.org/#downcode)
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 27.10.2007, 12:38    Titel: Antworten mit Zitat

Den genauen Test-Algorithmus kannst du dir ja selbst ausdenken, bzw. einen ähnlichen wie MemTest verwenden.
Das Zugreifen auf eine bestimmte Speicherstelle geht unter C z.B. so (Achtung! Vorher in Protected Mode schalten! zwinkern):
Code:

int main(void)
{
  char *cAdresse;

  cAdresse=0xB8000;
  *cAdresse='A';
  *cAdresse+1=0x07;
}

Es sind halt alles ganz normale Pointer auf (je nach Art des Testes) z.B. Bytes, Words, Double Words.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz