Simple Question about Computer Startup

I

Integreret

Guest
Hej,<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Ked af det" border="0" />
.Jeg er forvirret over at starte en microprosessor.<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Gråd eller meget trist" border="0" />Jeg har brugt 8051 med en ekstern ROM og RAM, Der jeg forstod
hvad der skete,
det var nemt, for eksempel vil vi kunne skrive MOVX instruktion til rom, og der ville ikke være nogen konflikt med RAM på fuldbyrdende fra rom.Men der har vi ikke sat et program i RAM
Jeg vil gerne vide, hvordan Pentium (PC computere) sætte programmet i RAM og hvisRAM betyder Data Hvordan virker mikro henter det instruktion? Eller ikke?sorry for at bede disse grundlæggende spørgsmål her, men det handlede om grænseflade mikrovirksomheder til computer, så jeg formoder, PCI slots til at sende og belastning mit program til PowerPC mikroprocessor vurderingsudvalgets RAM efter en enkel venter sturtup kode har lagt i rom om bord.

<img src="http://www.edaboard.com/images/smiles/icon_redface.gif" alt="Flov" border="0" />Hilsen.

<img src="http://www.edaboard.com/images/smiles/icon_question.gif" alt="Spørgsmål" border="0" />
 
Hi arsadri

Tiden har ændret sig ...Nr. virkelig: de 80C51 har separate rum for kode og datalagring.Kode hukommelse er rettet ved hjælp af PSEN signal og data er tilgængelige ved hjælp RD / WLO signaler.Så du kan bruge den fulde 16bit adresseplads to gange,
en gang for kode og en gang for data.Du kunne ikke 'udføre' data, så længe du ikke har en særlig dekodning mellem PSEN og RD.
I en x86-baseret pc-system (og også på en PowerPC) du ikke har nogen særskilt kode og data hukommelse (kun IO-rummet er adskilt, men det er en anden ting).Så teoretisk set kan du gemme data, der repræsenterer en gyldig opcode og gøre et spring på denne plads og fuldbyrde dine data ".Så det
er muligt at oprette selvstændige ændre koden.Det problem er, hvad der er data, og hvad er koden?- Dette skal være defineret i din ansøgning / din compiler!
Så hvis du ønsker at anvende PCI-bus til at skrive i en PowerPC hukommelse kan du gøre det med enkle data flytte kommandoer.Jeg vil foreslå, at du bruger et PCI-bro chip (der er mange producenter), vil det være meget lettere for dig.

Farvel

 
Mens en PCI bridge chip er helt sikkert den bedste løsning til inteface en indlejret mikro bord til
pc'en ved hjælp af PCI-bus, må jeg uenig lidt fra sidste definitionen ovenfor om, hvordan 8051 forvalter hukommelse.

Selv om der er rigtigt, at 8051 borekerner kan behandle kode og datalagring i to adskilte hukommelse (ved hjælp PSEN som en yderligere adresse bit), det er ikke kun hukommelsen mode.Et andet selskab,
der er kendt som von Neumann-tilstand, kan anvendes.I sådanne af mode til data og kode rum deler den samme hukommelse, men på en sådan måde kun 64k af data / kode kan bruges til 8051.Von Neaumann mode kan opføres blot ANDing PSEN med $ RD.

Bortset fra de indlysende arkitektur forskelle, 8051 (i von Neumann-tilstand) og Pentium vil forvalte RAM hukommelse i en lignende fashon.

At opbevare koden i RAM (din ansøgning) med indbygget i data,
som begge gør brug af en loader (kaldet bootstrap loader, eller bios i pc'er), som er bosat normalt om Flash (eller Eprom) og blev lanceret på magt-on eller nulstille eller hvad forudsætninger, som er i stand til at starte den loader.Når loader har startet det kommer til at vente på din ansøgning bruger en form for medier eller enhed eller interface.Det er den loader, der forvalter det.Så du kan bruge hardisk, PCI bus, eller RS232 at indlæse din ansøgning i RAM-hukommelsen.

Når din ansøgning er i RAM det gør ikke forskel fra processor hvis kode eller data kan hentes i RAM snarere derefter rom.8051 i von Newmann tilstand stadig vil bruge MOVC under en instruks hente og MOVX når en data håndtaget er påkrævet fra samme ydre ram hukommelsesplads.Den beskrevne tilstand er normalt anvendes i I System Debugger bestyrelser.

Ovenstående er blot for fuldstændighedens.

 
<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Smile" border="0" />

Som De nævnte, mr_ghz, Det afhænger af min ansøgning / compiler.<img src="http://www.edaboard.com/images/smiles/icon_eek.gif" alt="Chokeret" border="0" />

Hvad mener du med dette, jeg formoder, at det er en metode i data afkodning,

for eksempel hvis fra 32 bit data, den sidste bit var 1 thoes andre bits vil
står for data, ellers, for koden.<img src="http://www.edaboard.com/images/smiles/icon_rolleyes.gif" alt="Rolling Eyes" border="0" />

eller noget andet, for eksempel er vi nødt til at sætte kode (som er kommet fra PCI) kun i de adresser med den sidste bit 1 (så halvdelen af RAM vil blive for-kode), men jeg forstår ikke, hvordan vi genkender kode fra data, der kommer.Sorry for dette store belastning af questions.I vide,<img src="http://www.edaboard.com/images/smiles/icon_redface.gif" alt="Flov" border="0" />

Vil du tankerne venligst indføre mig et websted eller en hvilken som helst dokument til disse Computer Architecture spørgsmål.

Thanks a lot med hensyn til, ARSadri

 
Når du taler om "ANDing PSEN med $ RD" kunne dette føre til problemer, når du bruger compiler?Hvordan vi cacn instruere compileren at kode og data er blandet?

 
Hi Artem

De ledninger PSEN med RD som nævnt af kowax (og allerede menes med min sætning »særlige dekodning«) er meget ofte anvendes.I en compiler du altid nødt til at definere sektioner for kode og profiler til data.Hvis begge hukommelse områder er fysisk det samme, er du nødt til at adskille dem i adresse rækkevidde.
Eksempel: Kode fra 0x0000 ..0x7fff, Data fra 0x8000 ..0xFFFF
Kig i start-filer på din compiler (Keil, ..) meste dette er gjort der.

Hi arsadri

Kun ved at se på memory-indhold, du kan ikke sige, om det
er kode, eller hvis det
er data!Der er ingen bit at angive dette.Som beskrevet ovenfor, er du nødt til at lave dine egne 'hukommelse forvaltning "og lægge data og kode i adskilte områder.Kig på eksemplet ovenfor: PC ser en hukommelse vifte af 64kBytes størrelse.Hvis du skriver til lavere 32k, er dette fortolkes som Code, en skrive til den øvre 32k fortolkes som data.

Farvel

 

Welcome to EDABoard.com

Sponsor

Back
Top