Download - mikrominggu2
Pendahuluan
Tujuan :Setelah menyelesaikan perkuliahan , mahasiwa diharapkan
Mengetahui evolusi mikroprosessor intel Memahami arsitektur dan organisasi komputer Memahami arsitektur mikroprosessor Memhami sistem memori mikroprosessor intel
1. Evolusi mikroprosessor Intel
Tahun 1969.
the 4004.
4 bit Memory 4096 lokasi 4 bit 45 instruksi Penggunaan untuk video game dan kontroller
Tahun 8008
8 bit Memori 16 K x 8 48 set instruksi
Tahun 19738080, moderen
8 bit Memory lebih panjang dari 8008 Istruksi lebih banyak dari 8008 Lebih cepat dari 8008 8008 memerlukan 20 µs untuk Addition, 8080 2 µs
19778085, sedikit lebih maju dari 8080
8 bit Memori sama dengan 8080 Instruksi sama dengan 8080 Lebih cepat dari 8080, Addition 1,3 µs
19788086
16 bit Memory 1M byte Instruksi Multiplication dan Division Register lebih banyak, mempercepat operasi dan program lebih effisien Keceptan mengeksekusi instruksi, 400 ns Operasi real mode Kecepatan eksekusi, 2,5 MIPs (millions of instruction per second)
1979
8088, sama seperti 8086, 8 bit dat bus80186
Versi cepat 8086 20 bit adress bus Peningkatn set instruksi
Tahun 198280286
16 bit, terakhir Mememory managment unit 16 M byte memori Kecepatan eksekusi 8 MIPs
Tahun 198580386
32 bit 32 bit adress bus (4 G byte) dan 32 bus data Arithmatic coprocessor Paging memori Clock 33 Mhz
198980486, peningkatan 80386
32 bit Memory 4 G byte Arithmatic coprocessor Cache memory 8K Clok 66Mhz Kecepatn eksekusi, 54 MIPs
1993Pentium (80586)
32 bit 64 bit data bus Double cache memory, 8 K byte data, 8 K byte instrusi
2. Arsitektur dan organisasi komputer Komputer Aristektur komputer adalah atribut komputer yg dilihat oleh programmer bahasa mesin seprti dijelaskan pada prinsip operasi komputer.Arsitektur komputer meliputi : set instruksi (instruction set), format instruksi (instruction format), kode operasi (operation code), dan mode pengalamatan (adressing mode), semua register dan lokasi memori yg bisa secara langsung dimanipulasi atau ditest oleh program
bahasa mesin, dan format data.Organisasi komputer memperlihattkan interkoneksi dari elemen-elemen sistem komputer. Gambar 1 memperlihatkan organisasi komputer.
Gbr.1. Organisasi komputer
CPU (Cetral Processing Unit) adalah unit yg yg mengiterpretasikan intruksi pada program dan memanipulasi data. CPU terdiri dari dua sub unit fungsional yaitu Control Unit (CU) dan ALU (Arthmatic Logic Unit).Control Unit. Control Unit menentukan operasi-operasi yg yg akan dilakukan sesuai dengan intruksi pada program dan menentukan urutan-urutan operasi yg dijalankan. Arithmatic Logic Unit . Melakuikan operasi operasi artihmatika dan logika.Memori dan perangkat penyimpan (storage devices).Sistem memori komputer terdir dari:Internal memori, Primary atau Main memory., adalah elemen penyimpan yg diakses oleh CU untuk intruksi dan data yg sedang dijalankan atau aktif. (ROM dan RAM)Exdternal memory, secondary memory. Menyediakan penyimpan sekunder, lebih lama untuk program dan data yg sering diperlukan, tetapi tidak sedang aktif. Operasi I/O diperlukan untuk mengakses external memori. (Hard Disk)Archival memori. Adalah memori yg bisa dilepas dan menyimpan data atau program sebgai backup atu tidak sering digunakan.Input/output.Adalh antarmuka antar user dan sistem komputer dan sebagi lintasan antara komputer dan memori sekunder.I/O meliputi keyboard, monitor, priter, plotter dan fasilitas suara.
Buses. Adalah link fisik diantar unit-unit dalam komputer dan komputer dengan rangkain luar.Link ini menjadi saluran sinyal yg membawa data, alamta dan kontrol.Sotware.Perangkat lunak mendefenisikan operasi-operasi dan prosedur yg akan dieksekusi oleh perangkat keras. Ini juga adalah antarmuka antara user dan sistem. BIOS, Operating System, Aplikasi.
3. Arsitektur mikroprosesorArsitektur mikroprosessor memperlihatkan unit-unit fungsional dan bagaimana unit-unit itu berinteraksi pada sebuah mikroprosessor.
Gbr.2. Arsitektur mikroprosessor 16 bit
Mikroprosessor ini terdir dari dua bagioan besar yaitu Bus Interface Unit (BIU) dan Execution Unit (EU). BIU mengambil (fetch) instruksi dan mentransfer data diantara unit
eksekusi , general register dan rangkain luar. EU menginterpretasi (decode) dan mengeksekusi (execute) nya.Gambar 3 memperlihatkan operasi dari mikroprosessor.
Gbr.3 a. Operasi mikroprosessor terdahulu, 8085. b.Operasi pipelined mikroprosessor lebih maju,80486
Pada gambar 3a, diperlihatkan operasi mikroprosessor yg belum moderen, tipikal
mikroprosessor 8 bit seperti 8085.Instruksi diambil (fetch) dari memori dengan operasi
read memori, kemudian diinterpresikan (decode) dan eksekusi (execution). Sementara
pengeksekusian intruksi, bus dan memori berada pada keadaan nganggur (idle). Famili
mikroprosessor Intell dimulai dari 8086 dan 8088, memanfaatkan waktu decode dan
eksekusi instruksi sekarang, mengambil (frefetching) instruksi berikutnya. Teknik ini
mempercepat pengeksekusian sebuah program.
Gambar 3b memperlihatkan urutan event pada pengeksekusian instruksi mikroprosessor
80486. Pada 80486, bus selalu sibuk. Ini bisa terjadi karena unit kontrol dan eksekusi
lebih dari satu dan unit-unit ini dirancang untuk operasional secara simultan pada
tahapan-tahapan (stages) pengeksekusian satu instruksi. Ini disebut pipelining.
BIU bertanggungjawab mengambil intruksi dan untuk membaca dan menulis data antar
mikroprosessor dan memori. Output dari BIU terhubung dengan sebuah cache memori yg
menyimpan instruksi dan data yg akan dieksekusi. Output cache memori menyuplai
prefetcher (queue) yg menyimpan instruksi 32 byte yg antri untuk dieksekusi. Output
prefetcher terhubung ke sebuah instruction decoder yg mendecode intruksi-instruksi
untuk digunakan oleh berbagai macam unit eksekusi di dalm mikroprosessor.Unit-unit
eksekusi ini meliputi unit floating point, control and protection test unit, paging unit,
segmentation unit, barrel shifter dan ALU.
4.Arsitektur Sistem Berbasis Mikroprosesor
Gambar 4 memperlihatkan sistem berbasis mikroprosessor 808 dan 8086.
Gbr 4.
Dari gambar terlihat subsistem saling berkomunikasi (terhubung) dengan mikroprosessor
melalui 3 bus yaitu bus data, alamat dan kontrol. Bus alamat menyalurkan alamat ke
sistem memori dan ke I/O. Bus data mentransfer data diantara mikroprosessor dengan
memori dan dengan perangkat I/O yg terhubung ke sistem. Bus kontrol menyalurkan
sinyal kontrol yg memicu memori atau I/O menjalankan operasi baca atau tulis.
Lebar bus data dan bus alamat bervariasi dari satu mikroprosessor ke mikroprosessor
lainnya. Lebar bus data menentukan berap byte data ditransfer anatar mikroprosessor dan
memori satu waktu, sementara lebar bus alamat memeprlihatkan berapa lokasi memori yg
bisa dialamati oleh mikroprosessor. Secara umum , semakin lebar bus data, semakin cepat
operasi sebuah mikroprosessor.
5 Memori dan Mikroprosessor
Ruang alamat pada sistem berbasis mikroprosessor dirujuk sebgai logical memori atau
physical memory. Logical memory adalah sistem memory yg dilihat oleh programammer,
sementar physical memory adalah struktur perangkat keras nyata dari sistem memori.
Logical memory
Pada dasarnya, logical memori sama bagi semua mikroprosessor Intel.Logical memori
dihitung dengan byte. Gambar 5 memperlihatkan peta logical memori untuk famili
mikroprosessor Intel.
Gbr.5 Peta logical memory. A. 8086/88/186. b.80286/386DX. c.80386DX/486
Logical memori 8086, 8088 dan 80186 mulai dari lokasi memori dengan alamat 0000H –
FFFFH. Rentang alamat ini dapat mengalamati 1M byte sistem memori. Untuk 80286 dan
80386 SX lokasi memori dimulai dari 000000H – FFFFFFH yaitu 16M byte lokasi
memori.. Lokasi memmori untuk 80386 SL dimulai dari alamat 0000000H sampai
1FFFFFFH dengan jumlah lokasi 32M byte. Untuk 80386DX, 80486SX dan 80486DX,
lokasi mmemorinya dinulai dari 00000000H sampai FFFFFFFFH dengan total 4G byte
lokasi. ( 1K byte = 1024 byte, 1M byte = 1024K byte, 1G byte= 1024M byte.)
Ketika mikroprosessor mengalamati memori 16 bit word, 2 lokasi 1 byte yg berurutan
diakses. Sebagai contoh, bila menyimpan data 2 byte yg dimulai dari lokasi 00122h, maka
least significant byte disimpan pada lokasi 00122H dan most significant byte disimpan
pada 00123H. Bila mengakses 32 bit double word, empat byte berurutan diperlukan .
Contoh. bila least significant byte disimpan pada 00120H, byte kedua akan disimpan pada
00121H, byte ketiga pada lokasi 00122H dan most significant byte pada lokasi 00123H.
Pysical memory
Physical memory dari famili intel berbeda dalam hal lebarnya (memory width).Memori
sistem 8088 mempunyai lebar 8 bit (8 bit wide); 8086,80186, 80286 dan 80386
mempunyai lebar memori 16 bit, 80386DX dan 80486 menglamati memori dengan lebar
32 bit.. Untuk programming, tidak ada bedanya karena logical memory selalu 8 bit (1
byte).
Memori disusun dalam bank memori pada semua versi mikro prosessor kecuali 8088 yg
hanya memilik 1 bank memori. Satu bank memori adalah satu seksi (section) memori
lebar 8 bit.Mikroprosessor 16 bit memiliki 2 bank memori untuk membentuk satu seksi
memerio lebar 16 bit yg dialamati sebagai byte (8 bit) atau word (16 bit). Mikroprosessor
32 bit memiliki 4 bank memori yg dialamati sebgai byte, word, atau double word.
Gambar 6 mengambarkan physical memory famili mikrroprosessor Intel.
Gbr.6 Physical memory mikroprosessor Intel
Memori pada Personal Computer
Personal computer dibangun berdasarkan pad mikropropsessor 8088, karena itu panjang
memori utamanya adalah 1M byte. Memori utama ini disebut real memory. Sebelum LIM
(Lotus-Intel-Microsoft) mengembangkan standar untuk expanded memory system,
perluasan memori (expanded memory) tidak mungkin.
Expanded memory ditempatkan pada sebuah page frame (64 K byte) ditempatkan
diantara area ROM BIOS dalam sistem. Melalui page frame 64K byte ini, standar
LIMmemperbolehkan akses ke jumlah tak terbatas dari expanded memori page 64K byte.
, terlepas dari melambatnya akses ke memory page. Expanded memory siystem menjadi
usang setelah kehadiran 80286 dan mikroprosessor yg lebih baru., walaupun masih
dipake untuk sistem berbasi 8086 dan 8088.
Dengan 80286, 80386 dan 80486 sistem dapat mengalamati memori di atas 1Mbyte.
Memory tambahan ini disebut extended memory system (XMS) yg terdiri dari tambahan
15 M byte pada sistem 80286 dan 80386 dan 4095M byte pada sistem 80386DX dan
80486DX.
Gambar 7 memperlihatkan peta memory PC dimana memori diberi label area. 640K byte
pertama disebut transient program area (TPA). TPA terdari RAM yg menyimpan
perangkat lunak aplikasi, operating system , dan berbagai macam program yg mengontrol
perangkat I/O. Sesudah area untuk TPA, area berikutnya adalah untuk BIOS yg berfungsi
untuk mengontrol sistem, video display RAM untuk menyimpan citra video dan open
arae yg digunakan untuk page frame EMS dan opsi2 lain untuk sistem komputer. Diatas
area memori 1 M byte pertama diperuntukkan untuk extended memory system EMS
yg berisi disk caching program, dan segment data lainnya yg didefenisikan oleh operating
system.
Gbr7.Memory PC
6.Intel 8088
Arsitektur
Gambar 8 memperlihatkan arsitektur Intel 8086, hanya berbeda pada data bus dan antrian.
8088 data bus 8 dan antrian 4.
Gbr. 8 Arsitektur Intel 8086
Register
Gambar 9 memperlihatkan register pada Intel 8088
Gbr.9 Register pada 8088
General purpose register
Register 16 bit (AX,BX,CX, DX) atu 8 bit (AH,AL, BH,BL,CH,CL, DH, DL).
Beberapa instruksi menggunakan general purpose register untuk operasi khusus. Register ini
diberi nama spesifik seperti Accumulator, Base, Count, Data.. Pada bahasa asembly, general
purpose register selalu dirujuk oleh kombinasi dua atau tiga abajad. Sebagai contoh,
accumulator dirujuk sebagai EAX,AX,AH atau AL.
Fungsi utama general purpose register meliputi:
AX ( Accumulator), memuat hasil sementara dari operasi logika dan arithmatica.
Accumulator bisa dialamati sebagi AH atau AL .
BX (Base), memuat alamat dasar (base atau offset adress) dari data yg disimpan pada lokasi
dan juga alamat dasar tabel data yg dialamati oleh translate instruction (XLAT). Base
dialamati juga sebagai BH, atau BL.
CX (Count), memuat perhitungn untuk intrusi-instruksi tertentu, seperti hitung peregeseran
(disimpan di CL), untuk operasi pergeseran (shift) dan operasi rotasi (rotate) jumlah byte (yg
disimpan di CX) yg dioperasikan oleh operasi-operasi string yg berulang, dan sebagi counter
(disimpan di CX) pada instruksi loop.. Juga dialamati sebagai CH atau CL.
DX (data), memuat bagian paling significant dari hasil operasi multiplication 16 dan 32 bit,
bagian paling significant dari divident sebelum operasi division, dan nomor dari port I/O
sebagai variabel instruksi I/O.. Juga dialamati sebgai, DH atau DL.
Pointer dan Index Register
Digunakan sebagai indeks atau penunjuk lokasi memori yg memuat operand data untuk
banyak instruksi. Pointer dan Index register meliputi:
SP (Stack Pointer), digunakan untuk mengalamati data yg disimpan pada beberapa lokasi
memori dengan sifat LIFO yg disebut stack. Stack digunakan untuk instruksi PUSH dan POP
atau bila sebuah subroutine dipanggil (CALLed) atau kembali (Returned) pada sebuah
program.
BP (Base Pointer) pointer dengan tujuan umum digunakan untuk mengalamati sebuah array
data pada stack.
SI (source index) digunakan untuk mengalamati sumber data secara tidak langsung untuk
digunakan bersama instruksi string.
DI (destination index), normalnya digunakan mengalamati tujuan data secara tidak langsung
yg digunakan bersama intruksi string.
IP (Instruction pointer) memuat alamat intruksi yg akan dieksekusi oleh mikroprosessor.
Catatan
Data sering dialamati secara tidak langsung dengan menggunakan register-register ini keculi
IP yg hanya digunakan untuk mengalamati instruksi.
Flag Register
Flag menunjukkan kondisi mikroprosessor dan juga mengendalikan operasi mikroprosessor.
Gambar 10 menggambarkan flag register mikroprosessor Intel 8088
Gbr.10 Flag regsiter 8088
Bit2 pada flag register berubah sesudah pengeksekusian instruksi aritmatika dan logika, atau
dengan kata lain hanya intruksi-instruksi arithmatika dan logika yg mempengaruhi isi flag
register. Arti dari setiap bit pada flag register adalah sbb.
C (carry ), menunjukkan adanya carry atau borrow sesudah ekskusi penjumlahan dan
pengurangan. Carry flag juga bisa digunakan dalam beberapa program atau prosedur.
P (parity ), logik 0 untuk odd parity (parity ganjil) dan logik 1 untuk parity genap (even
parity).
A (auxiliary), menunjukkan carry atau borrow pada posisi bit 3 dan 4 dari penjumlahan atau
pengurangan dua bilangan. Flag ini disebut highly spespecialized flag dan ditest dengan
intruksi DAA dan DAS untuk menyesuaikan nilai AL sesudah penjumlahan atau
pengurangan bilangan BCD. Flag ini hanya dibutuhkan untuk operasi bilangan BCD.
Z (zero), menunjukkan hasil penjumlahan atau pengurangan adalah nol. Bila hasil
penjumlahan samadengan nol, maka Z=1 dan bila tidak sama dengan nol, Z=0.
S (sign) , menunjukkan tanda alajabar dari hasil penjumlahan dan pengurangan.Bila negatif,
S=1 dan bila positif, S=0. Pada dasarnya, MSB dari hasil eksekusi setiap intruksi yg
mempengaruhi flag ditempatkan pad sign bit.
T (trap), bila diset, memungkin penggunaan fitur debugging.
I (interup), mengontrol operasi pin INTR (interrup reques). Bila I=1, INTR enable, bila I=0,
INTR disable. Flag I dikontrol oleh instruksi STI (set I) dan CLI (clear I)
D (direction), mengontrol penyeleksian increment atau decrement untuk register DI dan/atau
SI pad instruksi string.. Bila D =1, register secara otomatis dikurangi satu dan bila D=0,
ditambah satu. Flag D di’set’ dengan intruksi STD (set direction) dan di’clear’ dengan CLD
(clear direction)
O (overflow), overflow memperlihatkan hasil penjumlahan atau pengurangan melebihi
kapasitas mikroprosessor. Contoh 7FH (+127) + 01(+1) = 80H (+128). Ini adalah overflow
penjumlahan bilangan bertanda.
Segment Register
Segment register membangkitkan alamat memory bersama register lain.
CS (code), code segment adalah satu seksi memori yg memuat program-program dan
prosedur-prosedur yg digunakan oleh program tersebut. Code segment register
mendefenisikan alamat awal dari satu seksi memori yg memuat kode . Ini mendefenisikan
alamat awal dari satu seksi memory 64 K byte.
DS (data), data segment adalah satu seksi memory yg berisi data yg digunakan oleh sebuah
program. Data pada data segment diakses oleh sebuah offset adress atau isi dari register yg
memuata offset adress.
ES (extra), extra segment adalah data segment tambahan yg digunakan oleh beberapa
instruksi string.
SS (Stack) stack segment mendefenisikan area memori yg digunakan sebagai stack. Lokasi
dari titik masuk ke stack segment ditentukan oleh stack pointer register.
Power Supply
8088 memerlukan catu day +5 V dengan toleransi dengan arsu maksimum 340 mA.
Bekerja apa temperatu 320 F – 1800F.
Karakteristik DC
Karakteristik DC input diperlihatkan oleh tabel dan DC output oleh tabel 2.
Tabel 1. Level logik input
Tabel 2.Level logikoutput
Pin connections
AD7 –AD0 , Address/Data bus. Membentuk bus alamat dan data yg dimultipleks. Pin ini
digunakan untuk 8 bit paling kanan bus alamat memori atau I/O bila ALE logik 1 atau
data bila ALE logik 0.
A15-A8 Adress bus. Adalah 8 bit paling kiri dari bus alamat.
A19/S6, A18/S5,A17/S4, A16/S3. Adress/ Status. Dimultiplek untuk memberikan alamat A19-
A16 dan juga status bit S6-S3.
S6 selalu 0, bit S5 menunjukkan , S4 dan S5 menunjukkan segment memori mana yg
diakses selama siklus bus saat ini seperti diperlihatkan tabel di berikut.
Status bit ini dapat digunakan mengalamati empat bank memori 1M byte
RD, Read signal. Bila 0, bus data terhubung secara listrik dengan memori atau I/O.
Ready, Ready adalh input, bila dikontrol bisa digunakan untuk menyisipkan wait state
pada timing mikroprosessor. Bila logik 0 diberikan pada pin ini mikroprosessor
memasuki wait state dan idle, bila 1 tidak ada effek. Berada pada high impedance state
selama acknoeled aktif.
INTR, Interrupt request, digunakan untuk melakukan interupsi oleh hardware.
TEST, test adalh signal input yg dites oleh instruksi WAIT. Bila logik 0, instruksi WAIT
berfungsi sebagi NOP. Bila logik 1, maka instruksi WAIT menunggu pin TEST sampai
berlogika 0. Pin ini sering dihubungkan ke coprocessor 8087.
NMI, Nonmaskable Interrupt sama seperti INTR keculai NMI tidak mengecek I flag
berlogik 1.
RESET, reset. Menyebakan mikroprosessor to reset bila pin ini dibuat high selama
minimum 4 perioda cloc. Bila direset, mikroprosessor akan memulai mengeksekuasi
instruksi pada alamat FFFFOH dan disable interrup yg akan datang dan meng’clear’ flag
I.
CLK, Clock. Memberi timing dasar untuk mikroprosessor dan harus mempunyai duty
cycle 33%.
Vcc, Power supply, menyatu tegangan
GND, Ground untuk koneksi kembali bagi Vcc.
MN/MX, minimum/ maximum mode, untuk memilih mode operasi maksimum atau
minimum. Untuk mode minimum pin ini dihubungkan ke +5V.
Minimum mode.
IO/M, Memory atau Input/output, menunujukkan ke memori dan I/O bahwa adress bus
berisi alamat memori atau alamat I/O.
WR, Write. Menunjukkan mentransfer dat ke memori atau IO. Berada pada high
impedance state selama acknoeled aktif.
INTA, Interrup Acknowledge. Adalh respons terhadap INTR. Ini digunakan untuk
menentukan interrup vektor number pada data bus sebagai respons terhadap interrupt
request.
ALE, Adress Latch Enable . Menunjukkan adress/data bus berisi alamat. Alamat ini bisa
alamt memori atau I/O.
DT/R,Data Transmit /Receive. Menunjukkan data bus mikroprosessor sedang trnsmit
(bit1) atau receive (bit 0) .
DEN, Data Bus Enable. Digunakan untuk meng’enable ‘ buffer external data bus.
HOLD, hold.Request direct memory acces (DMA). Bila HOLD belogik 1,
mikroprosessor berhenti mengeksekusi program dan menmpatkan adress, data dan
control bus pada high impedance state.
HLDA, Hold Acknowledge. Menunujukkan 8088 berada pada hold state.
SSO, Status Line 0. Signal ini dikombinasikan dengan IO/M, DT/R untuk mendecode
fungsi siklus bus sesuai tabel berikut.
Maximum mode. Untuk mencapai mode maksimum untuk digunakan dengan
coprocessor, MN/MX harus diground.
S2, S1, S0 , status bit. Menunujukkan fungsi bus saat ini, sesuai tabel berikut. Signal ini
didecode bus controller 8288.
RQ/GT0 dan GT1/GT1, Request grant. Pin ini bidirectional, digunakan untuk meminta
dan menanggapi operasi DMA.
LOCK, Lock. Adalah ouput yg dapat digunakan mengunci perangkat output dari sistem.
Pin ini aktif dengan menggunakan awalan LOCK pada setiap intruksi.
QS1 dan QS0, Queue Status. Menunjukkan status dari antrian intruksi internal seperti
diperlihatkan tabel berikut. Pin ini disediakn untuk diakses coprocessor numeric (8087).