Willkommen bei AEP Emulation Page - Emulation News

Hauptmenü
· Home / News
· News Kategorien
· News Archiv

· Mein Account
· Suche
· Forum (neu)
· Forum
· Weblinks
· Spiele Reviews
· Übersetzungen
· Impressum
· Datenschutz

Downloads
 


Forum
Mitglieder Online
Keine Mitglieder online.

You are an anonymous user. You can register for free by clicking here
Benutzername
Kennwort
 Angemeldet bleiben

Infos
· Museum
· Infocenter
· Das AEP Team
· Member Liste
· Top 25 Liste
· Glossar
· FAQ

Review of the moment

Sprache
Sprache auswählen:

DeutschEnglisch

News-Export
Holt Euch unsere News auf Eure Seite:
· RSS Newsfeed How-to
· RSS News-syndication Deutsch
· News-Banner (JPG)

Friends
· Emu-France
· progetto-SNAPS
· EmuBit.pl
· PDRoms


Neues Thema eröffnen   Neue Antwort erstellen  
Vorheriges Thema anzeigen Druckerfreundliche Version Einloggen, um private Nachrichten zu lesen Nächstes Thema anzeigen
Autor Nachricht
KennuXOffline
Titel: CPU Emulation - Brauche Hilfe  BeitragVerfasst am: 16.08.2009, 19:09 Uhr
Retrohling


Anmeldungsdatum: 06. Aug 2009
Beiträge: 26


Status: Offline
Moin leute, wie ihr sicher schon bemerkt habe arbeite ich seit einiger Zeit an einem GBA Emulator. Ich brauche nun hilfe.
Es geht um die CPU, eine ARM7TDMI CPU mit 16,77 Mhz.

Hier sind meine Fragen:
-Wie oft wird der Assemblierte Code durchgeführt (1x oder immer wieder, da ich keine Jump Anweisungen sehe)
-Wie Programmiere ich einen Code, der die CPU genau 16,77 Mhz laufen lässt? Bzw, was ist die Mhz angabe genau?

Das war's auch schon für's erste ^^
Ich hoffe auf eure Antworten und schonma danke im Vorraus Smile
 
 
 
 Benutzer-Profile anzeigen Website dieses Benutzers besuchen MSN Messenger ICQ-Nummer 
Antworten mit Zitat Nach oben
krysmopompasOffline
Titel: CPU Emulation - Brauche Hilfe  BeitragVerfasst am: 16.08.2009, 19:41 Uhr
Retrogott


Anmeldungsdatum: 19. Jun 2008
Beiträge: 2.094


Status: Offline
16,77 Mio Takte pro Sekunde eben. Jeder Maschinenbefehl benötigt unterschiedlich viel Takte zur Ausführung.
Sprunganweisungen müssen vorhanden sein, da ist irgendetwas faul.

http://infocenter.arm.com/help/topic/com.arm.doc.ddi0214b/CIHIEGAB.html
 


Zuletzt bearbeitet von krysmopompas am 16.08.2009, 19:47 Uhr, insgesamt ein Mal bearbeitet 
 
 Benutzer-Profile anzeigen  
Antworten mit Zitat Nach oben
mateyoOffline
Titel: CPU Emulation - Brauche Hilfe  BeitragVerfasst am: 16.08.2009, 19:42 Uhr
Retromeister


Anmeldungsdatum: 16. Jul 2008
Beiträge: 1.736

Wohnort: Frankfurt am Main
Status: Offline
falls dir hilft...
16,77 Mhz = 1 / (6*10^-8 s) sprich: 16,77 Mhz = 1 / 6ns (nano sekunde)
Und die Mhz Zahl gibt die Anzahl der Taktimpulse pro Sekunde an. Sprich das ganze ist eine Frequenz.
Jetzt würd ich mir wünschen das ich in Rechnersysteme besser aufgepasst hätte... aber ich meine das sich damit die Anzahl der auszuführenden Operationen pro Sekunde beschreiben lassen.
Wie programmierst du das, du musst dem Emulator eine sogenannte CLOCK angeben... Mehr dazu findest du hier
http://de.wikipedia.org/wiki/Taktsignal

edit: krysmo hat recht eine operation kann auch mehr als einen takt benötigen... ich depp >_<
 
 
 
 Benutzer-Profile anzeigen  
Antworten mit Zitat Nach oben
Falcone
Titel: CPU Emulation - Brauche Hilfe  BeitragVerfasst am: 16.08.2009, 19:58 Uhr
Ex-Member


Anmeldungsdatum: 28. Feb 2005
Beiträge: 3.561

Wohnort: überall und nirgends
Nicht zu vergessen die Speicher- und Buszugriffzyklen usw. Für gute Emulation unabdingbar.
 
 
 
 Benutzer-Profile anzeigen Website dieses Benutzers besuchen  
