Estu Sinduningrum, ST, MT Mobile No. :
E-mail : estu.ningrum@uhama.ac.id
Outline
2
Kompleksitas Procesor Mikroprosesor 8086
Perkembangan Mikroprosesor
Estu Sinduningrum, ST, MT
Definisi Mikroprosesor
Perkembangan Microprocessor
Intel 4004 th.1969 Intel 8008 th.1972
2300 transistor 29000 transistor 29000 transistor
Intel 8088 th.1981
Intel 286 th.1982
134000 transistor
Intel 386 th.1985
275000 transistor
Intel 486 th.1989 1,2 juta transistor
3
Estu Sinduningrum, ST, MT
4 TG 1
Perkembangan Processor lanjutan
Intel 586 Thn 1993
Intel P-II Thn 1997
Intel P-IV Thn 2000
Intel P-III Thn 1999
Intel Pentium-M Thn 2003
Intel Pentium-D Thn 2005
Intel Itanium Thn 2006
5
Estu Sinduningrum, ST, MT
TG 1
Kompleksitas Processor
Microprocessor Intel 4004
dengan 2300 transistor Thn 1969
Microprocessor Intel Itanium
dengan 330 juta transistor Thn. 2005
6
Estu Sinduningrum, ST, MT
TG 1
TIPE
MICROPROCESSOR Tahun SPEED WORD
LENGTH Jumlah
Transistor
Kapasitas Instruksi
(MIPS)
Intel 4004 1969 108 KHz 4-bit 2,300 .06
Intel 8008 1972 200 KHz 8-bit 3,500 .06
Intel 8080 1974 2 MHz 8-bit 6,000 .64
Intel 8086 1978 4.47 MHz 16-bit 29,000 .66
Intel 8088 1981 4.47 MHz 16-bit 29,000 .75
Intel 80286 1982 12 MHz 16-bit 134,000 2.66
Intel 80386 1985 16-33 MHz 32-bit 275,000 4
Intel 80486 (i486) 1989 20-100 MHz 32-bit 1.2 Million 70
Intel 80586 (Pentium) 1993 75-200 MHz 32-bit 3.3 Million 126 - 203 Intel Pentium Pro 1995 150-200 MHz 32-bit 5.5 Million 300 Intel Pentium MMX 1997 166-233 MHz 32-bit 4.5 Million -
Intel Pentium II 1997 233-450 MHz 32-bit 7.5 Million -
Intel Pentium III 1999 450-933 MHz 32-bit > 9.5 Million - Intel Itanium Processor 2000 1 GHz 64-bit 15,000,000 1,200
7
Estu Sinduningrum, ST, MT
9
Estu Sinduningrum, ST, MT
ARSITEKTUR INTERNAL MIKROPROSESOR 8086
29000 transistor
Intel 8088 th.1981
11
Estu Sinduningrum, ST, MT
• Intel 8086 adalah mikroprosesor 16 bit, di mana dia dapat bekerja secara internal menggunakan operasi 16 bit dan secara eksternal dapat mentransfer data 16 bit melalui bus data.
• Prosesor 8086 dapat dihubungkan dengan bus alamat yang berukuran 20 bit, sehingga mampu mengalamati memori maksimal 220 = 1.048.576 byte (1 MB).
• Diagram blok arsitektur 8086 dapat dilihat pada Gambar . Mikroprosesor 8086 terbagi atas 2 unit, yaitu unit antarmuka bus (bus interface unit, BIU) dan unit pengeksekusi (execution unit, EU).
PENDAHULUAN
12
Estu Sinduningrum, ST, MT
Unit Antarmuka Bus (BIU)
Unit ini merupakan bagian yang berhubungan
langsung dengan “pihak luar”: bus alamat dan bus data.
Tugas BIU :
• mengirim alamat ke bus alamat,
• mengambil instruksi (fetch) dari memori,
• membaca data dari port dan memori, serta
• menulis data ke port dan memori (menangani transfer data antara bus dan unit eksekusi).
13
Estu Sinduningrum, ST, MT
BIU tersusun atas:
Instruction Stream Byte Queue (ISBQ).
BIU memfetch instruksi dari memori sebanyak- banyaknya 6 buah instruksi ke depan. Hal ini dilakukan agar eksekusi progam menjadi lebih cepat.
Instruksi yang sudah diambil ini ditaruh di ISBQ yang berupa 6 buah register first-in-first-out.
14
Estu Sinduningrum, ST, MT
•
BIU dapat melakukan fetching selagi EU menerjemahkan dan mengeksekusi instruksi yang tidak membutuhkan penggunaan bus.
•
Kegiatan fetching instruksi berikutnya selagi menjalankan suatu instruksi disebut sebagai:
pipelining.
•
Pada mikroprosesor yang lebih baru, ukuran ISBQ
tidak hanya 6 byte tetapi mencapai 512 byte, ini
efektif untuk program yang mempunyai banyak
kalang (struktur program yang berulang).
Register segmen
BIU berisi 4 buah register segmen 16 bit, yaitu:
• code segment (CS),
• data segment (DS),
• extra segment (ES),
• stack segment (SS).
Secara umum, suatu program terdiri atas 4 bagian:
1) segmen code berisi instruksi (code);
2) segmen data, berisi data yang telah dialokasikan sebelumnya (statik);
3) segmen ekstra, untuk variabel dinamik;
4) segmen stack yang dipakai untuk menyimpan informasi pada saat pemanggilan subrutin.
16
Estu Sinduningrum, ST, MT
Register segmen.
Instruction Pointer (IP), adalah register berisi informasi offset yang bersama-sama CS menunjuk posisi dalam memori di mana instruksi berikutnya berada.
Sistem komputer 8086 mempunyai bus alamat 20 bit, tetapi ukuran register - termasuk register alamat (memory address register) – yang dimilikinya hanya 16 bit, lantas bagaimana cara mengatasinya.
17
Estu Sinduningrum, ST, MT
•
Cara pemberian alamat 20 bit dilakukan menggunakan 2 komponen alamat: segmen dan offset, yang masing- masing berukuran 16 bit. BIU akan menggeser ke kiri nilai segmen sebanyak 4 bit (mengalikan dengan 16), kemudian menambahkan offset untuk memperoleh alamat fisik memori yang dikirimkan melalui bus alamat.
•
Untuk lebih jelasnya, diberi contoh untuk memberi alamat fisik $38AB4, segmen dapat diisi dengan angka
$348A, dan offset diisi dengan angka $4214,
18
Estu Sinduningrum, ST, MT
Cara penulisan kombinasi segmen dan offset adalah:
segmen:offset
19
Estu Sinduningrum, ST, MT
Unit Eksekusi (EU)
Unit ini memberitahu BIU di mana mengambil instruksi dan data, menerjemahkan kode instruksi, dan menjalankannya. EU tersusun atas:
• Dekoder instruksi, yang mengambil urut-urutan instruksi dari ISBQ kemudian menerjemahkannya ke runtutan aksi yang harus dikerjakan oleh EU.
• Sistem kontrol, merupakan rangkaian yang mengendalikan kerja mikroprosesor berdasarkan instruksi yang telah diterjemahkan oleh dekoder instruksi tadi.
Unit Eksekusi (EU)
• Arithmetic Logic Unit (ALU), yaitu bagian dari mikroprosesor yang dapat melakukan operasi matematis (misalnya operasi penjumlahan, pengurangan, perkalian, dan pembagian) dan logika (misalnya operasi AND, OR, XOR, geser, dan rotasi) 16 bit.
21
Estu Sinduningrum, ST, MT
• Register flag (bendera), yaitu register flip-flop 16 bit yang menunjukkan kondisi yang dihasilkan oleh eksekusi suatu operasi oleh EU.
• flag juga mengatur beberapa operasi tertentu.
• Terdapat 9 flag dalam register flag 8086, seperti terlihat pada Gambar III.
22
Estu Sinduningrum, ST, MT
Sebanyak 6 buah flag merupakan flag kondisi yang menunjukkan keadaan setelah eksekusi suatu instruksi, yaitu: Carry Flag (CF), Parity Flag (PF), Auxiliary Carry Flag (AF), Zero Flag (ZF), Sign Flag (SF), dan Overflow Flag (OF).
Sedangkan, 3 buah flag sisanya berupa flag kontrol yang mengendalikan operasi tertentu, yaitu: Single Step Trap Flag (TF), Interrupt Flag (IF), dan String Direction Flag (DF).
23
Estu Sinduningrum, ST, MT
1) CF akan diset (bernilai 1) jika sebuah operasi menghasilkan simpanan (carry) melebihi bit terpenting (most significat bit, MSB, atau bit 15), dan sebaliknya direset (bernilai 0) apabila tidak ada simpanan.
2) PF diset jika suatu operasi memberikan hasil dengan parity genap, dan direset jika hasilnya berparity ganjil.
3) AF mirip dengan CF, namun diset oleh operasi BCD (binary coded decimal).
4) ZF diset jika suatu operasi menghasilkan nol.
5) SF merupakan nilai MSB hasil operasinya, yang menunjukkan tanda; diset jika hasil bertanda negatif dan direset jika hasil bertanda positif.
6) OF diset jika hasil operasi melebihi tempat yang disediakan.
24
Estu Sinduningrum, ST, MT
• Flag kondisi akan digunakan oleh perintah tertentu untuk menentukan pencabangan atau lompatan.
• Sedangkan flag kontrol dapat diatur dengan perintah tertentu.
1) Jika TF diset bernilai 1, maka mikroprosesor akan bekerja langkah demi langkah, sehingga dapat digunakan untuk mencek jalannya suatu program.
2) IF digunakan untuk mengatur apakah kerja mikroprosesor dapat diinterupsi atau tidak. Hal yang menyangkut interupsi akan dijelaskan secara lebih detil pada bab berikutnya.
3) DF digunakan untuk menentukan arah operasi string.
Register serbaguna
merupakan register yang dapat digunakan untuk menyimpan data yang akan diolah atau hasil suatu operasi oleh ALU.
Terdiri atas 8 buah register 8 bit, yaitu AH, AL, BH, BL, CH, CL, DH, dan DL.
Register-register ini juga dapat digunakan secara berpasangan sehingga membentuk register 16 bit, yaitu; AX (gabungan dari AH dan AL), BX, CX, dan DX.
26
Estu Sinduningrum, ST, MT
Register serbaguna
a)
AX biasanya digunakan untuk menyimpan hasil operasi, sehingga disebut akumulator.
b)
CX biasanya digunakan untuk pencacah untuk keperluan perulangan/kalang (loop), sehingga disebut counter.
c)
BX dan DX biasanya digunakan sebagai offset dari alamat data di memori (dengan segmen DS).
27
Estu Sinduningrum, ST, MT
Register pointer dan indeks
terdiri atas
1) Stack Pointer (SP),
2) Base Pointer (BP),
3) Source Index (SI), dan
4) Destination Index (DI).
Stack (tumpukan) adalah bagian dari memori yang digunakan untuk menyimpan informasi alamat program yang ditinggalkan pada saat terjadi pemanggilan subrutin/ subprogram. Alamat tumpukan terluar dari stack ditunjuk oleh SS:SP..
28
Estu Sinduningrum, ST, MT
Register pointer dan indeks
BP digunakan sebagai offset yang menunjuk ke parameter-parameter fungsi yang dipanggil.
SI dan DI biasanya digunakan sebagai offset (masing-masing berpasangan dengan ES dan DS) yang menunjuk ke suatu variabel/data untuk operasi string (larik data).
29
Estu Sinduningrum, ST, MT
konfigurasi pin 8086
Diagram Pin Mikroprosesor 8086
29000 transistor
Intel 8088 th.1981
Mikroprosesor 8086 mempunyai 40 kaki (pin) yang masing-masing digunakan untuk melewatkan sinyal tertentu. Setiap pin sinyal diberi nama berupa mnemonic yang sesuai dengan fungsinya.
Untuk menghemat jumlah pin, maka antara pin untuk data dan pin untuk alamat digabungkan dengan diberi nama AD0-AD15 (dari kata address data), sedangkan 4 bit alamat sisanya diberi nama A16-A19 (pin-pin ini juga digunakan untuk sinyal status).
32
Estu Sinduningrum, ST, MT
Mikroprosesor 8086 juga memerlukan sinyal detak (clock) secara eksternal dengan frekuensi sampai 10 MHz.
Sinyal clock ini dilewatkan ke pin CLK yang ada pada kaki nomor 19.
Mikroprosesor 8086 dapat digunakan dalam 2 mode, minimum dan maksimum. Mode ini ditentukan dengan memberi nilai pada pin MX/MN = 1 (dihubungkan dengan Vcc) untuk mode minimum dan nilai 0 (ditanahkan) untuk mode maksimum.
Pin INTR dan NMI digunakan untuk menginterupsi kerja mikroprosesor.
33
Estu Sinduningrum, ST, MT
Kebanyakan aplikasi menggunakan mode minimum.
Pada mode ini, nama pin yang dipakai pada kaki nomor 24 sampai dengan 31 adalah yang berada di dalam tanda kurung (sebelah kanan).
Sinyal RESET digunakan untuk memerintah mikroprosesor agar melakukan inisialisasi dengan cara memberi nilai 0 pada register DS, SS, ES, IP, dan flag; serta nilai $FFFF untuk CS.
Sinyal INTR (interrupt) berupa permintaan untuk melakukan interupsi yang dapat dianulir /tidak dipenuhi jika flag IF direset.
34
Estu Sinduningrum, ST, MT
sinyal NMI (non maskable interrupt) tidak dapat ditutup/ditolak, artinya interupsi harus dilakukan.
Pin INTA (interrupt acknowledge) digunakan oleh mikroprosesor untuk menjawab bahwa permintaan interupsi dari sinyal INTR dapat diterima/dijalankan.
Pin IO/M (memory/IO), RD (read), dan WR (write) digunakan untuk mengendalikan memori dan port pada saat pemindahan data.
35
Estu Sinduningrum, ST, MT
Sinyal IO/M digunakan untuk memilih apakah memori atau port yang akan diakses oleh mikroprosesor.
Jika IO/M= 1 maka mengakses memori,
Jika IO/M =0 maka mengakses port IO.
Sinyal RD akan diaktifkan (bernilai rendah) jika operasi yang dilakukan adalah membaca, yaitu transfer data dari memori/port ke mikroprosesor.
Sementara sinyal WR diaktifkan (bernilai rendah) digunakan untuk menulis, atau tranfer data dari mikroprosesor ke memori/port.
36
Estu Sinduningrum, ST, MT
Sinyal ALE (Address Latch Enable) digunakan oleh
komponen lain untuk memegang nilai alamat ke dalam bus alamat, pada saat pengiriman alamat ke pin-pin AD0-AD15 dan A16-A19.
Sesaat kemudian sinyal ALE direndahkan karena alamat sudah dipegang dalam bus alamat. Sekarang pin AD dapat digunakan untuk menampung data dari memori atau port.
Pin DEN (Data Enable) digunakan untuk memindahkan data dari bus data ke mikroprosesor atau sebaliknya . Sinyal ini dibuat aktif saat sinyal RD diberikan, dan dikembalikan ke tinggi ketika data sudah dipindahkan. Pada operasi tulis, nilai sinyal DEN aktif selama sinyal WR diberikan.
37
Estu Sinduningrum, ST, MT
38
Estu Sinduningrum, ST, MT
39
Estu Sinduningrum, ST, MT
40
Estu Sinduningrum, ST, MT
1. Ukuran bus data internal (internal data bus size): Jumlah saluran yang terdapat dalam mikroprosesor yang menyatakan jumlah bit yang dapat ditransfer antar komponen di dalam mikroprosesor.
2. Ukuran bus data eksternal (external data bus size): Jumlah saluran yang digunakan untuk transfer data antar komponen antara mikroprosesor dan komponen-komponen di luar mikroprosesor.
3. Ukuran alamat memori (memory address size): Jumlah alamat memori yang dapat dialamati oleh mikroprosesor secara langsung.
4. Kecepatan clock (clock speed): Rate atau kecepatan clock untuk menuntun kerja mikroprosesor.
Karakteristik Mikroprosesor
41
Estu Sinduningrum, ST, MT
5. Fitur-fitur spesial (special features): Fitur khusus untuk mendukung aplikasi tertentu seperti fasilitas pemrosesan floating point, multimedia dan sebagainya. Prosesor komputer dalam jangka waktu yang lama dibangun dari kecil dan menengah berisi IC setara dengan sampai beratus transistor.
Integrasi dari seluruh CPU ke sebuah chip tunggal sehingga sangat mengurangi biaya kapasitas pemrosesan. Dari awal yang sederhana, terus meningkat dalam kapasitas mikroprosesor telah diberikan bentuk-bentuk lain dari komputer hampir sepenuhnya usang, dengan satu atau lebih mikroprosesor sebagai elemen pemrosesan dalam segala hal dari yang terkecil embedded system dan perangkat genggam untuk mainframe terbesar dan superkomputer..
Karakteristik Mikroprosesor
42
Estu Sinduningrum, ST, MT
5. Sejak awal 1970-an, peningkatan kapasitas mikroprosesor telah diketahui secara umum mengikuti Hukum Moore, yang menunjukkan bahwa kompleksitas sirkuit terpadu, yang berkaitan dengan komponen minimum biaya, dua kali lipat setiap dua tahun. Pada akhir 1990-an, dan dalam performa tinggi segmen mikroprosesor, panas yang dihasilkan (TDP), karena beralih kerugian, kebocoran arus statis, dan faktor lainnya, muncul sebagai kendala pembangunan terkemuka.
Karakteristik Mikroprosesor
43
Estu Sinduningrum, ST, MT
Buatlah Resume dari video berikut ini!!!
TUGAS KELOMPOK
Video Membuat microprocesor