Paragraf (unitate)
Paragraf ( paragraf în engleză ) - o unitate de măsură a cantității de date în informatică . Din punct de vedere numeric, un paragraf are 16 octeți .
Utilizare
Cel mai adesea, această unitate nu este folosită pentru a măsura efectiv dimensiunea unui bloc de date, ci pentru a înregistra adresa / offset -ul blocului și pentru a indica alinierea .
Dacă adresa oricărei structuri este un multiplu de 16, aceasta poate fi exprimată în paragrafe ca un număr întreg. Se spune că o structură este aliniată la paragraf dacă, dintr-un motiv oarecare, adresa/decalajul de la începutul structurii este necesar să fie un multiplu de 16. De obicei, cadrul de referință este începutul spațiului de adrese, dar în unele cazuri se poate lua o adresă arbitrară.
Deoarece dimensiunea unui paragraf, scris cu notație hexazecimală , este 0x10, o adresă care este multiplu al unui paragraf este un număr rotund . Adresa [1] a oricărei entități aliniate la granița unui paragraf se va termina cu [2] cu cel puțin un zero (de ex. 0xFC94B8C0).
Aplicație
- Editore hexadecimale : folosesc de obicei 16 coloane, deci o linie din editor este un paragraf . Distanța (offset) dintre oricare doi octeți din j-a coloană a liniilor (i) și (i+n) este egală cu n paragrafe.
- Pe arhitectura x86 , când funcționează în modul real : distanța dintre începuturile a două segmente adiacente este de un paragraf. Prin urmare, în acest mod, valoarea registrului de segment este, de fapt, indicele paragrafului din memoria fizică. La accesarea adresei realeSSSS:OOOO , se ia numărul de paragraf al SSSS, se numără OOOO octeți din acesta, iar adresa se realizează la adresa fizică primită .
- Microprocesorul x86 : folosește un cache de instrucțiuni care funcționează în blocuri de 16 octeți. Prin urmare, pentru a crește productivitatea, se practică adesea alinierea începuturilor procedurilor de -a lungul graniței paragrafului. Pe lângă proceduri, sunt aliniate și blocuri de cod, la care (împreună cu proceduri) se fac adesea salturi condiționate și necondiționate: bucle , ramuri , etc. Acest lucru duce inevitabil la o creștere a dimensiunii codului, uneori semnificativă, astfel încât majoritatea compilatorilor au o opțiune specială care dezactivează astfel de alinieri, sau o opțiune generală „Optimizează dimensiunea codului”, care nu aliniază blocurile de cod la limita paragrafului.
- Unii asamblatori folosesc cuvântul cheie PARA, care stabilește alinierea pentru blocul de date descris.
Utilizare
Deoarece unitatea în sine este folosită pentru a sublinia multiplicitatea, prefixele de multiplicitate nu sunt niciodată folosite cu această unitate .
Vezi și
Note
- ↑ Scris în notație hexadecimală, așa cum este folosit în mod obișnuit pentru scrierea adreselor.
- ↑ Numai dacă începutul spațiului de adrese este selectat ca punct de referință.