CHAPTER 9 8086/8088 Hardware Specifications

[menuju akhir]



 

1.Pendahuluan [kembali]

    Mikroprosesor Intel 8086 diperkenalkan pada tahun 1978 sebagai prosesor 16-bit pertama Intel yang sukses secara komersial. Prosesor ini memiliki bus data eksternal 16-bit dan bus alamat 20-bit, sehingga mampu mengakses memori hingga 1 MB. Di dalamnya terdapat register 16-bit seperti AX, BX, CX, DX, serta segment register (CS, DS, ES, SS) yang memungkinkan pengalamatan memori menggunakan teknik segmentasi. Mikroprosesor ini mendukung dua mode operasi, yaitu minimum mode untuk sistem tunggal dan maximum mode untuk sistem multiprosesor atau dengan koprosesor matematis 8087. Dengan kecepatan clock 5–10 MHz dan dukungan prefetch queue sepanjang 6-byte, 8086 mampu mengeksekusi instruksi lebih cepat melalui mekanisme pipelining sederhana.

Satu tahun kemudian, pada 1979, Intel merilis mikroprosesor 8088 yang secara internal memiliki arsitektur sama dengan 8086, namun dengan bus data eksternal hanya 8-bit. Perubahan ini membuat 8088 lebih lambat karena membutuhkan dua siklus untuk mentransfer data 16-bit, tetapi jauh lebih murah untuk diproduksi karena kompatibel dengan perangkat keras 8-bit yang sudah ada saat itu. Sama seperti 8086, 8088 juga memiliki bus alamat 20-bit dengan kemampuan mengakses memori 1 MB, serta menggunakan prefetch queue sepanjang 4-byte. Meskipun kinerjanya lebih rendah dibandingkan 8086, 8088 justru lebih populer karena dipilih oleh IBM sebagai prosesor utama untuk komputer pribadi IBM PC pertama pada tahun 1981, sehingga berperan penting dalam sejarah perkembangan komputer pribadi.

2.Tujuan [kembali]

Adapun tujuan dari materi ini adalah sebagai berikut :

  1. Jelaskan fungsi masing-masing pin 8086 dan 8088.  
  2. Pahami karakteristik DC mikroprosesor dan tunjukkan fan-out-nya ke keluarga logika umum.
  3. Gunakan chip pembangkit clock (8284A) untuk menyediakan clock bagi mikroprosesor.
  4. Hubungkan buffer dan latch ke bus.
  5. Interpretasikan diagram pewaktuan.
  6. Jelaskan status tunggu dan hubungkan sirkuit yang diperlukan untuk menghasilkan berbagai jumlah waktu tunggu.
  7. Jelaskan perbedaan antara operasi mode minimum dan maksimum.


3.Alat dan Bahan [kembali]

4. Teori [kembali]

  • PIN OUT DAN PIN FUNCTION

a.    The Pin-Out

    Mikroprosesor 8086 dan 8088 pada dasarnya memiliki rancangan pin-out yang hampir sama karena keduanya dikemas dalam bentuk 40-pin DIP. Perbedaan utama antara keduanya terletak pada ukuran bus data eksternal. Pada 8086, bus data yang digunakan adalah 16-bit dengan jalur AD₀ hingga AD₁₅, sedangkan pada 8088 hanya menggunakan bus data 8-bit dengan jalur AD₀ hingga AD₇. Perbedaan ini membuat 8086 lebih efisien dalam mentransfer data 16-bit dibandingkan 8088. Selain itu, terdapat perbedaan kecil pada sinyal kontrol, yaitu 8086 menggunakan pin M/IO sedangkan 8088 menggunakan pin IO/M. Perbedaan lainnya juga terdapat pada pin nomor 34, di mana pada 8086 pin tersebut difungsikan sebagai BHE/S7, sementara pada 8088 digunakan sebagai SS0. Dengan demikian, meskipun secara umum keduanya sangat mirip, detail pada bus data dan beberapa sinyal kontrol inilah yang membedakan 8086 dan 8088.

b.    Power Supply Requirement

    Mikroprosesor 8086 dan 8088 membutuhkan catu daya +5 volt dengan toleransi tegangan ±10 persen. Konsumsi arus maksimum untuk 8086 adalah sekitar 360 mA, sedangkan 8088 membutuhkan hingga 340 mA. Keduanya dirancang untuk beroperasi pada suhu lingkungan antara 32°F hingga 180°F, sehingga pada kondisi tertentu seperti musim dingin atau panas ekstrem, dibutuhkan versi dengan rentang suhu yang lebih luas. Untuk kebutuhan tersebut, tersedia varian 8086 dan 8088 dengan kemampuan beroperasi pada suhu yang lebih ekstrem. Selain itu, terdapat pula versi berbasis CMOS yang memiliki keunggulan dalam konsumsi daya rendah serta mendukung rentang suhu lebih lebar. Contohnya, 80C88 dan 80C86 yang hanya membutuhkan arus suplai sekitar 10 mA serta mampu berfungsi dengan baik pada rentang suhu ekstrem mulai dari –40°F hingga +225°F. 

c.    DC Characteristics

Karakteristik Input

    Mikroprosesor 8086 dan 8088 memiliki karakteristik input yang sesuai dengan standar komponen logika yang ada. Berdasarkan tabel, tegangan logika 0 diterima jika nilainya maksimal 0,8 V, sedangkan logika 1 dikenali jika tegangannya minimal 2,0 V. Arus input yang masuk sangat kecil, hanya sekitar ±10 μA, karena pin input pada prosesor ini bekerja seperti gerbang MOSFET yang hanya memerlukan arus bocor (leakage current). Artinya, masukan tidak membebani rangkaian lain dan dapat langsung dihubungkan dengan berbagai jenis sirkuit logika standar.