Antworten mit Zitat Nach oben
KennuXOffline
Titel: CPU Emulation - Brauche Hilfe  BeitragVerfasst am: 16.08.2009, 20:04 Uhr
Retrohling


Anmeldungsdatum: 06. Aug 2009
Beiträge: 26


Status: Offline
Grade beim überfliegen einer anderen CPU Source kam mir der Befehl BX [rm] entgegen welcher das Register 15 verändert (Register 15 zeigt auf die Stelle des aktuell zu interpretierenden Code).
Also läuft der Assembler Code nur 1x durch und springt eben mit dem BX Befehl?

Und das mit den Takts verstehe ich nicht wirklich, hat also jede Instruktion eine bestimmte Ausführungszeit (Takt) ?
 
 
 
 Benutzer-Profile anzeigen Website dieses Benutzers besuchen MSN Messenger ICQ-Nummer 
Antworten mit Zitat Nach oben
Falcone
Titel: CPU Emulation - Brauche Hilfe  BeitragVerfasst am: 16.08.2009, 20:20 Uhr
Ex-Member


Anmeldungsdatum: 28. Feb 2005
Beiträge: 3.561

Wohnort: überall und nirgends
Ja, z.B. bei früheren CPUs konntest davon mit Sicherheit ausgehen das Multiplikationen wesentlich langsamer waren wie Bitshifts, weshalb gewiefte Programierer diese u.U. damit ersetzt haben.
Von Cache-Hit/Misses und Branch Predictions wollen wir auch erstmal nit anfangen Wink
 
 
 
 Benutzer-Profile anzeigen Website dieses Benutzers besuchen  
Antworten mit Zitat Nach oben
KennuXOffline
Titel: CPU Emulation - Brauche Hilfe  BeitragVerfasst am: 16.08.2009, 20:24 Uhr
Retrohling


Anmeldungsdatum: 06. Aug 2009
Beiträge: 26


Status: Offline
hmm, hat jemand evtl noch ne Liste wieviele Takts welche Instruktion hat?
Wenn ich die takts ja nicht einbauen würde, würde die CPU ja viel zu schnell laufen ^^
 
 
 
 Benutzer-Profile anzeigen Website dieses Benutzers besuchen MSN Messenger ICQ-Nummer 
Antworten mit Zitat Nach oben
mateyoOffline
Titel: CPU Emulation - Brauche Hilfe  BeitragVerfasst am: 16.08.2009, 20:25 Uhr
Retromeister


Anmeldungsdatum: 16. Jul 2008
Beiträge: 1.736

Wohnort: Frankfurt am Main
Status: Offline
erklärung zu dem bild auf wikipedia vielleicht hilft dir das auch... die y-achse zeigt die spannung an. beispielsweise 5 volt.
und die x-achse die zeit t.

wenn jetzt datengesendet werden also 1 und 0 werden in diesen intervallen die du mit der clock abfrägst sozusagen. (also die zeit in deinem fall 1/6ns) geschaut wann zieht er hoch auf 5 v (also 1) oder wann auf 0v (also 0).

das ist das sogenannte rechtecksignal.
 
 
 
 Benutzer-Profile anzeigen  
Antworten mit Zitat Nach oben
Falcone
Titel: CPU Emulation - Brauche Hilfe  BeitragVerfasst am: 16.08.2009, 20:26 Uhr
Ex-Member


Anmeldungsdatum: 28. Feb 2005
Beiträge: 3.561

Wohnort: überall und nirgends
Hast Du das Datenblatt vom ARM? Unbedingt notwendig, da steht z.B. genau sowas drin.
 
 
 
 Benutzer-Profile anzeigen Website dieses Benutzers besuchen  
Antworten mit Zitat Nach oben
krysmopompasOffline
Titel: Re: CPU Emulation - Brauche Hilfe  BeitragVerfasst am: 16.08.2009, 20:31 Uhr
Retrogott


Anmeldungsdatum: 19. Jun 2008
Beiträge: 2.094


Status: Offline
[quote:e6f34e68ff="KennuX"]hmm, hat jemand evtl noch ne Liste wieviele Takts welche Instruktion hat?

Oben ist die ARM Doku verlinkt. Aber schau genau, was deine CPU ist.
 
 
 
 Benutzer-Profile anzeigen  
Antworten mit Zitat Nach oben
KennuXOffline
Titel: Re: CPU Emulation - Brauche Hilfe  BeitragVerfasst am: 16.08.2009, 20:57 Uhr
Retrohling


Anmeldungsdatum: 06. Aug 2009
Beiträge: 26


Status: Offline
okay, das mit den Takts wäre nun auch vom Tisch. Nun noch ein weiteres, was ist bei der Ram Emulation ein "Cylcle"?
Hat der Ram auch eine Cpu die in einem bestimmten Zyklus durchläuft oder was?
 
 
 
 Benutzer-Profile anzeigen Website dieses Benutzers besuchen MSN Messenger ICQ-Nummer 
