Mikroprosesor dan Perangkat Pendukungnya
Mikroprosesor 8088 Why we study 8088? Modus penggunaan pada 8088: minimum dan maksimum Minimum ketika tidak dihubungkan dengan math coprocessor Maksimum ketika dihubungkan dengan math coprocessor Bagaimana dengan mikroprosesor saat ini?
Data bus pada 8088 Sebagian dimultipleks dengan address bus: pin 9-16 (AD0-AD7) Artinya pun 9-16 memiliki 2 fungsi, yaitu sebagai address dan data bus Pin 25 (ALE, Address Latch Enable) memberikan sinyal apakah informasi pada pin 9-16 adalah data atau address: high = address (A0-A7), low = data (D0-D7) 8088 pada modus minimum
Address bus pada 8088 Total 20 pin (A0-A19) digunakan untuk address bus sehingga mampu mengalamati sampai 1 mega byte A0-A7 disediakan oleh output yang dihasilkan 74LS373 A8-A19 disediakan langsung oleh mikroprosesor Pada sistem komputer latch digunakan untuk semua pin alamat agar sinyal yang dihasilkan stabil
Latch pada semua address bus
Control bus pada 8088 Ada banyak sinyal kendali pada 8088 tetapi utamanya adalah yang terkait dengan operasi baca tulis Operasi baca tulis dapat dilakukan pada memori maupun I/O Sinyal kendali:
Control bus pada 8088 8088 menyediakan pin RD, WR, dan IO/M Dari ketiga pin tersebut sinyal kendali dibangkitkan: IOR, IOW, MEMR, MEMW yang kesemuanya adalah active low
Bus timing pada 8088 8088 menggunakan 4 clock untuk melakukan komunikasi baik dengan memori maupun I/O Jika perangkat memori atau I/O membutuhkan lebih dari 4 siklus clock, maka wait state (WS) dapat dibangkitkan supaya mikroprosesor menunggu (dengan menyisipkan clock <Tw> antara T2 dan T3) sampai tersedia data
Fungsi pin 8088 pada modus minimum
Fungsi pin pada 8088 MN/MX: modus minimum +5 V, maksimum GND NMI: nonmaskable interrupt INTR: interrupt, bersama dengan pin INTA dihubungkan dengan chip kontroler interupsi 8259 CLOCK: input clock yang dibangkitkan oleh 8284 READY: wait state untuk perangkat yang lebih lambat TEST: digunakan pada modus maksimum sebagai input dari 8087 RESET: me-reset CPU Apa akibatnya?
Modus minimum dan maksimum 8088 Modus minimum: 8088 tidak digunakan bersama coprocessor (8087) Modus maksimum: 8088 digunakan bersama coprocessor (8087) dengan konsekuensi harus ditambahkan dengan chip pendukung untuk membangkitkan sinyal kontrol (8288)
Fungsi pin pada modus max dan min MINIMUM MAKSIMUM
Chip pendukung 8284 dan 8288 Chip 8284 digunakan untuk membangkitkan clock bagi mikroprosesor dan perangkat lain Chip 8288 digunakan pada modus maksimum untuk menyediakan sinyal kontrol karena beberapa pin pada 8086/8088 berubah fungsi Pada mikroprosesor modern, semisal Pentium, chip pendukung mikroprosesor berupa sebuah chip tunggal yang menyediakan berbagai fungsi pendukung
Chip 8284 Fungsi dasar: membangkitkan clock, sinkronisasi RESET, sikronisasi READY, dan sinyal clock untuk perangkat TTL
Pin input chip 8284 RES (reset in): menerima input (active low) dari sumber daya, menyebabkan sinyal RESET dibangkitkan sehingga mikroprosesor dalam kondiri reset (cold boot) X1 dan X2 (crystal in): dihubungkan dengan kristal dengan frekuensi maksimal 24 MHz, akan dibagi dengan 3 F/C (frequency/clock): menentukan sumber frekuensi, apakah dari kristal atau dari sumber lain (cascading) EFI (external frequency in): sumber frekuensi lain CSYNC (clock synchronization): untuk sikronisasi beberapa 8284 RDY1 dan AEN1: menyediakan sinyal READY ke mikroprosesor, apakah prosesor perlu menunggu atau tidak (wait state) RDY2 dan AEN2: memungkinkan sistem multiprosesor, tetapi pada IBM PC tidak digunakan ASYNC: digunakan untuk menurunkan timing pada PC
Pin output 8284 RESET: menyediakan sinyal reset ke mikroprosesor OSC (oscilator): menyediakan frekuensi clock yang sama dengan kristal, TTL compatible CLK (clock): mengeluarkan frekuensi clock sebesar sepertiga dari kristal yang digunakan, atau sebesar EFI dengan duty cycle 33%, digunakan untuk timing pada mikroprosesor dan perangkat lain PCLK (peripheral clock): setengah dari CLK atau seperenam dari kristal dengan duty cycle 50%, digunakan oleh timer 8253 untuk membangkitkan suara, dll READY: dihubungkan dengan pin READY pada mikroprosesor, menentukan apakah prosesor perlu menunggu atau tidak
Bus controller 8288 Hanya digunakan jika coprocessor 8087 digunakan, atau 8086/8088 pada modus maksimum karena sebagian fungsi pin berubah
Pin input 8288 S0, S1, S2: input berasal dari mikroproser untuk membangkitkan sinyal kontrol
Pin input 8288 CLK (clock): input clock dari 8284 AEN (address enable): mengaktifkan output perintah dari 8288 selama 115 ns, dihubungkan ke rangkaian pembangkit AEN CEN (command enable): mengaktifkan sinyal perintah dan DEN, dihubungkan ke rangkaian pembangkit AEN IOB (I/O bus mode): memilih modus I/O bus atau modus system bus, pada PC diberikan input active low sehingga modus system bus yang digunakan
Pin output pada 8288 MRDC (memory read command): menyediakan sinyal kontrol MEMR, mengaktifkan perangkat yang dipilih untuk menyediakan datanya MWTC (memory write command), AMWC (advanced memory write): sama dengan sinyal MEMW hanya saja AMWC diaktifkan terlebih dahulu IORC (I/O read command): disebut juga dengan IOR, memerintahkan perangkat untuk menyediakan data pada jalur data IOWC (I/O write command), AIOWC (advanced IOWC): disebut juga IOW, memerintahkan perangkat untuk mengambil data yang ada di jalur data
Pin output pada 8288 INTA (interrupt acknowledge): memberitahukan ke perangkat yang membangkitan interupsi bahwa interupsi telah diterima dan menyediakan alamat vektor interupsi di jalur data, dihubungkan ke chip kontroler interupsi 8259 DT/R (data transmit/receive): menunjukkan arah data, in atau out, dari prosesor atau ke prosesor DEN (data enable): menentukan apakah data bus berstatus data bus lokal atau system data bus MCE/PDEN (master cascade enable/peripheral data enable): tidak digunakan di PC karena 8259 sebagai slave ALE (address latch enable): mengaktifkan address latches
ISA bus 8 bit ISA: Industry Standar Architecture PC XT (8 bit), PC AT (16 bit) ISA = PC AT Karena PC pertama kali dengan prosesor 8088, maka hanya 8 bit ISA saja yang digunakan: subset dari ISA 16 bit
ISA bus 8 bit
Sejarah bus: Local bus, system bus Local bus: jalur yang langsung terhubung dengan mikroprosesor chip pendukung System bus: jalur yang menghubungkan seluruh perangkat pada sistem komputer: RAM, ROM, chip pendukung, slot ekspansi Local bus = subset dari system bus Local bus dan system bus harus dipisahkan, mengapa?
Sejarah bus: Address bus Latch (74LS373) digunakan untuk menyangga (buffer) alamat yang dikeluarkan mikroprosesor sehingga pada jalur alamat tersedia sinyal alamat yang stabil Latch juga dimaksudkan untuk mengisolasi system address bus dengan local address bus: address bus dapat digunakan oleh perangkat lain yang terhubung dengan system bus, contoh DMA Address bus bersifat uni-directional: mikroprosesor tidak menerima input dari address bus
Sejarah bus: Data bus Data bus adalah jalur komunikasi dua arah, data keluar dari dan menuju ke mikroprosesor atau ke perangkat lain (RAM, ROM, dll) Maka digunakan tri-state buffer: 74LS245 74LS245 digunakan untuk mengisolasi data bus: apakah menjadi local bus atau system bus Terkait dengan sumber dan tujuan data yang dikirimkan: dari perangkat ke prosesor atau dari perangkat ke perangkat
Sejarah bus: Control bus Bukan termasuk dalam local bus, karena tidak untuk mengontrol perangkat yang terhubung langsung dengan mikroprosesor Kepanjangan tangan dari mikroprosesor: jika menggunakan 8288
Timing diagram
Bus arbitration Masih ingat mengapa local bus dan system bus harus diisolasi? Mikroprosesor tidak didesain untuk mentransfer data dalam ukuran yang besar, contoh data yang berasal dari perangkat penyimpan Maka diperlukan perangkat pendukung untuk operasi semacam itu: chip 8237, direct memory access (DMA) Berarti ada 2 perangkat yang berhak menggunakan address bus yang tersedia di sistem komputer: oleh karena itu isolasi dan arbitrase jalur (bus arbitration) diperlukan agar tidak terjadi konflik antara mikroprosesor dan DMA
Bus arbitration Bus arbitration dicapai dengan rangkaian pembangkit AEN (address enable)
Bus arbitration Ketika DMA diminta untuk melayani suatu operasi transfer data, DMA memberitahu CPU dengan meletakkan sinyal low pada HRQDMA sehingga output dari rangkaian pembangkit AEN menjadi 1 (high), dengan asumsi siklus memori telah selesai dan LOCK tidak aktif Sinyal HLDA memberitahukan ke DMA bahwa address bus telah berhasil diambil alih dari CPU dan AEN menjadi aktif: local bus terisolasi dari system bus Maka transfer data dapat terjadi pada system bus yang melibatkan perangkat I/O dan memori