Hvad er segmentregistre? Hvorfor er hukommelsen segmenteret? Hvordan udføres hukommelsessegmentering?


Bedste svar

Et segment er en sammenhængende del af hukommelsen. I et segmenteret hukommelsesskema er hele processens hukommelse i segmenter. De første virtuelle hukommelsessystemer (Burroughs B5000, Mulitcs) var baseret på segmenter med variabel størrelse, der kopieres ind og ud af RAM.

Et program refererer til hvert segment som en forskydning til et segmentregister. Segmentregisterets faktiske indhold styres af systemet. Systemet ved, hvornår der refereres til et segment, når segmentregistret bruges, og bruger dette til at styre den virtuelle hukommelse.

Dette er i modsætning til sidet virtuel hukommelse, brugt overalt i dag, hvor kvanterne af virtuel hukommelse er hukommelsesstykker i fast størrelse. Personsøgning er mere kompleks og kræver mere hardwaresupport.

MITs Multics har haft en enorm indflydelse på moderne computing (inklusive mange ideer indarbejdet i Unix og Linux). Fred Pollack sluttede sig til Intel 286-projektet frisk ud af MIT. Han så 8086-segmentregistrene (faktisk basisregistre) og lobbyede med succes for at oprette disse virkelige segmentregistre som i Multics. (Fred blev senere en Intel Fellow.)

286s 64KB-segmenter led det samme problem som Multics-segmenterne: de var for små. Alt for ofte er der brug for flere segmenter for at få adgang til hukommelsesstrukturer, hvilket betyder at genindlæse segmentregistre og ofte få operativsystemet involveret. På grund af indvirkningen på præstationssegmentering blev sjældent brugt, og segmentregistre blev brugt som basisregistre i 8086-kompatibilitetstilstand.

32-bit Intel 386 tilføjede sidet virtuel hukommelse (YEA!) Under segmentskemaet (meh ). 64-bit Intel-arkitekturmodellen fjerner helt segmentregistreringer, selvom den stadig har kompatibilitetstilstande helt tilbage til 8086.

Svar

1. Hvad er segmentregister?

-> Som vi alle ved, findes der register i processoren. vi opretter segmenter i hukommelsen (segmentering). For at få startplaceringen af ​​disse segmenter gemmer vi adressen på disse segmenter i segmentregistret. i korte segmentregistre gemmer startplaceringen for segmenter, der er til stede i hukommelsen, dvs. segmentadresse.

iv id = “5aaa35589c” 3.

3. hvordan er hukommelsessegmentering færdig?

-> hukommelsessegmentering udføres ved hjælp af 16 bits adresser. først giver vi segmentadresse (start af segment), efter at have givet segmentadresse giver vi offset-adresse () for at få adgang til placeringer i dette segment.

vi giver segmentadresse kun én gang derefter giver vi offset-adresse.

vi giver segmentadresse og offset-adresse begge 16 bit-adresser som programmør. efter at have givet denne adresse er det processorens pligt at skjule både denne adresse i fysisk adresse (ægte adresse).

fysisk adresse = segmentadresse * 10 + offset-adresse

= 1000 * 10 + 2345

= 12345H

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *