EE-2623 Mikroprosesor & Antarmuka

35
EE-2623 Mikroprosesor & Antarmuka Materi 2 Team Dosen 2007

description

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. - PowerPoint PPT Presentation

Transcript of EE-2623 Mikroprosesor & Antarmuka

Page 1: EE-2623 Mikroprosesor & Antarmuka

EE-2623Mikroprosesor & Antarmuka

Materi 2Team Dosen

2007

Page 2: EE-2623 Mikroprosesor & Antarmuka

Dasar Sistem Mikroprosesor

Mikroprosesor

Memory I/O

Data BusAddress BusControl Bus

Page 3: EE-2623 Mikroprosesor & Antarmuka

Timing Diagram Read Cycle

Page 4: EE-2623 Mikroprosesor & Antarmuka

Timing Diagram Write Cycle

Page 5: EE-2623 Mikroprosesor & Antarmuka

Mikroprosesor i8088 & i8086

Page 6: EE-2623 Mikroprosesor & Antarmuka

GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6

HOLDHLDA

ALE

READYRESET

BHE/S7MN/MXRD

WRM/IODT/RDEN

INTATEST

1234567891011121314151617181920

3130292827262524232221

4039383736353433328086

Data Bus

GNDA14A13A12A11A10 A9 A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCA15A16/S3A17/S4A18/S5A19/S6

HOLDHLDA

ALE

READYRESET

SS0MN/MXRD

WRIO/MDT/RDEN

INTATEST

1234567891011121314151617181920

3130292827262524232221

4039383736353433328088

Data Bus untuk i8088 dan i8086

Page 7: EE-2623 Mikroprosesor & Antarmuka

GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6

HOLDHLDA

ALE

READYRESET

BHE/S7MN/MXRD

WRM/IODT/RDEN

INTATEST

1234567891011121314151617181920

3130292827262524232221

4039383736353433328086

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

Page 8: EE-2623 Mikroprosesor & Antarmuka

GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6

HOLDHLDA

ALE

READYRESET

BHE/S7MN/MXRD

WRM/IODT/RDEN

INTATEST

1234567891011121314151617181920

3130292827262524232221

4039383736353433328086

Clock -Mikroprosesor membutuhkan clock

untuk sinkronisasi semua aktifitasnya -Maksimum 10 MHz

-Clok generator : i8284

Page 9: EE-2623 Mikroprosesor & Antarmuka

GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6

HOLDHLDA

ALE

READYRESET

BHE/S7MN/MXRD

WRM/IODT/RDEN

INTATEST

1234567891011121314151617181920

3130292827262524232221

4039383736353433328086

Reset• Menghentikan aktifitas mp saat itu• masukan• Aktif ‘high’• Kondisi register di dalam

mikroprosesor setelah reset:

Contents registerFFFFH CS0000H DS0000H SS0000H ES0000H IP0000H FLAGKosong QUEUE

Page 10: EE-2623 Mikroprosesor & Antarmuka

Kondisi Reset / Bootup• Q : Alamat (IO / Memori) berapa yang diakses oleh uP

pada saat pertama kali bootup (sesudah reset) ?• A : Memori• Q : Tahu dari mana yang diakses memori?• A : Register CS di isi FFFF • Q : Memangnya di peta I/O tidak ada segmen?• A : Tidak ada karena peta I/O hanya 64 kB• Q : Apa yang anda tahu tentang segmen? Ukuran? Jenis? A : Ukuran segmen 64kB, Jenis 4 : Code, Data, Stack, ExtraQ : Alamat (IO / Memori) berapa yang diakses oleh uP

pada saat pertama kali bootup (sesudah reset) ?A : Alamat Memori FFFF0 yang diakses oleh uP pada

saat pertama kali bootup (sesudah reset)

Page 11: EE-2623 Mikroprosesor & Antarmuka

GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6

HOLDHLDA

ALE

READYRESET

BHE/S7MN/MXRD

WRM/IODT/RDEN

INTATEST

1234567891011121314151617181920

3130292827262524232221

4039383736353433328086

READY:• Masukan • Aktif ‘high’• Digunakan untuk

memasukkan waktu tunggu (wait state), untuk akses memori atau I/O yang lambat.

Page 12: EE-2623 Mikroprosesor & Antarmuka

GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6

HOLDHLDA

ALE

READYRESET

BHE/S7MN/MXRD

WRM/IODT/RDEN

INTATEST

1234567891011121314151617181920

3130292827262524232221

4039383736353433328086

Mode Min

Logic 1

Mode Max