Karakteristik Output

    Tabel 9–2 menjelaskan karakteristik output dari semua pin output mikroprosesor 8086/8088. Level tegangan logika 1 pada 8086/8088 kompatibel dengan sebagian besar keluarga logika standar, tetapi level logika 0 tidak sepenuhnya sama. Pada rangkaian logika standar, logika 0 memiliki tegangan maksimum 0,4 V, sedangkan pada 8086/8088 nilai maksimumnya adalah 0,45 V. Dengan demikian, terdapat selisih sebesar 0,05 V.

    Perbedaan ini mengurangi ketahanan terhadap noise (noise immunity) dari standar 400 mV (0,8 V – 0,4 V) menjadi 350 mV (0,8 V – 0,45 V). Noise immunity adalah selisih antara tegangan output logika 0 dengan tegangan input logika 0. Pengurangan noise immunity ini dapat menyebabkan masalah jika digunakan kabel yang panjang atau jumlah beban yang terlalu banyak. Karena itu, direkomendasikan agar tidak lebih dari 10 beban (load) dengan jenis atau kombinasi apa pun yang dihubungkan ke satu pin output tanpa menggunakan buffer. Jika jumlah beban melebihi batas ini, noise akan mulai menimbulkan masalah pada timing sinyal.

    Tabel 9–3 mencantumkan beberapa keluarga logika yang umum serta rekomendasi jumlah fan-out dari 8086/8088. Komponen logika terbaik yang digunakan bersama output pin 8086/8088 adalah jenis LS, 74ALS, atau 74HC. Perlu diperhatikan bahwa beberapa arus fan-out dihitung dapat melayani lebih dari 10 unit load. Oleh karena itu, jika dibutuhkan fan-out lebih dari 10 unit, maka sistem harus menggunakan buffer agar tetap stabil.

d.    Pin Connections

abel 9–3 mencantumkan beberapa keluarga logika yang lebih umum dan fan-out yang direkomendasikan dari 8086/8088. Sink Current adalah Arus yang diserap (arus masuk ke input ketika logika rendah). Source Current adalah Arus yang diberikan (arus keluar dari output ketika logika tinggi). Sedangkan fan out adalah Jumlah maksimum input IC dari keluarga tersebut yang bisa digerakkan oleh satu output pin 8086/8088. Pilihan terbaik untuk jenis komponen yang digunakan dalam koneksi ke pin output 8086/8088 adalah komponen logika LS, 74ALS, atau 74HC. Perhatikan bahwa beberapa arus fan-out dihitung melebihi 10 unit beban. Oleh karena itu, disarankan agar jika fan-out melebihi 10 unit beban diperlukan, sistem harus di-buffer. Sink Current adalah Arus yang diserap (arus masuk ke input ketika logika rendah). Source Current adalah Arus yang diberikan (arus keluar dari output ketika logika tinggi). Sedangkan fan out adalah Jumlah maksimum input IC dari keluarga tersebut yang bisa digerakkan oleh satu output pin 8086/8088.

  • Koneksi Pin
  1. AD₇–AD₀
    Jalur bus alamat/data 8088 adalah bus alamat/data multipleks dari 8088 dan berisi 8 bit paling rendah dari alamat memori atau nomor port I/O ketika ALE aktif (logika 1) atau data ketika ALE tidak aktif (logika 0). Pin-pin ini berada pada kondisi impedansi tinggi selama hold acknowledge.
  2. A₁₅–A₈
    Bus alamat 8088 menyediakan bit alamat paruh atas yang tetap hadir sepanjang siklus bus. Jalur alamat ini masuk ke keadaan impedansi tinggi selama hold acknowledge.
  3. AD₁₅–AD₈
    Bus alamat/data 8086 menyusun bus alamat/data multipleks paruh atas. Jalur ini berisi alamat A₁₅–A₈ ketika ALE logika 1, dan berisi data D₁₅–D₈ ketika ALE logika 0. Jalur ini masuk ke keadaan impedansi tinggi selama hold acknowledge.

  4. A₁₉/S₆–A₁₆/S₃
    Jalur alamat/status adalah jalur multipleks yang menyediakan sinyal alamat A₁₉–A₁₆ dan juga sinyal status S₆–S₃. Jalur ini juga masuk ke keadaan impedansi tinggi selama hold acknowledge.
        a.) S₆ selalu logika 0.
        b.) S₅ menunjukkan kondisi bit IF (Interrupt Flag).
        c.) S₄ dan S₃ menunjukkan segmen mana yang sedang diakses selama siklus bus.

  5. RD
    Ketika sinyal read logika 0, bus data siap menerima data dari memori atau perangkat I/O. Pin ini mengambang ke impedansi tinggi selama hold acknowledge.

  6. READY
    Input READY digunakan untuk memasukkan wait state ke dalam mikroprosesor. Jika pin ini logika 0, prosesor berhenti pada wait state. Jika logika 1, tidak berpengaruh pada operasi.

  7. INTR
    Interrupt request digunakan untuk meminta interupsi perangkat keras. Jika INTR tetap logika tinggi saat IF=1, maka 8086/8088 akan mengeksekusi siklus pengakuan interupsi (INTA) setelah instruksi selesai.

  8. TEST
    Pin TEST digunakan oleh instruksi WAIT. Jika TEST=0, instruksi WAIT bertindak sebagai NOP. Jika TEST=1, instruksi WAIT menunggu hingga TEST=0. Biasanya dihubungkan ke prosesor numerik 8087.

  9. NMI
    Non-maskable interrupt mirip dengan INTR tetapi tidak dipengaruhi oleh bit IF. Jika aktif, NMI selalu menggunakan vektor interupsi 2.

  10. RESET
    Mengatur ulang mikroprosesor. Jika ditahan logika tinggi minimal 4 siklus clock, prosesor akan mulai mengeksekusi dari alamat FFFF0h dan menonaktifkan interupsi.

  11. CLK
    Pin clock menyediakan sinyal waktu dasar. Sinyal harus memiliki duty cycle 33% (tinggi 1/3, rendah 2/3) untuk sinkronisasi internal prosesor.

  12. VCC
    Catu daya +5 V ±10%.

  13. GND
    Ground sebagai jalur referensi. Terdapat dua pin ground pada 8086/8088 yang harus dihubungkan.

  14. MN/MX
    Memilih mode minimum atau maksimum. Jika mode minimum, pin MN/MX dihubungkan ke +5 V. Jika mode maksimum, dihubungkan ke GND.

  15. BHE/S₇
    Bus high enable digunakan untuk mengaktifkan byte paling signifikan (D₁₅–D₈) pada operasi baca/tulis. S₇ selalu logika 1.

  • Pin mode Minimum
    Operasi mode minimum 8086/8088 diperoleh dengan menghubungkan pin MN/ langsung ke +5.0 V. Jika pin ini dihunungkan ke +5.0 V melalui register pull-up, akan menyebabkan fungsi yang tidak benar.
  1. IO/M atau M/IO
    Menunjukkan apakah bus alamat berisi alamat memori atau port I/O.
  2. WR
    Sinyal write. Saat WR=0, data pada bus valid untuk ditulis ke memori atau I/O.
  3. INTA
    Interrupt acknowledge, sebagai respon terhadap INTR. Biasanya dipakai untuk mengaktifkan perangkat interupsi agar menaruh nomor vektor interupsi pada bus data.
  4. ALE
    Address latch enable, digunakan untuk latch alamat pada bus alamat/data.
  5. DT/ R̅
    Data transmit/receive, menunjukkan apakah prosesor sedang mengirim data (1) atau menerima data (0).
  6. DEN
    Data bus enable, mengaktifkan buffer bus data eksternal.
  7. HOLD
    Permintaan dari perangkat DMA agar prosesor menyerahkan kendali bus.
  8. HLDA
    Hold acknowledge, respon prosesor terhadap HOLD.
  9. SS0
    Pin status, setara dengan S0 di mode minimum. Digunakan bersama IO/M dan DT/ R̅ untuk mendekode siklus bus.
  • Pin Mode Maksimum
    Untuk mencapai mode maksimum saat digunakan dengan coprocessor eksternal, hubungkan pin MN/ ke ground.
  1. S₂, S₁, S₀
    Status bits yang menunjukkan fungsi siklus bus saat ini. Biasanya didekode oleh bus controller 8288.
  2. RQ/ G̅T̅1 dan RQ/ G̅T̅0
    Request/grant untuk akses memori langsung (DMA). Jalur ini bidirectional, digunakan untuk meminta dan memberikan izin DMA.
Tabel 9.4 Fungsi dan bit Status S3 dan S4
   Tabel 9-4 menjelaskan bahwa Prosesor 8086/8088 menggunakan jalur A₁₉/S₆–A₁₆/S₃ yang bersifat multiplexedArtinya, selain sebagai alamat, jalur ini juga bisa membawa bit status (S₃–S₆) yang memberikan informasi tambahan tentang segmen memori yang sedang digunakan dalam siklus bus tertentu. Bit S₃ dan S₄ secara khusus menunjukkan segmen mana yang sedang dipakai prosesor untuk operasi baca/tulis. Fungsi S₃ dan S₄ pada tabel adalah:
  • S₄=0, S₃=0 → Extra Segment (ES)
    Operasi sedang menggunakan Extra Segment.
  • S₄=0, S₃=1 → Stack Segment (SS)
    Operasi sedang menggunakan Stack Segment.
  • S₄=1, S₃=0 → Code Segment (CS) atau tidak ada segmen
    Digunakan saat prosesor sedang mengakses instruksi dari Code Segment.
  • S₄=1, S₃=1 → Data Segment (DS)
    Operasi sedang menggunakan Data Segment.
Tabel 9-5 Status Siklus Bus (8088) menggunakan SSO
Tabel 9-6 
TABEL 9–5 menunjukkan fungsi siklus bus pada prosesor 8088 dengan melihat kombinasi tiga sinyal:
  • IO/ M̅ → Menunjukkan apakah operasi menuju memori (M) atau I/O.

  • DT/ R̅ → Menunjukkan apakah prosesor sedang mentransmisikan data (DT) atau menerima data (R).

  • SS₀ → Status tambahan untuk melengkapi pengkodean siklus bus.

Kombinasi dari ketiga sinyal ini memberi tahu jenis operasi bus yang sedang berlangsung:
  • 000 → Interrupt acknowledge (pengakuan interupsi).

  • 001 → Memory read (membaca dari memori).

  • 010 → Memory write (menulis ke memori).

  • 011 → Halt (berhenti).

  • 100 → Opcode fetch (mengambil instruksi dari memori).

  • 101 → I/O read (membaca dari I/O).

  • 110 → I/O write (menulis ke I/O).

  • 111 → Passive (tidak ada aktivitas bus).

Tabel 9-6 ini berlaku untuk 8086/8088 dalam mode maksimum, di mana sinyal kendali bus dihasilkan oleh 8288 bus controller.

