Welcome to AEP Emulation Page - Emulation News

Main Menu
· Home / News
· News Categories
· News Archiv
· My Account
· Search
· Forums
· Weblinks
· Game Reviews
· Translations
· Impressum

Downloads
 


Forum
MEMBERS ONLINE
Currently no members online.

You are an anonymous user. You can register for free by clicking here
Username
Password
 Remember me

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

Review of the moment

Sprache
Select interface language:

EnglishGerman

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


Post new topic   Reply to topic  
View previous topic Printable version Log in to check your private messages View next topic
Author Message
KennuXOffline
Post subject: CPU Emulation - Brauche Hilfe  PostPosted: Aug 16, 2009 - 07:09 PM
Retrohling


Joined: Aug 06, 2009
Posts: 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
 
 
 
 View user's profile Visit poster's website MSN Messenger ICQ Number 
Reply with quote Back to top
krysmopompasOffline
Post subject: CPU Emulation - Brauche Hilfe  PostPosted: Aug 16, 2009 - 07:41 PM
Retrogott


Joined: Jun 19, 2008
Posts: 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
 


Last edited by krysmopompas on Aug 16, 2009 - 07:47 PM; edited 1 time in total 
 
 View user's profile  
Reply with quote Back to top
mateyoOffline
Post subject: CPU Emulation - Brauche Hilfe  PostPosted: Aug 16, 2009 - 07:42 PM
Retromeister


Joined: Jul 16, 2008
Posts: 1.736

Location: 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 >_<
 
 
 
 View user's profile  
Reply with quote Back to top
Falcone
Post subject: CPU Emulation - Brauche Hilfe  PostPosted: Aug 16, 2009 - 07:58 PM
Ex-Member


Joined: Feb 28, 2005
Posts: 3.561

Location: überall und nirgends
Nicht zu vergessen die Speicher- und Buszugriffzyklen usw. Für gute Emulation unabdingbar.
 
 
 
 View user's profile Visit poster's website  
Reply with quote Back to top
KennuXOffline
Post subject: CPU Emulation - Brauche Hilfe  PostPosted: Aug 16, 2009 - 08:04 PM
Retrohling


Joined: Aug 06, 2009
Posts: 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) ?
 
 
 
 View user's profile Visit poster's website MSN Messenger ICQ Number 
Reply with quote Back to top
Falcone
Post subject: CPU Emulation - Brauche Hilfe  PostPosted: Aug 16, 2009 - 08:20 PM
Ex-Member


Joined: Feb 28, 2005
Posts: 3.561

Location: ü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
 
 
 
 View user's profile Visit poster's website  
Reply with quote Back to top
KennuXOffline
Post subject: CPU Emulation - Brauche Hilfe  PostPosted: Aug 16, 2009 - 08:24 PM
Retrohling


Joined: Aug 06, 2009
Posts: 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 ^^
 
 
 
 View user's profile Visit poster's website MSN Messenger ICQ Number 
Reply with quote Back to top
mateyoOffline
Post subject: CPU Emulation - Brauche Hilfe  PostPosted: Aug 16, 2009 - 08:25 PM
Retromeister


Joined: Jul 16, 2008
Posts: 1.736

Location: 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.
 
 
 
 View user's profile  
Reply with quote Back to top
Falcone
Post subject: CPU Emulation - Brauche Hilfe  PostPosted: Aug 16, 2009 - 08:26 PM
Ex-Member


Joined: Feb 28, 2005
Posts: 3.561

Location: überall und nirgends
Hast Du das Datenblatt vom ARM? Unbedingt notwendig, da steht z.B. genau sowas drin.
 
 
 
 View user's profile Visit poster's website  
Reply with quote Back to top
krysmopompasOffline
Post subject: Re: CPU Emulation - Brauche Hilfe  PostPosted: Aug 16, 2009 - 08:31 PM
Retrogott


Joined: Jun 19, 2008
Posts: 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.
 
 
 
 View user's profile  
Reply with quote Back to top
KennuXOffline
Post subject: Re: CPU Emulation - Brauche Hilfe  PostPosted: Aug 16, 2009 - 08:57 PM
Retrohling


Joined: Aug 06, 2009
Posts: 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?
 
 
 
 View user's profile Visit poster's website MSN Messenger ICQ Number 
Reply with quote Back to top
mateyoOffline
Post subject: Re: CPU Emulation - Brauche Hilfe  PostPosted: Aug 16, 2009 - 09:19 PM
Retromeister


Joined: Jul 16, 2008
Posts: 1.736

Location: 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
 
 
 
 View user's profile  
Reply with quote Back to top
krysmopompasOffline
Post subject:   PostPosted: Aug 16, 2009 - 09:40 PM
Retrogott


Joined: Jun 19, 2008
Posts: 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 .
 
 
 
 View user's profile  
Reply with quote Back to top
Falcone
Post subject: Re: CPU Emulation - Brauche Hilfe  PostPosted: Aug 17, 2009 - 10:05 AM
Ex-Member


Joined: Feb 28, 2005
Posts: 3.561

Location: ü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.
 
 
 
 View user's profile Visit poster's website  
Reply with quote Back to top
KennuXOffline
Post subject: Re: CPU Emulation - Brauche Hilfe  PostPosted: Aug 17, 2009 - 12:57 PM
Retrohling


Joined: Aug 06, 2009
Posts: 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 :/
 
 
 
 View user's profile Visit poster's website MSN Messenger ICQ Number 
Reply with quote Back to top
Display posts from previous:     
Jump to:  
All times are GMT + 1 Hour
Post new topic   Reply to topic  
View previous topic Printable version Log in to check your private messages View next topic
Powered by PNphpBB2 © The PNphpBB Group
Credits
AEP Emulation Page 1998 - 2024