Antworten mit Zitat Nach oben
mateyoOffline
Titel: Re: CPU Emulation - Brauche Hilfe  BeitragVerfasst am: 16.08.2009, 21:19 Uhr
Retromeister


Anmeldungsdatum: 16. Jul 2008
Beiträge: 1.736

Wohnort: Frankfurt am Main
Status: Offline
ich denke das hat mit dem ramdac zu tun, aber vielleicht wissen falcone oder krysmo dazu mehr hier erst mal der link für kleine info Wink http://de.wikipedia.org/wiki/RAMDAC
 
 
 
 Benutzer-Profile anzeigen  
Antworten mit Zitat Nach oben
krysmopompasOffline
Titel:   BeitragVerfasst am: 16.08.2009, 21:40 Uhr
Retrogott


Anmeldungsdatum: 19. Jun 2008
Beiträge: 2.094


Status: Offline
Der RAMDAC dient der analogen Bildausgabe.
Da bist du richtiger: http://de.wikipedia.org/wiki/Random-Access_Memory
http://de.wikipedia.org/wiki/Dynamic_random_access_memory

Die Frage ist halt, wie gutmütig GBA Spiele sind in Bezug auf die Timings.

Edit:
Noch was. Zum Einstieg wird gerne empfohlen, einen CHIP8 Emulator zu erstellen.
http://forums.ngemu.com/web-development-programming/102538-chip-8-emu.html incl. http://www.cecs.csulb.edu/~hill/cecs497/nestreme/howto.html und http://www.slack.net/~ant/nes-emu/6502.html .
 
 
 
 Benutzer-Profile anzeigen  
Antworten mit Zitat Nach oben
Falcone
Titel: Re: CPU Emulation - Brauche Hilfe  BeitragVerfasst am: 17.08.2009, 10:05 Uhr
Ex-Member


Anmeldungsdatum: 28. Feb 2005
Beiträge: 3.561

Wohnort: überall und nirgends
[quote:e50e092f28="KennuX"]okay, das mit den Takts wäre nun auch vom Tisch. Nun noch ein weiteres, was ist bei der Ram Emulation ein "Cylcle"?
Hat der Ram auch eine Cpu die in einem bestimmten Zyklus durchläuft oder was?

Nein. Die Speicherzugriffszeiten sind doch auch von Belang.
- welche Spec ansich hat der Speicher des Systems
- wie arbeitet der Speichercontroller des jew. Systems, beim NDS wären da z.B die Zugrifftimings auf BIOS, WRAM VRAM, OAM usw. unterschiedlich
(anderes Beispiel z.B. beim SNES FastROM/SlowROM)
- ob u. wenn ja wie lange blocken Speicherzugriffe den Systembus oder die CPU, unterstützen ja nicht alle Systeme DMA.
Buszugriffszeiten können auch davon abhängen welche Adressen angesprochen werden. Hier und in allen anderen Fällen hilft nur sich so viel Hardwaredoku und Specs zu beschaffen wie nur irgendwie geht auch der Speicherkomponenten und dann das Systemabbild erstmal abstrakt zu designen.
 
 
 
 Benutzer-Profile anzeigen Website dieses Benutzers besuchen  
Antworten mit Zitat Nach oben
KennuXOffline
Titel: Re: CPU Emulation - Brauche Hilfe  BeitragVerfasst am: 17.08.2009, 12:57 Uhr
Retrohling


Anmeldungsdatum: 06. Aug 2009
Beiträge: 26


Status: Offline
Also, gestern habe ich meine Ram Emulation komplett neu geschrieben und habe jetzt für jeden Ram-Zugriff eine bestimmte Zahl an waitCycles. waitCycles habe ich auch als Private Variable in dieser Klasse definiert, und diese wird bei jedem Zugriff mit den waitCycles die der Zugriff braucht beschrieben. Nun noch eine weitere Frage:
Ich habe die CPU Emulation nun fertig in meinem Projekt drinne, aber aus irgendeinem Grund beschreibt die CPU den Grafik ram nicht :/
 
 
 
 Benutzer-Profile anzeigen Website dieses Benutzers besuchen MSN Messenger ICQ-Nummer 
Antworten mit Zitat Nach oben
Beiträge vom vorherigen Thema anzeigen:     
Gehe zu:  
Alle Zeiten sind GMT + 1 Stunde
Neues Thema eröffnen   Neue Antwort erstellen  
Vorheriges Thema anzeigen Druckerfreundliche Version Einloggen, um private Nachrichten zu lesen Nächstes Thema anzeigen
PNphpBB2 © 
AEP Emulation Page 1998 - 2024