Tiga bit status S₂, S₁, S₀ menentukan fungsi siklus bus:

  • 000 → Interrupt acknowledge

  • 001 → I/O read

  • 010 → I/O write

  • 011 → Halt

  • 100 → Opcode fetch

  • 101 → Memory read

  • 110 → Memory write

  • 111 → Passive

Ini mirip dengan Tabel 9–5, hanya saja formatnya pakai status bit dari bus controller eksternal.

Tabel 9-7 menjelaskan status antrian instruksi (prefetch queue) pada prosesor.
Prosesor 8086/8088 punya mekanisme prefetch untuk mengambil instruksi lebih awal dan menyimpannya di antrian (queue).
Dua bit status QS₁ dan QS₀ menunjukkan kondisi antrian:
  • 00 → Queue idle (tidak ada aktivitas).
  • 01 → First byte of opcode (byte pertama dari instruksi baru diambil).
  • 10 → Queue empty (antrian kosong).
  • 11 → Subsequent byte of opcode (byte berikutnya dari instruksi dimuat ke antrian).

 


  • CLOCK GENERATOR (8284A)
The 8284A Clock Generator 
 
    Gambar 9-2 menampilkan pin out IC 8284A Clock Generator yaitu sebuah chip eksternal yang dirancang khusus untuk bekerja dengan mikroprocessor 8086/8088. Tanpa 8284A, sistem 8086/8088 membutuhkan rangkaian tambahan cukup banyak hanya untuk menghasilkan clock, reset, dan sinkronisasi.  

Fungsi utama 8284A 

  1. Clock Generation (sumber clock utama CPU)

    • Menghasilkan sinyal CLK yang diberikan ke 8086/8088.Frekuensi keluarannya adalah 1/3 dari frekuensi kristal yang dipasang pada pin X1 dan X2.

    • Duty cycle diset 33% (1/3 high, 2/3 low) → sesuai kebutuhan internal 8086/8088.

  2. Peripheral Clock (PCLK)

    • Memberikan sinyal clock ke perangkat eksternal (peripheral).

    • Frekuensinya 1/6 dari frekuensi kristal, dengan duty cycle 50%.

  3. RESET Synchronization

    • Menghasilkan sinyal RESET yang sesuai timing untuk prosesor.

    • Biasanya terhubung ke rangkaian RC atau tombol reset.

    • Menjamin prosesor mulai eksekusi dari alamat FFFF0H dengan kondisi stabil.

  4. READY Synchronization

    • Sinkronisasi sinyal RDY1/RDY2 dari memori atau I/O ke input READY pada CPU.

    • Digunakan untuk menambah wait state jika perangkat terlalu lambat merespons.

Penjelasan Pin-Pin Penting

Dari gambar:

  • X1, X2 → Input kristal eksternal (misalnya 15 MHz).  
  • EFI (External Frequency Input) → Alternatif input clock kalau tidak pakai kristal. 
  • F/C (Frequency/Crystal Select) → Pemilih sumber clock: kristal (X1–X2) atau EFI. 
  • CLK → Output clock utama ke prosesor (1/3 dari kristal). 
  • PCLK → Clock untuk peripheral (1/6 dari kristal). 
  • OSC → Output sinyal osilator, sama frekuensinya dengan kristal/EFI (sebelum dibagi) 
  • RESET (output) → Reset untuk 8086/8088. 
  • RES (input) → Input reset eksternal (dari RC atau tombol). 
  • RDY1, RDY2 → Sinyal “kesiapan” dari memori/I/O → diproses jadi READY. 
  • AEN1, AEN2 → Address Enable, untuk mengaktifkan RDY1/RDY2. 
  • ASYNC / CSYNC → Pengaturan sinkronisasi ready (1 atau 2 tahap sinkronisasi, dan sinkronisasi multiprosesor). 
  • READY → Output ke CPU, hasil sinkronisasi RDY1/RDY2. 
  • VCC, GND → Power supply +5 V.


Operation of the 8284A 

  • Operation of the Clock Section.

Operasi Bagian Clock. Bagian atas dari diagram logika menggambarkan bagian clock dan sinkronisasi dari generator clock 8284A. Seperti terlihat pada diagram, osilator kristal memiliki dua input yaitu X1 dan X2. Jika sebuah kristal dipasang pada X1 dan X2, osilator akan menghasilkan sinyal gelombang persegi dengan frekuensi yang sama dengan kristal tersebut. Sinyal gelombang persegi ini dialirkan ke gerbang AND dan juga ke inverting buffer yang menghasilkan sinyal keluaran OSC. Sinyal OSC ini terkadang digunakan sebagai masukan EFI untuk rangkaian 8284A lain dalam sebuah sistem.

Jika diperhatikan pada gerbang AND, ketika F/ berada pada logika 0, maka keluaran osilator akan diarahkan ke counter pembagi 3 (divide-by-3 counter). Namun, jika F/ berada pada logika 1, maka sinyal EFI yang akan diarahkan ke counter tersebut. Keluaran dari counter pembagi 3 ini digunakan untuk menghasilkan waktu sinkronisasi READY, memberikan sinyal masukan ke counter pembagi 2, serta menghasilkan sinyal CLK untuk mikroprosesor 8086/8088. Sinyal CLK ini juga dibuffer terlebih dahulu sebelum keluar dari generator clock.

Perlu diperhatikan bahwa keluaran dari counter pertama menjadi masukan bagi counter kedua. Kedua counter yang tersusun secara berantai ini akan menghasilkan sinyal keluaran pembagi 6 (divide-by-6) pada PCLK, yang merupakan sinyal clock untuk perangkat periferal. Gambar 9–4 memperlihatkan bagaimana 8284A dihubungkan dengan 8086/8088. Pada rangkaian tersebut, F/ dan CSYNC dihubungkan ke ground untuk memilih osilator kristal, sedangkan kristal 15 MHz digunakan untuk menyediakan sinyal clock normal sebesar 5 MHz untuk 8086/8088, serta sinyal clock periferal sebesar 2,5 MHz 

  • Operation of the Reset Section. 

