1 / 35

EE-2623 Mikroprosesor & Antarmuka

EE-2623 Mikroprosesor & Antarmuka. Materi 2 Team Dosen 2007. Dasar Sistem Mikroprosesor. Mikroprosesor. Data Bus. Address Bus. Control Bus. Memory. I/O. Timing Diagram Read Cycle. Timing Diagram Write Cycle. Mikroprosesor i8088 & i8086. GND. 1. 40. VCC. GND. 1. 40. VCC.

barny
Download Presentation

EE-2623 Mikroprosesor & Antarmuka

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EE-2623Mikroprosesor & Antarmuka Materi 2 Team Dosen 2007

  2. Dasar Sistem Mikroprosesor Mikroprosesor Data Bus Address Bus Control Bus Memory I/O

  3. Timing Diagram Read Cycle

  4. Timing Diagram Write Cycle

  5. Mikroprosesor i8088 & i8086

  6. GND 1 40 VCC GND 1 40 VCC AD14 2 39 AD15 A14 2 39 A15 AD13 3 BHE/S7 38 A16/S3 A13 3 38 A16/S3 AD12 4 MN/MX MN/MX 37 A17/S4 A12 4 37 A17/S4 AD11 5 RD RD 36 A18/S5 A11 5 36 A18/S5 AD10 6 35 A19/S6 A10 6 35 A19/S6 AD9 7 34 A9 7 34 SS0 AD8 8 8086 WR WR 33 A8 8 8088 33 AD7 9 IO/M M/IO 32 AD7 9 32 AD6 10 DT/R DT/R 31 HOLD AD6 10 31 HOLD AD5 11 DEN DEN 30 HLDA AD5 11 30 HLDA AD4 12 29 AD4 12 29 AD3 13 INTA INTA 28 AD3 13 28 AD2 14 TEST TEST 27 AD2 14 27 AD1 15 26 AD1 15 26 AD0 16 25 ALE AD0 16 25 ALE NMI 17 24 NMI 17 24 INTR 18 23 INTR 18 23 CLK 19 22 READY CLK 19 22 READY GND 20 21 RESET GND 20 21 RESET Data Bus untuk i8088 dan i8086 Data Bus

  7. GND 1 40 VCC AD14 2 39 AD15 AD13 3 BHE/S7 38 A16/S3 AD12 4 MN/MX 37 A17/S4 AD11 5 RD 36 A18/S5 AD10 6 35 A19/S6 AD9 7 34 AD8 8 8086 WR 33 AD7 9 M/IO 32 AD6 10 DT/R 31 HOLD AD5 11 DEN 30 HLDA AD4 12 29 AD3 13 INTA 28 AD2 14 TEST 27 AD1 15 26 AD0 16 25 ALE NMI 17 24 INTR 18 23 CLK 19 22 READY GND 20 21 RESET • INTR: Interrupt Request • Aktif pada saat level high • Masukan • Di monitor pada cycle clock terakhir setiap instruksi • NMI: Nonmaskable interrupt • Positif Edge triggered signal • Masukan • Tidak dapat di-masked (enable/disable) secara s/w

  8. GND 1 40 VCC AD14 2 39 AD15 AD13 3 BHE/S7 38 A16/S3 AD12 4 MN/MX 37 A17/S4 AD11 5 RD 36 A18/S5 AD10 6 35 A19/S6 AD9 7 34 AD8 8 8086 WR 33 AD7 9 M/IO 32 AD6 10 DT/R 31 HOLD AD5 11 DEN 30 HLDA AD4 12 29 AD3 13 INTA 28 AD2 14 TEST 27 AD1 15 26 AD0 16 25 ALE NMI 17 24 INTR 18 23 CLK 19 22 READY GND 20 21 RESET Clock - Mikroprosesor membutuhkan clock untuk sinkronisasi semua aktifitasnya - Maksimum 10 MHz - Clok generator : i8284

  9. GND 1 40 VCC AD14 2 39 AD15 AD13 3 BHE/S7 38 A16/S3 AD12 4 MN/MX 37 A17/S4 AD11 5 RD 36 A18/S5 AD10 6 35 A19/S6 AD9 7 34 AD8 8 8086 WR 33 AD7 9 M/IO 32 AD6 10 DT/R 31 HOLD AD5 11 DEN 30 HLDA AD4 12 29 AD3 13 INTA 28 AD2 14 TEST 27 AD1 15 26 AD0 16 25 ALE NMI 17 24 INTR 18 23 CLK 19 22 READY GND 20 21 RESET • Reset • Menghentikan aktifitas mp saat itu • masukan • Aktif ‘high’ • Kondisi register di dalam mikroprosesor setelah reset:

  10. Kondisi Reset / Bootup • Q : Alamat (IO / Memori) berapa yang diaksesolehuPpadasaatpertama kali bootup (sesudah reset) ? • A : Memori • Q : Tahudarimana yang diaksesmemori? • A : Register CS diisi FFFF • Q : Memangnyadipeta I/O tidakadasegmen? • A : Tidakadakarenapeta I/O hanya 64 kB • Q : Apa yang andatahutentangsegmen? Ukuran? Jenis? • A : Ukuransegmen 64kB, Jenis 4 : Code, Data, Stack, Extra • Q : Alamat (IO / Memori) berapa yang diaksesolehuPpadasaatpertama kali bootup (sesudah reset) ? • A : AlamatMemori FFFF0 yang diaksesolehuPpadasaatpertama kali bootup (sesudah reset)

  11. GND 1 40 VCC AD14 2 39 AD15 AD13 3 BHE/S7 38 A16/S3 AD12 4 MN/MX 37 A17/S4 AD11 5 RD 36 A18/S5 AD10 6 35 A19/S6 AD9 7 34 AD8 8 8086 WR 33 AD7 9 M/IO 32 AD6 10 DT/R 31 HOLD AD5 11 DEN 30 HLDA AD4 12 29 AD3 13 INTA 28 AD2 14 TEST 27 AD1 15 26 AD0 16 25 ALE NMI 17 24 INTR 18 23 CLK 19 22 READY GND 20 21 RESET • READY: • Masukan • Aktif‘high’ • Digunakanuntukmemasukkanwaktutunggu (wait state), untukaksesmemoriatau I/O yang lambat.

  12. GND 1 40 VCC AD14 2 39 AD15 AD13 3 BHE/S7 38 A16/S3 AD12 4 MN/MX 37 A17/S4 AD11 5 RD 36 A18/S5 AD10 6 35 A19/S6 AD9 7 34 AD8 8 8086 WR 33 AD7 9 M/IO 32 AD6 10 DT/R 31 HOLD AD5 11 DEN 30 HLDA AD4 12 29 AD3 13 INTA 28 AD2 14 TEST 27 AD1 15 26 AD0 16 25 ALE NMI 17 24 INTR 18 23 CLK 19 22 READY GND 20 21 RESET • Fungsi pin 24 s/d 31 dari 8088 dan 8086 berubah sesuai mode yang digunakan, max atau min Mode Min Mode Max Logic 1 Logic 0 RQ / GT0 RQ / GT1 LOCK S2 S1 S0 QS0 QS1 * Pin-pin diatas digunakan untuk sinyal kontrol memori dan I/O

  13. Diagram Internal & Register

  14. Diagram Internal i8088

  15. Q&A uP 8088 • Q : kenapa 8088 dibagimenjadi BIU dan EU? • A : sesuaifungsi, yaitu BIU menghitungalamat, EU menghitung data • Q : apabedanya ALU di BIU dengan ALU di EU? • A : ALU di BIU menggabungkan 16 bit offset dengan 16 bit segmenmenjadi 20 bit alamatfisik, sedangkan ALU di EU menghitung data 8/16 bit dengan data 8/16 bit menjadi 8/16/32 bit

  16. Fungsi BIU • Sebagaiantarmuka(pengalamatan) denganperipheral diluarmikroprosesor. • Bertanggungjawabterhadapsemuaoperasi bus eksternal, seperti : • Instruction fetch • Operasibaca-tulismemoriatau I/O • Antrianinstruksidanperhitunganalamat (PA)

  17. Fungsi EU (Execution Unit) • Bertanggungjawabterhadap decoding dan executing instruksi • Mengambilinstruksidari Queue • Transfer data daridanke general purpose Registers • Check & update flag . • Perhitunganalamat operand (EA) • Memberiperintahke BUI untukoperasimemoriatau I/O

  18. Register di dalam 8088/8086 Catatan : register general 16 bit tidakbisadigunakanbersamaandengan register general 8 bit, contoh : movax,bltidakdilayani

  19. Akses Memori • Sebelum 8088, uPmepunyaimemorisekitar 64 kB • Digunakanuntukpenyimpan : os, program aplikasidan data

  20. SP BP SI DI Peta memori dan I/O 8088/8086 00000 0000 IP Input / output Address space CS DS SS ES AH AL BH BL CH CL DH DL Limit PC 9FFFF FFFF FFFFF

  21. Peta Memori FFFFF ? Data Program Aplikasi Program 00200 Operating System BIOS 00000 8 bit

  22. Mengatur Memori • Aplikasi : 48 kB • Sisakan dulu bagian atas memori untuk data • 10 kB data • 38kB <= program • memori untuk data adalah sisa • Ukuran memori data bisa sangat kecil

  23. Solusi Intel • Segmentasi • Membagi memori menjadi blok-blok 64 kB secara dinamis • Dipisahkan blok memori menjadi blok fungsi • 64 kB untuk program  Code Segment • 64 kB untuk data  Data Segment • 64 kB untuk stack  Stack Segment • 64 kB untuk tambahan data (option)  Extra Segment

  24. Aplikasi 48 kB : 38 kB program + 10 kB data • Tanpa segment • Alamat awal program 200h • Alamat akhir program 99FFh Tugas programmer • Alamat awal data 9A00h • Alamat akhir data C1FFh • Contoh : ambil data ke-100  acc mov acc,9A64 • Dengan segmen • Alamat awal program 0000h di Code Segment • Alamat akhir 9800h di Code Segment Dilakukan oleh mesin • Alamat awal data 0000h di Data Segment • Alamat akhir data 2800h • Contoh : ambil data ke-100  acc • Mov acc,0064

  25. StatisvsDinamis 64 KB SS 64 KB 64 KB ES 64 KB ES 64 KB DS 64 KB 64 KB 64 KB SS 64 KB 64 KB CS 64 KB 64 KB DS 64 KB 64 KB 64 KB 64 KB CS 64 KB OS OS 64 KB 64 KB BIOS BIOS 64 KB

  26. Segment • Karena tersedia lebih dari 4 segment, maka bisa dibuat lebih dari 1 kelompok segment •  multi tasking • Pindah program (task) hanya mengubah segment Setiap program bisa dimulai dari alamat 0000 Program1 Program2 Program3 0000 0000 0000

  27. Contoh : DS FFFFF X 0064 2070F DS : XXXX DS 0700 20700  DS : 2000 DS 0100 10100  DS : 1000 00000

  28. Perhitungan alamat fisik (Physical Address) • Segmen untuk Program : • Format : CS : IP IP=95F3 Adder physical address A0-A19=2E5F3 CS=2500 0 Geser kiri CS satu digit • Segmen untuk Data : • Format : DS : EA (Effective Address) EA=95F3 Adder physical address A0-A19=2E5F3 DS=2500 0 Geser kiri DS satu digit

  29. Perhitungan alamat fisik (Physical Address) Cont’d • Segmen untuk Stack : • Format : SS : SP SP=95F3 Adder physical address A0-A19=2E5F3 SS=2500 0 Geser kiri SS satu digit • Note : • Physical Address • Logical Adress

  30. Ciri alamat segment • Tidakbisadiletakkandialamatawalselain xxxx0 • Alamatsegmenterakhirpasti F000 • Contoh: CS= F100 tidakboleh • Min CS:IP  F100:0000 alamatfisik F1000 • Maks CS:IP  F100:FFFF alamatfisik 100FFF diluarbatasmaksimum FFFFF

  31. Contoh lain • CS:1000, offset : FFFF  fisik : 1FFFF • Fisik:2FFFF, ES:2100  offset:EFFF

  32. H/W Segment BIU C - BUS • Program • IP  offset • CS  segment • Data • Offset sesuai mode pengalamatannya • DS  segment • Stack • SP  offset • SS  segment 4 ES INSTRUCTION 3 STREAM CS BYTE 2 QUEUE SS 1 DS IP CONTROL SYSTEM A - BUS EU AH AL BH BL CH CL ALU DH DL SP BP OPERAND SI FLAGS DI

  33. H/W alamat BIU C - BUS • Alamat program • IP  offset • CS  segment • Fisik:IP + CS(digeser) • Contoh • IP:2345 4 ES INSTRUCTION 3 STREAM CS BYTE 2 QUEUE SS 1 DS IP CONTROL SYSTEM A - BUS EU AH AL BH BL CH CL ALU DH DL SP BP OPERAND SI FLAGS DI

  34. Perintah PUSH • Asumsi : SP=1236,AX=24B6,DI=85C2,DX=5F93 • Perhatikan isi stack setiap dijalankan perintah sbb: • PUSH AX PUSH DI PUSH DX

  35. Perintah POP • Asumsi : SP=1230, • Perhatikan isi stack setiap dijalankan perintah berikut : • POP AX POP DX POP BX

More Related