Logic 0

RQ / GT0RQ / GT1LOCK

S2S1S0

QS0QS1

• Fungsi pin 24 s/d 31 dari 8088 dan 8086 berubah sesuai mode yang digunakan, max atau min

* Pin-pin diatas digunakan untuk sinyal kontrol memori dan I/O

Page 13: EE-2623 Mikroprosesor & Antarmuka

Diagram Internal & Register

Page 14: EE-2623 Mikroprosesor & Antarmuka

ESCSSSDS

4321

CONTROLSYSTEM

AH ALBH BLCH CLDH DL

SPBPSIDI

OPERANDFLAGS

C-BUS

IP

ALU

INSTRUCTIONSTREAM

BYTEQUEUE

A- BUS

BIU

EU

Diagram Internal i8088

Page 15: EE-2623 Mikroprosesor & Antarmuka

Q&A uP 8088Q : kenapa 8088 dibagi menjadi BIU dan

EU?A : sesuai fungsi, yaitu BIU menghitung

alamat, EU menghitung dataQ : apa bedanya ALU di BIU dengan ALU di

EU?A : ALU di BIU menggabungkan 16 bit offset

dengan 16 bit segmen menjadi 20 bit alamat fisik, sedangkan ALU di EU menghitung data 8/16 bit dengan data 8/16 bit menjadi 8/16/32 bit

Page 16: EE-2623 Mikroprosesor & Antarmuka

Fungsi BIU

• Sebagai antarmuka (pengalamatan) dengan peripheral di luar mikroprosesor.

• Bertanggung jawab terhadap semua operasi bus eksternal, seperti :– Instruction fetch– Operasi baca-tulis memori atau I/O– Antrian instruksi dan perhitungan alamat (PA)

Page 17: EE-2623 Mikroprosesor & Antarmuka

Fungsi EU (Execution Unit)

• Bertanggung jawab terhadap decoding dan executing instruksi

• Mengambil instruksi dari Queue • Transfer data dari dan ke general purpose

Registers• Check & update flag .• Perhitungan alamat operand (EA)• Memberi perintah ke BUI untuk operasi

memori atau I/O

Page 18: EE-2623 Mikroprosesor & Antarmuka

Register di dalam 8088/8086Nama Register Bit KatagoriAX,BX,CX,DX 16 generalAH,AL,BH,BL,CH,CL,DH,DL 8SP,BP 16 pointerSI,DI 16 indexCS,DS,SS,ES 16 segmentIP 16 instructionFR 16 flag

Catatan : register general 16 bit tidak bisa digunakan bersamaan dengan register general 8 bit, contoh : mov ax,bl tidak dilayani

Page 19: EE-2623 Mikroprosesor & Antarmuka

Akses MemoriSebelum 8088, uP mepunyai memori

sekitar 64 kBDigunakan untuk penyimpan : os, program

aplikasi dan data

Page 20: EE-2623 Mikroprosesor & Antarmuka

Peta memori dan I/O 8088/8086External Memory Address Space

Code segment64 k byte

Data Segment64 K Byte

Stack segment64 k Byte

Extra Segment64 k Byte

IP

SPBPSIDI

CSDSSSES

AH ALBHCHDH

BLCLDL

Input / output Address space

00000

FFFFF

0000

FFFF

Limit PC9FFFF

Page 21: EE-2623 Mikroprosesor & Antarmuka

BIOS

Peta Memori

8 bit

00000

FFFFF

Operating System

ProgramAplikasi

Program

Data

00200

?

Page 22: EE-2623 Mikroprosesor & Antarmuka

Mengatur MemoriAplikasi : 48 kB

Sisakan dulu bagian atas memori untuk data10 kB data38kB <= program

memori untuk data adalah sisaUkuran memori data bisa sangat kecil

Page 23: EE-2623 Mikroprosesor & Antarmuka

Solusi IntelSegmentasi

Membagi memori menjadi blok-blok 64 kB secara dinamis

Dipisahkan blok memori menjadi blok fungsi64 kB untuk program Code Segment64 kB untuk data Data Segment64 kB untuk stack Stack Segment64 kB untuk tambahan data (option) Extra

Segment

Page 24: EE-2623 Mikroprosesor & Antarmuka

Aplikasi 48 kB : 38 kB program + 10 kB data Tanpa segment

Alamat awal program 200h

Alamat akhir program 99FFh

Tugas programmer Alamat awal data

9A00hAlamat akhir data

C1FFhContoh : ambil data

ke-100 accmov acc,9A64

Dengan segmenAlamat awal program

0000h di Code Segment

Alamat akhir 9800h di Code Segment

Dilakukan oleh mesinAlamat awal data

0000h di Data Segment

Alamat akhir data 2800h

Contoh : ambil data ke-100 acc

Mov acc,0064

Page 25: EE-2623 Mikroprosesor & Antarmuka

BIOS

Statis vs Dinamis

64 KB

64 KB

64 KB

64 KB

64 KB

64 KB

64 KB

64 KB

64 KB

64 KB

64 KB

64 KB

64 KB

64 KB

64 KB

64 KB

64 KB

64 KB

64 KB

64 KB

OS

BIOS

DS

SS

CS

ES

OS

CS

DS

SS

ES

Page 26: EE-2623 Mikroprosesor & Antarmuka

SegmentKarena tersedia lebih dari 4 segment, maka

bisa dibuat lebih dari 1 kelompok segment multi taskingPindah program (task) hanya mengubah

segmentSetiap program bisa dimulai dari alamat 0000

Program1

0000

Program2

0000

Program3

0000

Page 27: EE-2623 Mikroprosesor & Antarmuka

Contoh :

00000

FFFFF

DS

10100 DS : 10000100

DS

0700 20700 DS : 2000

DS

0064 2070F DS : XXXXX

Page 28: EE-2623 Mikroprosesor & Antarmuka

Perhitungan alamat fisik (Physical Address)

• Segmen untuk Program :

Format : CS : IP

physical address A0-A19=2E5F3IP=95F3

CS=2500 0Adder

Geser kiri CS satu digit

• Segmen untuk Data :

Format : DS : EA (Effective Address)

physical address A0-A19=2E5F3EA=95F3

DS=2500 0Adder

Geser kiri DS satu digit

Page 29: EE-2623 Mikroprosesor & Antarmuka

Perhitungan alamat fisik (Physical Address) Cont’d

• Segmen untuk Stack :

Format : SS : SP

physical address A0-A19=2E5F3SP=95F3

SS=2500 0Adder

Geser kiri SS satu digit

Note :• Physical Address• Logical Adress

Page 30: EE-2623 Mikroprosesor & Antarmuka

Ciri alamat segmentTidak bisa diletakkan di alamat awal selain

xxxx0Alamat segmen terakhir pasti F000

Contoh : CS= F100 tidak boleh• Min CS:IP F100:0000 alamat fisik

F1000• Maks CS:IP F100:FFFF alamat fisik

100FFF diluar batas maksimum FFFFF

Page 31: EE-2623 Mikroprosesor & Antarmuka

Contoh lainCS:1000, offset : FFFF fisik : 1FFFFFisik:2FFFF, ES:2100 offset:EFFF

Page 32: EE-2623 Mikroprosesor & Antarmuka

H/W Segment

Program IP offset CS segment

Data Offset sesuai mode

pengalamatannya DS segment

Stack SP offset SS segment

ESCSSSDS

4321

CONTROL SYSTEM

AH ALBH BLCH CLDH DL

SPBPSIDI

OPERANDFLAGS

C-BUS

IP

ALU

INSTRUCTIONSTREAM

BYTEQUEUE

A- BUS

BIU

EU

Page 33: EE-2623 Mikroprosesor & Antarmuka

H/W alamat

Alamat programIP offsetCS segmentFisik:IP + CS(digeser)Contoh

IP:2345

ESCSSSDS

4321

CONTROL SYSTEM

AH ALBH BLCH CLDH DL

SPBPSIDI

OPERANDFLAGS

C-BUS

IP

ALU

INSTRUCTIONSTREAM

BYTEQUEUE

A- BUS

BIU

EU

Page 34: EE-2623 Mikroprosesor & Antarmuka

Perintah PUSH

– Asumsi : SP=1236,AX=24B6,DI=85C2,DX=5F93Perhatikan isi stack setiap dijalankan perintah sbb:PUSH AX PUSH DI PUSH DX

PUSH DX PUSH DI PUSH AX start

SS:123624 24 24 SS:1235B6 B6 B6 SS:123485 85 SS:1233C2 C2 SS:12325F SS:123193 SS:1230

Page 35: EE-2623 Mikroprosesor & Antarmuka

Perintah POP

– Asumsi : SP=1230,Perhatikan isi stack setiap dijalankan perintah berikut :POP AX POP DX POP BX

POP BX POP DX POP AX START

SS:123624 24 24 SS:1235B6 B6 B6 SS:1234

85 85 SS:1233C2 C2 SS:1232

5F SS:123193 SS:1230