Bagian reset dari 8284A sangat sederhana: bagian ini terdiri dari sebuah Schmitt trigger buffer dan sebuah rangkaian flip-flop tipe D. Flip-flop tipe D ini memastikan bahwa kebutuhan waktu (timing requirements) dari input RESET pada 8086/8088 dapat terpenuhi. Rangkaian ini memberikan sinyal RESET ke mikroprosesor pada tepi negatif (peralihan dari 1 ke 0) dari setiap clock. Mikroprosesor 8086/8088 sendiri melakukan sampling terhadap sinyal RESET pada tepi positif (peralihan dari 0 ke 1) dari clock; oleh karena itu, rangkaian ini sesuai dengan kebutuhan waktu dari 8086/8088.

Mengacu pada Gambar 9–4, terlihat bahwa sebuah rangkaian RC memberikan logika 0 ke pin input ketika daya pertama kali diberikan pada sistem. Setelah waktu singkat, input tersebut berubah menjadi logika 1 karena kapasitor terisi menuju +5,0 V melalui resistor. Sebuah saklar pushbutton memungkinkan mikroprosesor di-reset oleh operator.

Waktu reset yang benar mengharuskan agar input RESET berubah menjadi logika 1 tidak lebih dari empat siklus clock setelah daya sistem diberikan, dan ditahan pada kondisi tinggi (logika 1) setidaknya selama 50 mikrodetik. Dengan demikian, mikroprosesor memiliki waktu yang cukup untuk melakukan inisialisasi sistem secara benar sebelum memulai operasi normal.

Gambar 9-4 Clock Generator yang terhubung ke Microprocessor 8086/8088

        Pada Gambar 9–4. Perhatikan bahwa sirkuit RC memberikan sinyal logika 0 ke pin input saat daya pertama kali diterapkan ke sistem. Setelah beberapa saat, input menjadi sinyal logika 1 karena kapasitor mengisi daya menuju +5,0 V melalui resistor. Tombol tekan memungkinkan mikrokontroler direset oleh operator. Waktu reset yang benar memerlukan sinyal RESET menjadi logika 1 paling lambat empat siklus jam setelah daya sistem diterapkan, dan harus dipertahankan pada level tinggi selama setidaknya 50 μs. Flip-flop memastikan RESET menjadi tinggi dalam empat siklus jam, dan konstanta waktu RC memastikan sinyal tersebut tetap tinggi setidaknya 50 μs.

Bagian bagian pada gambar meliputi:

  1. Kristal 15 MHz (X1, X2)

    • Dipasang pada pin X1 dan X2 dari 8284A.

    • Kristal menghasilkan frekuensi dasar 15 MHz.

    • Sesuai desain internal 8284A, output CLK yang diberikan ke mikroprosesor adalah ⅓ dari frekuensi kristal, yaitu 5 MHz.

  2. Rangkaian Reset (RES Pin)

    • Terdiri dari resistor 10 kΩ, kapasitor 10 µF, dan dioda.

    • Rangkaian ini berfungsi sebagai power-on reset.

    • Saat catu daya +5V baru masuk, kapasitor masih kosong sehingga tegangan RES = 0 (aktif).

    • Seiring waktu, kapasitor terisi → tegangan naik → RES menjadi tidak aktif.

    • Dioda dipasang agar saat daya dimatikan, kapasitor cepat dikosongkan (discharge).

  3. CSYNC (Clock Synchronization)

    • Pada gambar ini dihubungkan ke ground.

    • Artinya, sistem tidak menggunakan sinkronisasi clock eksternal (hanya single processor system).

  4. Output 8284A

    • CLK (5 MHz): diberikan ke pin CLK mikroprosesor 8086/8088.

    • RESET: diberikan ke pin RESET mikroprosesor.

    • Jadi 8284A tidak hanya memberi clock, tapi juga memberikan sinyal reset yang valid dan ter-sinkronisasi.

Alur Kerja:
  1. Clock Generation

    • Kristal 15 MHz → masuk ke 8284A → dibagi 3 → menghasilkan 5 MHz clock untuk CPU.

  2. Reset Generation

    • Saat power-on, rangkaian RC memberikan pulsa rendah ke input RES.

    • 8284A menyinkronkan sinyal ini dengan clock, lalu menghasilkan sinyal RESET yang sesuai untuk 8086/8088.

  3. System Reset

    • RESET dari 8284A juga bisa digunakan sebagai system reset untuk perangkat lain di sekitar CPU.

 

 

  • BUS BUFFERING AND LATCHING
Demultiplexing the Buses

Bus alamat/data pada 8086/8088 bersifat multiplexed (digabungkan) untuk mengurangi jumlah pin yang dibutuhkan pada rangkaian terpadu mikroprosesor 8086/8088. Sayangnya, hal ini membebani perancang perangkat keras dengan tugas untuk mengekstraksi atau demultiplexing informasi dari pin-pin yang digabungkan tersebut. Mengapa bus tidak dibiarkan tetap multiplexed saja? Alasannya, memori dan I/O memerlukan agar alamat tetap valid dan stabil selama keseluruhan siklus baca atau tulis. Jika bus bersifat multiplexed, alamat akan berubah pada memori dan I/O, sehingga menyebabkan mereka membaca atau menulis data di lokasi yang salah.

