Rumah  >  Artikel  >  tutorial komputer  >  Mengapakah 8086CPU mempunyai 20 baris alamat tetapi ruang storan boleh alamat maksimum hanya 1MB?

Mengapakah 8086CPU mempunyai 20 baris alamat tetapi ruang storan boleh alamat maksimum hanya 1MB?

WBOY
WBOYke hadapan
2024-01-19 20:12:231141semak imbas

Mengapakah 8086CPU mempunyai 20 baris alamat tetapi ruang storan boleh alamat maksimum hanya 1MB?

Baris alamat 8086CPU ialah 20, yang boleh menangani maksimum 1MB ruang storan

Jawapan: Julat pengalamatan CPU 8086 ialah 1MB. Ini kerana CPU 8086 mempunyai 20 baris alamat dan 2^20 bersamaan dengan 1024KB, iaitu 1MB. Walau bagaimanapun, dalam sistem 8086, arahan hanya menyediakan alamat 16-bit, dan daftar yang berkaitan dengan pengalamatan hanya 16 bit panjang. Oleh itu, julat pengalamatan hanya 64KB. Untuk dapat menangani ruang memori 1MB, CPU 8086 membahagikan memori kepada empat segmen logik. Apabila CPU mengakses memori, kandungan daftar segmen (alamat asas segmen) dialihkan secara automatik ke kiri sebanyak 4 bit (dalam perwakilan binari), dan kemudian ditambah kepada alamat 16-bit yang diimbangi dalam segmen untuk membentuk fizikal 20-bit alamat.

Dalam memori bersegmen, setiap alamat logik terdiri daripada alamat asas segmen 16-bit dan alamat offset.

Alamat fizikal: Alamat mutlak memori, dari 00000H~FFFFFH, ialah alamat alamat sebenar (juga dipanggil alamat mutlak) CPU apabila mengakses memori

Alamat asas segmen 16-bit dianjak ke kiri sebanyak 4 bit (bersamaan dengan menambah 4 "0"s selepas bit terendah alamat asas segmen), dan ditambahkan pada alamat offset untuk mendapatkan alamat fizikal.

Alamat fizikal = alamat pangkalan segmen*16+alamat offset

?

Dalam memori bersegmen, setiap alamat logik terdiri daripada alamat asas segmen 16-bit dan alamat offset.

Alamat fizikal: Alamat mutlak memori, dari 00000H~FFFFFH, ialah alamat alamat sebenar (juga dipanggil alamat mutlak) CPU apabila mengakses memori

Alamat asas segmen 16-bit dianjak ke kiri sebanyak 4 bit (bersamaan dengan menambah 4 "0"s selepas bit terendah alamat asas segmen), dan ditambahkan pada alamat offset untuk mendapatkan alamat fizikal.

Alamat fizikal = alamat pangkalan segmen*16+alamat offset

12 bahasa himpunan. 1 Ruang storan maksimum yang dibenarkan oleh 80868088CPU ialah objeknya

(1/2) Bahasa himpunan. 1. Ruang storan maksimum yang dibenarkan oleh CPU 8086/8088 ialah (1MB+65520), dan nombor alamat fizikalnya adalah dari (00000) hingga (fff0+fff+1=10FFF0)H. 2. Perwakilan heksadesimal bagi nombor perpuluhan -46 ialah (0FFD2h atau 0D2H)

Perwakilan heksadesimal bagi nombor perpuluhan 46 ialah 2EH

Microsoft Windows XP [Versi 5.1.2600]

(C) Hak Cipta 1985-2001 Microsoft Corp.

C:Documents and SettingsAdministrator>debug

-a

0AFE:0100 mov ax,2e

0AFE:0103 xor bx,bx

0AFE:0105 sub bx, ax

0AFE:0107

-t

AX=002E BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=0AFE ES=0AFE SS=0AFE CS=0AFE IP=0103 NV UP EI PL NZ NA PO NC

0AFE:0103 31DB XOR BX,BX

-t

AX=002E BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=0AFE ES=0AFE SS=0AFE CS=0AFE IP=0105 NV UP EI PL ZR NA PE NC

0AFE:0105 29C3 SUB BX,AX

-t

AX=002E BX=FFD2 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=0AFE ES=0AFE SS=0AFE CS=0AFE IP=0107 NV UP EI NG NZ AC PE CY

0AFE:0107 0029 TAMBAH [BX+DI],CH DS:FFD2=00

-

Berapa banyak ruang boleh alamat yang terdapat dalam sistem 8086? Berapa besar masing-masing

Pendaftar ialah 16 bit Contohnya, AX, BX, SI, dan DI semuanya 16 bit. 2 hingga kuasa ke-16 adalah bersamaan dengan 64K Ini adalah ruang memori yang kami sebagai pengaturcara boleh mengakses secara terus melalui daftar. Bas alamat yang disediakan oleh CPU 8086/8088 mempunyai 20 bit, dan kuasa 2 hingga ke-20 bersamaan dengan 1M Ini adalah ruang memori maksimum yang boleh diakses oleh CPU dengan sendirinya.

Terdapat percanggahan: CPU boleh mengakses memori 1M, tetapi daftar hanya boleh mewakili saiz memori 64K. Oleh itu, konsep alamat segmen dan alamat offset diperkenalkan. Bahagikan ruang memori 1M ini kepada segmen bersaiz 64K, nyatakan segmen mana, dan kemudian tambahkan "alamat mengimbangi" pada permulaan segmen ini Bukankah ini membenarkan anda mengakses sebarang ruang dalam memori 1M?

Cara dapatkan alamat segmen:

Sebagai contoh, pembolehubah aksara STR diisytiharkan di suatu tempat dalam segmen data pemasangan

MOV DX,SEG STR

Melalui penyata SEG, alamat segmen STR boleh dibawa keluar dan dihantar ke DX.

Saya harap kandungan di atas akan membantu anda!

Atas ialah kandungan terperinci Mengapakah 8086CPU mempunyai 20 baris alamat tetapi ruang storan boleh alamat maksimum hanya 1MB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:docexcel.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam