Anda di halaman 1dari 17

Microcomputer

Memory Mapping for Intel 8088

Arranged by:
Willy Anugrah Cahyadi (WAC)

Prodi S1 Teknik Elektro


Fakultas Teknik Elektro
Universitas Telkom
Pemetaan Memori (Memory Mapping)

1.Microprocessor 8088 akan dihubungkan


dengan:
ROM 8K
RAM 8K
I/O 1K
1. Buat peta memorinya
2. Buat rangkaiannya
Pemetaan Memori (Memory Mapping)

2. Apabila isi RAM yang terpasang (No. 1)


adalah sbb:
Alamat ke - 0 30
Alamat ke – 1 2F
Alamat ke – 2 2E
Nilai alamat
ditentukan Alamat ke – 3 B8
oleh hasil Alamat ke – 4 D0
rancangan
pada no.1
Pemetaan Memori (Memory Mapping)
Buat program dengan algoritma sbb:
1. Isi AX dengan data: 1234
2. Isi CH dengan data: E0
3. Pindahkan isi AL ke RAM (alamat ke-4)
4. Isi CL dengan data dari alamat ke-2 RAM
5. Isi BX dengan data dari alamat
ke-2 dan ke-1 RAM

* DS tentukan masing-masing sesuai alamat yang


dirancang
1.1 Peta Memori
𝜇CPU: 8088
→ 20-bit addressing → (a0-a19)… 00000-FFFFF
ROM: 8K → 13 bit
8K = 8192
Range: 00000-01FFF
8192 = 2 𝟏𝟑

→ 13 bit diperlukan
13 bit (max) → 0001 1111 1111 1111
1 F F F
1.1 Peta Memori
𝜇CPU: 8088
→ 20-bit addressing → (a0-a19)… 00000-FFFFF
ROM: 8K → 13 bit → (a0-a12)… 00000-01FFF
RAM: 8K → 13 bit → (a0-a12)… 00000-01FFF
I/O: 1K → 10 bit → (a0-a9)… 00000-003FF
1.1 Peta Memori
𝜇CPU: 8088
→ 20-bit addressing → (a0-a19)… 00000-FFFFF
ROM: 8K → 13 bit → (a0-a12)… 00000-01FFF
RAM: 8K → 13 bit → (a0-a12)… 00000-01FFF
I/O: 1K → 10 bit → (a0-a9)… 00000-003FF

Address range
Jangkauan alamat
1.1 Peta Memori
 ROM: 8K → 13 bit → (a0-a11)… 00000-01FFF
 RAM: 8K → 13 bit → (a0-a13)… 00000-01FFF D13FF
 I/O: 1K → 10 bit → (a0-a13)… 00000-003FF I/O
3FF (1K)
(10-bit)
D1000
03FFF
RAM
1FFF (8K)
(13-bit)
02000
01FFF
ROM 1FFF (8K)
(13-bit)
00000
1.1 Peta Memori
Addresses:
I/O: 10 bit → D1000-D13FF
RAM: 13 bit → 02000-03FFF
I/O: 13 bit → 00000-01FFF

a19 a18 a17 a16 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0
1 1 1 1 1 1 1 1 1 1
I/O
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1
RAM
0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1
ROM
0 0 0 0 0 0 0 0 0 0 0 0 0
1.1 Peta Memori
Addresses:
I/O: 10 bit → D1000-D13FF
RAM: 13 bit → 02000-03FFF
I/O: 13 bit → 00000-01FFF
Chip Select
I/O: 1101 0001 100
RAM: 0000 001x
ROM: 0000 000x
a19 a18 a17 a16 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0
1 1 0 1 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1
I/O
1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
RAM
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
ROM
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1.1 Peta Memori: Chip Select
a19 a18 a17 a16 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0
1 1 0 1 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1
I/O
1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
RAM
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
ROM
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I/O → 𝑎19 + 𝑎18 + 𝑎17 + 𝑎16 + 𝑎15 + 𝑎14 + 𝑎13 + 𝑎12 + 𝑎11 + 𝑎10
RAM → 𝑎19 + 𝑎18 + 𝑎17 + 𝑎16 + 𝑎15 + 𝑎14 + 𝑎13
ROM → 𝑎19 + 𝑎18 + 𝑎17 + 𝑎16 + 𝑎15 + 𝑎14 + 𝑎13
1.2 Rangkaian
1.1 Peta Memori: Chip Select
a19 a18 a17 a16 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0
1 1 0 1 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1
I/O
1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
RAM
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
ROM
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I/O → 𝑎19 . 𝑎18 . 𝑎17 . 𝑎16 . 𝑎15 . 𝑎14 . 𝑎13 . 𝑎12 . 𝑎11 . 𝑎10
RAM → 𝑎19 . 𝑎18 . 𝑎17 . 𝑎16 . 𝑎15 . 𝑎14 . 𝑎13
ROM → 𝑎19 . 𝑎18 . 𝑎17 . 𝑎16 . 𝑎15 . 𝑎14 . 𝑎13
1.2 Rangkaian
1.3 Membuat Program
1 byte
 Buat program dengan algoritma sbb:
1. Isi AX dengan data: 1234
2. Isi CH dengan data: E0
3. Pindahkan isi AL ke RAM (alamat ke-4)
4. Isi CL dengan data dari alamat ke-2 RAM
5. Isi BX dengan data dari alamat
ke-2 dan ke-1 RAM

 * DS tentukan masing-masing sesuai alamat yang


dirancang → Segment size ditentukan sebesar 1K
02000-03FFF
Alamat ke - 0 30  CS: 02000-023FF Alamat ke - 0 03000
Alamat ke – 1 2F Alamat ke – 1 03001
 DS: 03000-033FF
Alamat ke – 2 2E Alamat ke – 2 03002
 SS: 03400-037FF
Alamat ke – 3 B8 Alamat ke – 3 03003
Alamat ke – 4 D0  ES: 03800-03BFF Alamat ke – 4 03004
Instruksi
 Buat program dengan algoritma sbb:
 MOV AX, 1234
1. Isi AX dengan data: 1234
2. Isi CH dengan data: E0  MOV CH, E0 ➢ Alamat ke-4:
3. Pindahkan isi AL ke RAM (alamat ke-4)  MOV [0004], AL ➢ 03004 → Physical
4. Isi CL dengan data dari alamat ke-2 RAM  MOV CL, [0002] Address
5. Isi BX dengan data dari alamat  MOV BX, [0001] ➢ DS: 0300
ke-2 dan ke-1 RAM
➢ Offset/EA: 0004

Isi Registers
Isi RAM AX BX CX
Alamat ke - 0 03000 30 1234
Alamat ke – 1 03001 2F
1234 E000
Alamat ke – 2 03002 2E
1234 E000
Alamat ke – 3 03003 B8
Alamat ke – 4 03004 34
D0 1234 E02E
Alamat ke – 5 03005 1234 2E2F E02E
Alamat Ke – 6 03006
Chip Select
RAM1 : 00010
RAM2 : 0000100
ROM : 00000001
I/O : 00000000

Rangkaian AND
RAM1 → 𝑎19 . 𝑎18 . 𝑎17 . 𝑎16 . 𝑎15
RAM2 → 𝑎19 . 𝑎18 . 𝑎17 . 𝑎16 . 𝑎15 . 𝑎14 . 𝑎13
ROM → 𝑎19 . 𝑎18 . 𝑎17 . 𝑎16 . 𝑎15 . 𝑎14 . 𝑎13 . 𝑎12
I/O → 𝑎19 . 𝑎18 . 𝑎17 . 𝑎16 . 𝑎15 . 𝑎14 . 𝑎13 . 𝑎12

Anda mungkin juga menyukai