Semua sistem komputer memiliki tiga jenis bus, yaitu:

  1. Bus alamat yang menyediakan alamat memori atau nomor port I/O bagi memori dan perangkat I/O.

  2. Bus data yang mentransfer data antara mikroprosesor dengan memori dan perangkat I/O dalam sistem.

  3. Bus kontrol yang menyediakan sinyal kontrol ke memori dan perangkat I/O.

Ketiga bus ini harus ada agar dapat menghubungkan mikroprosesor dengan memori dan I/O 


Demultiplexing pada 8088. Gambar 9–5 memperlihatkan mikroprosesor 8088 dan komponen yang dibutuhkan untuk melakukan demultiplexing pada bus-busnya. Dalam hal ini, dua buah 74LS373 atau 74LS573 transparent latches digunakan untuk melakukan demultiplexing pada koneksi bus alamat/data AD7–AD0 serta koneksi alamat/status yang digabung A19/S6–A16/S3.

Latch transparan ini, yang berfungsi seperti kawat ketika pin address latch enable (ALE) berada pada logika 1, akan meneruskan sinyal dari input ke output. Setelah beberapa saat, ALE kembali ke kondisi logika 0, yang menyebabkan latch menyimpan keadaan input pada saat perubahan ke logika 0 tersebut. Dalam hal ini, A7–A0 disimpan pada latch bagian bawah dan A19–A16 disimpan pada latch bagian atas.

Hasilnya adalah terbentuk sebuah bus alamat terpisah dengan koneksi A19–A0. Koneksi alamat ini memungkinkan 8088 untuk mengakses ruang memori sebesar 1 MB. Fakta bahwa bus data terpisah memungkinkan bus tersebut dihubungkan ke perangkat periferal 8-bit atau komponen memori apa pun. 

Demultiplexing pada 8086. Sama seperti 8088, sistem 8086 juga memerlukan bus alamat, data, dan kontrol yang terpisah. Perbedaannya terutama terletak pada jumlah pin yang dimultiplex. Pada 8088, hanya AD7–AD0 dan A19/S6–A16/S3 yang dimultiplex. Sedangkan pada 8086, pin yang dimultiplex meliputi AD15–AD0, A19/S6–A16/S3, dan S7. Semua sinyal ini harus didemultiplex.

Gambar 9–6 memperlihatkan 8086 yang telah didemultiplex dengan ketiga bus lengkap: bus alamat (A19–A0), bus data (D15–D0), dan bus kontrol. Rangkaian yang ditunjukkan pada Gambar 9–6 hampir identik dengan rangkaian pada Gambar 9–5, kecuali bahwa sebuah latch tambahan 74LS373 ditambahkan untuk melakukan demultiplex pada pin bus alamat/data AD15–AD8, dan sebuah input S7 ditambahkan ke latch 74LS373 bagian atas untuk memilih bank memori orde tinggi dalam sistem memori 16-bit milik 8086. 

The Buffered System 

Jika lebih dari 10 unit load dihubungkan ke salah satu pin bus, seluruh sistem 8086 atau 8088 harus dibuffer. Pin-pin yang didemultiplex sudah dibuffer oleh latch 74LS373 atau 74LS573, yang telah dirancang untuk menggerakkan bus dengan kapasitansi tinggi yang ditemui dalam sistem mikrokontroler. Arus keluaran buffer telah ditingkatkan sehingga lebih banyak unit load TTL dapat digerakkan: keluaran logika 0 dapat menyediakan arus sink hingga 32 mA, dan keluaran logika 1 dapat menyediakan arus source hingga 5,2 mA.

Sinyal yang sepenuhnya dibuffer akan memperkenalkan delay waktu ke sistem. Hal ini tidak menimbulkan kesulitan kecuali jika perangkat memori atau I/O digunakan, yang berfungsi pada kecepatan mendekati maksimum bus. Bagian 9–4 membahas masalah ini dan delay waktu yang terlibat secara lebih rinci.

The Fully Buffered 8088.

Gambar 9–7 menggambarkan mikroprosesor 8088 yang sepenuhnya dibuffer. Perhatikan bahwa delapan pin alamat yang tersisa, A15–A8, menggunakan buffer oktal 74LS244; delapan pin bus data, D7–D0, menggunakan buffer bus bidirectional oktal 74LS245; dan sinyal bus kontrol menggunakan buffer 74LS244. Sistem 8088 yang sepenuhnya dibuffer membutuhkan dua 74LS244, satu 74LS245, dan dua 74LS373. Arah dari 74LS245 dikendalikan oleh sinyal DT/ dan diaktifkan atau dinonaktifkan oleh sinyal .

 

The Fully Buffered 8086.

Gambar 9–8 menggambarkan mikroprosesor 8086 yang sepenuhnya dibuffer. Pin alamatnya sudah dibuffer oleh latch alamat 74LS373; bus datanya menggunakan dua buffer bus bidirectional oktal 74LS245; dan sinyal bus kontrol, , , dan , menggunakan buffer 74LS244. Sistem 8086 yang sepenuhnya dibuffer membutuhkan satu 74LS244, dua 74LS245, dan tiga 74LS373. 8086 memerlukan satu buffer lebih banyak dibandingkan 8088 karena adanya delapan koneksi bus data tambahan, D15–D8. Selain itu, 8086 juga memiliki sinyal yang dibuffer untuk pemilihan bank memori.

 

  • BUS TIMING 
Basic Bus Operation

Ketiga bus pada 8086 dan 8088 (bus address/alamat, bus data, dan bus kontrol) berfungsi persis sama seperti pada mikroprosesor lainnya. Jika data ditulis ke memori (lihat timing sederhana untuk write pada Gambar 9–9), mikroprosesor mengeluarkan alamat memori pada bus alamat, mengeluarkan data yang akan ditulis ke memori pada bus data, dan mengirim sinyal write (WR) ke memori dengan = 0 untuk 8088 dan = 1 untuk 8086.

Jika data dibaca dari memori (lihat timing sederhana untuk read pada Gambar 9–10), mikroprosesor mengeluarkan alamat memori pada bus alamat, mengirim sinyal read memory (RD), dan menerima data melalui bus data. 

Timing in General

Mikroprosesor 8086/8088 menggunakan memori dan I/O dalam periode yang disebut siklus bus (bus cycles). Setiap siklus bus setara dengan empat periode clock sistem (T states). Mikroprosesor yang lebih baru membagi siklus bus menjadi sesedikit dua periode clock. Jika clock dioperasikan pada 5 MHz (frekuensi operasi dasar untuk kedua mikroprosesor ini), satu siklus bus 8086/8088 selesai dalam 800 ns.

Ini berarti mikroprosesor membaca atau menulis data antara dirinya dengan memori atau I/O pada kecepatan maksimum 1,25 juta kali per detik. (Karena adanya antrian internal, 8086/8088 dapat mengeksekusi hingga 2,5 juta instruksi per detik [MIPS] secara burst.) Versi lain dari mikroprosesor ini dapat bekerja pada laju transfer yang jauh lebih tinggi karena frekuensi clock yang lebih tinggi.


Read Timing

Gambar 9–11 juga menggambarkan timing read untuk mikroprosesor 8088. Timing read pada 8086 identik, kecuali bahwa 8086 memiliki 16 bit bus data dibandingkan delapan pada 8088. Jika diperhatikan dengan seksama, diagram timing ini memungkinkan Anda mengidentifikasi semua peristiwa utama yang dijelaskan untuk setiap T state.

Hal terpenting yang terkandung dalam diagram timing read adalah jumlah waktu yang diberikan untuk memori atau I/O membaca data. Memori dipilih berdasarkan waktu aksesnya, yaitu jumlah waktu tetap yang diberikan mikroprosesor agar memori dapat mengakses data untuk operasi read. Oleh karena itu, sangat penting bahwa memori yang dipilih sesuai dengan batasan sistem.

Diagram timing mikroprosesor tidak menyediakan daftar waktu akses memori secara langsung. Sebagai gantinya, perlu digabungkan beberapa waktu untuk memperoleh waktu akses memori. Untuk menemukan waktu akses memori


 Untuk menentukan waktu akses (access time) pada diagram ini, pertama-tama tentukan titik pada T3 ketika data diambil (sampled). Jika Anda memperhatikan diagram timing dengan seksama, akan terlihat sebuah garis yang memanjang dari akhir T3 ke bus data. Pada akhir T3, mikroprosesor mengambil sampel dari bus data.

Waktu akses memori dimulai ketika alamat muncul pada bus alamat memori dan berlanjut hingga mikroprosesor mengambil sampel data memori pada T3. Sekitar tiga T state berlalu antara kedua waktu ini (lihat Gambar 9–12 untuk rincian waktu). Alamat tidak muncul hingga waktu TCLAV (110 ns jika clock 5 MHz) setelah awal T1. Ini berarti waktu TCLAV harus dikurangi dari tiga T state (600 ns) yang memisahkan munculnya alamat (T1) dan pengambilan sampel data (T3).

Selain itu, satu waktu lain juga harus dikurangi: waktu setup data (TDVCL), yang terjadi sebelum T3. Dengan demikian, waktu akses memori adalah tiga T state dikurangi jumlah TCLAV dan TDVCL. Karena TDVCL adalah 30 ns dengan clock 5 MHz, waktu akses memori yang diizinkan hanya 460 ns (access time = 600 ns - 110 ns - 30 ns).

Perangkat memori yang dipilih untuk dikoneksikan ke 8086/8088 yang beroperasi pada 5 MHz harus mampu mengakses data dalam waktu kurang dari 460 ns, karena adanya delay yang diperkenalkan oleh decoder alamat dan buffer dalam sistem. Sebaiknya terdapat margin sekitar 30–40 ns untuk operasi sirkuit ini. Oleh karena itu, kecepatan memori sebaiknya tidak lebih lambat dari sekitar 420 ns agar dapat bekerja dengan benar bersama mikroprosesor 8086/8088. 

Write Timing 

Gambar 9–13 menggambarkan diagram timing write untuk mikroprosesor 8088. (Sekali lagi, 8086 hampir identik, sehingga tidak perlu ditampilkan dalam diagram timing terpisah.)

Perbedaan utama antara timing read dan write sangat kecil. Sinyal strobe digantikan oleh strobe , bus data berisi informasi untuk memori daripada informasi dari memori, dan tetap berada pada logika 1 alih-alih logika 0 sepanjang siklus bus.

Saat menghubungkan beberapa perangkat memori, timing dapat menjadi sangat kritis antara saat sinyal menjadi logika 1 dan saat data dihapus dari bus data. Hal ini terjadi karena data memori ditulis pada tepi trailing dari strobe. Menurut diagram timing, periode kritis ini adalah TWHDX atau 88 ns ketika 8088 dioperasikan dengan clock 5 MHz. Waktu hold seringkali jauh lebih kecil dari ini; bahkan sering 0 ns untuk perangkat memori. Lebar strobe adalah TWLWH atau 340 ns pada frekuensi clock 5 MHz. Nilai ini kompatibel dengan sebagian besar perangkat memori yang memiliki waktu akses 400 ns atau kurang.


 

  • READY AND THE WAIT STATE
Wait state adalah periode clock tambahan, yang disisipkan di antara T₂ dan T₃ untuk memperpanjang siklus bus. Jika satu wait state disisipkan, maka waktu akses memori yang biasanya 460 ns dengan clock 5 MHz, akan diperpanjang sebesar satu periode clock (200 ns) menjadi 660 ns.

INPUT READY 

    Masukan READY diambil sampelnya pada akhir T₂ dan sekali lagi, jika diperlukan, di tengah Tw. Jika READY bernilai logika 0 pada akhir T₂, maka T₃ ditunda dan Tw disisipkan di antara T₂ dan T₃. READY kemudian diambil sampelnya lagi di tengah Tw untuk menentukan apakah keadaan berikutnya adalah Tw lagi atau T₃. READY diuji terhadap logika 0 pada transisi clock dari 1 ke 0 di akhir T₂, dan diuji terhadap logika 1 pada transisi clock dari 0 ke 1 di tengah Tw. 

    Masukan READY pada 8086/8088 memiliki persyaratan waktu yang ketat. Diagram waktu pada Gambar 9–14 menunjukkan bahwa READY menyebabkan satu wait state (Tw), beserta waktu setup dan hold yang diperlukan dari clock sistem. Persyaratan waktu untuk operasi ini dipenuhi oleh rangkaian sinkronisasi READY internal dari 8284A clock generator. Ketika 8284A digunakan untuk READY, masukan RDY (ready input ke 8284A) terjadi pada akhir setiap keadaan T. 


 

RDY and the 8284A 

    RDY adalah masukan ready yang telah disinkronkan ke 8284A clock generator. Diagram waktu untuk masukan ini ditunjukkan pada Gambar 9–15. Meskipun berbeda dari waktu untuk masukan READY pada 8086/8088

 

    Gambar 9–16 kembali menggambarkan struktur internal dari 8284A. Bagian bawah diagram ini adalah rangkaian sinkronisasi READY. Pada sisi paling kiri, sinyal RDY1 dan masukan kontrolnya di-AND-kan, begitu juga sinyal RDY2 dengan AEN2 di-AND-kan. Keluaran dari gerbang AND tersebut kemudian di-OR-kan untuk menghasilkan masukan ke satu atau dua tahap sinkronisasi.

Agar diperoleh logika 1 pada masukan flip-flop, RDY1 yang di-AND-kan dengan masukan kontrolnya harus aktif, atau RDY2 yang di-AND-kan dengan AEN2 harus aktif.

Masukan ASYNC memilih jumlah tahap sinkronisasi:

  • Jika bernilai logika 1 → hanya satu tahap sinkronisasi yang digunakan.

  • Jika bernilai logika 0 → digunakan dua tahap sinkronisasi.

Jika hanya satu tahap yang dipilih, maka sinyal RDY ditahan agar tidak mencapai pin READY pada 8086/8088 sampai tepi negatif berikutnya dari clock.

Jika dua tahap dipilih, maka tepi positif pertama dari clock akan menangkap RDY pada flip-flop pertama. Keluaran dari flip-flop pertama kemudian diteruskan ke flip-flop kedua, sehingga pada tepi negatif berikutnya dari clock, flip-flop kedua akan menangkap RDY


  • MINIMUM MODE VERSUS MAXIMUM MODE

    Terdapat dua mode operasi yang tersedia untuk mikroprosesor 8086/8088: minimum mode dan maximum mode.

Operasi minimum mode diperoleh dengan menghubungkan pin pemilih mode ke +5,0 V, sedangkan maximum mode dipilih dengan menghubungkan pin tersebut ke ground. Kedua mode ini mengaktifkan struktur kontrol yang berbeda pada mikroprosesor 8086/8088.

Mode operasi yang disediakan oleh minimum mode mirip dengan yang ada pada 8085A, yaitu mikroprosesor 8-bit terbaru dari Intel pada saat itu. Sementara itu, maximum mode bersifat unik dan dirancang untuk digunakan ketika terdapat sebuah koprosesor di dalam sistem. Perlu dicatat bahwa maximum mode dihapus dari keluarga mikroprosesor Intel mulai dari 80286.

MINIMUM MODE OPERATION

Operasi minimum mode adalah cara paling murah untuk mengoperasikan mikroprosesor 8086/8088. Biayanya lebih rendah karena semua sinyal kontrol untuk memori dan I/O dihasilkan langsung oleh mikroprosesor. Sinyal kontrol ini identik dengan yang dimiliki Intel 8085A, sebuah mikroprosesor 8-bit generasi sebelumnya.

Mode minimum memungkinkan periferal 8-bit 8085A digunakan bersama dengan 8086/8088 tanpa memerlukan pertimbangan khusus apa pun.

MAXIMUM MODE OPERATION 

Operasi maximum mode berbeda dari minimum mode karena beberapa sinyal kontrol harus dihasilkan secara eksternal. Hal ini membutuhkan tambahan sebuah bus controller eksternal, yaitu 8288 bus controller.

Pada 8086/8088, jumlah pin tidak cukup untuk melakukan kontrol bus dalam maximum mode karena beberapa pin diganti dengan pin baru dan fitur baru. Maximum mode hanya digunakan ketika sistem berisi koprosesor eksternal, seperti 8087 arithmetic coprocessor.

 

5.Rangkaian dan Video [kembali]

6.File [kembali]


[menuju awal]


 





 

No comments:

Post a Comment

 BAHAN PRESENTASI MATA KULIAH ELEKTRONIKA OLEH ZIKRI AHMAD SYAIFULLAH 2310952062 DOSEN PENGAMPU DR.DARWISON,M.T Referensi 1. Darwison, 2010...