Dasar Penguat Operasional (OP-AMP)


Dasar Penguat Operasional

Penguat

Sebagian besar sinyal bioelectric memiliki sebuah besaran yang sangat kecil (dalam besaran milivolt bahkan dalam besaran mikrovolt) dan oleh karena itu membutuhkan tambahan sehingga pengguna dapat melakukan proses. Penambahan tersebut berupa penguatan atau sering disebut op amp.

Penguat Diferensial Sebagai Dasar Penguat Operasional

Penguat diferensial adalah suatu penguat yang bekerja dengan memperkuat sinyal yang merupakan selisih dari kedua masukannya. Berikut ini adalah gambar skema dari penguat diferensial sederhana:

Penguat diferensial tersebut menggunakan komponen BJT (Bipolar Junction Transistor) yang identik / sama persis sebagai penguat. Pada penguat diferensial terdapat dua sinyal masukan (input) yaitu V1 dan V2. Dalam kondisi ideal, apabila kedua masukan identik (Vid = 0), maka keluaran Vod = 0. Hal ini disebabkan karena IB1 = IB2 sehingga IC1 = IC2 dan IE1 = IE2. Karena itu tegangan keluaran (VC1 dan VC2) harganya sama sehingga Vod = 0.

Apabila terdapat perbedaan antara sinyal V1 dan V2, maka Vid = V1 – V2. Hal ini akan menyebabkan terjadinya perbedaan antara IB1 dan IB2. Dengan begitu harga IC1 berbeda dengan IC2, sehingga harga Vod meningkat sesuai sesuai dengan besar penguatan Transistor.

Untuk memperbesar penguatan dapat digunakan dua tingkat penguat diferensial (cascade). Keluaran penguat diferensial dihubungkan dengan masukan penguat diferensial tingkatan berikutnya. Dengan begitu besar penguatan total (Ad) adalah hasil kali antara penguatan penguat diferensial pertama (Vd1) dan penguatan penguat diferensial kedua (Vd2).

Dalam penerapannya, penguat diferensial lebih disukai apabila hanya memiliki satu keluaran. Jadi yang diguankan adalah tegangan antara satu keluaran dan bumi (ground). Untuk dapat menghasilkan satu keluaran yang tegangannya terhadap bumi (ground) sama dengan tegangan antara dua keluaran (Vod), maka salah satu keluaran dari penguat diferensial tingkat kedua di hubungkan dengan suatu pengikut emitor (emitter follower).

Untuk memperoleh kinerja yang lebih baik, maka keluaran dari pengikut emiter dihubungkan dengan suatu konfigurasi yang disebut dengan totem-pole. Dengan menggunakan konfigurasi ini, maka tegangan keluaran X dapat berayun secara positif hingga mendekati harga VCC dan dapat berayun secara negatif hingga mendekati harga VEE.

Apabila seluruh rangkaian telah dihubungkan, maka rengkaian tersebut sudah dapat dikatakan sebagai penguat operasional (Operational Amplifier (Op Amp)).

Dasar Op Amp

Sebuah op amp adalah penguat tinggi dc yang berbeda penguatan (berbeda maksudnya bahwa beberapa sinyal yang tidak sama pada kedua inputannya adalah penguat yang baik). Sebuah op amp tediri dari beberapa transistor dan komponen lainnya yang terintegrasi menjadi sebuah single chip. Yang kita butuhkan tidak hanya mempertimbangkan komponen dalam chip, tetapi bentuk sederhana dari karakteristik terminal. Fokus pada kelakuan dari op amp memberikan kita untuk melihat banyak aplikasi pada rangkaian ini dalam bioinstrumentation. Pada gambar 2.3 dapat dilihat rangkaian ekivalen dari sebuah op amp. Dapat dilihat symbol dari op amp. V1 dan V2 adalah untuk input, Vo adalah output, dan V+ dan V- adalah positip dan negatip sumber tengangan. Gain, yang juga disebut penguatan, adalah definisi sebagai penambahan dari tegangan oleh penguat, yang ditunjukkan dengan perbandingan dari output ke input.

Penguat Operasional

Penguat operasional (Operational Amplifier) atau yang biasa disebut Op-amp memiliki dua sambungan input dan satu sambungan output. Salah satu ditandai dengan ’-’ dan yang lainnya ditandai dengan ’+’, tanda ’+’ mengindikasikan pergeseran fase sebesar nol sedangkan tanda ’-’ mengindikasikan pergeseran fase sebesar 1800. Selain sambungan input dan output, Penguat operasional juga memiliki dua catuan simetris (biasanya ±5 V hingga ±15 V).

Karakteristik Op-amp ideal :

a. Open loop gain sangat besar/tak hingga

b. Vout = 0, jika V1 =V2 , tidak ada offset voltage.

c. Impedansi input sangat besar/tak hingga.

d. Impedansi output sangat kecil (0).

e. Bandwidth tak hingga.

Penguatan Tegangan Lingkar Terbuka

Penguatan tegangan lingkar terbuka (open loop voltage gain) adalah penguatan diferensial Op Amp pada kondisi dimana tidak terdapat umpan balik (feedback) yang diterapkan padanya seberti yang terlihat pada gambar 2.2. Secara ideal, penguatan tegangan lingkar terbuka adalah:

AVOL = Vo / Vid = – ¥

AVOL = Vo/(V1-V2) = – ¥

Tanda negatif menandakan bahwa tegangan keluaran VO berbeda fasa dengan tegangan masukan Vid. Konsep tentang penguatan tegangan tak berhingga tersebut sukar untuk divisualisasikan dan tidak mungkin untuk diwujudkan. Suatu hal yang perlu untuk dimengerti adalah bahwa tegangan keluaran VO jauh lebih besar daripada tegangan masukan Vid. Dalam kondisi praktis, harga AVOL adalah antara 5000 (sekitar 74 dB) hingga 100000 (sekitar 100 dB).

Tetapi dalam penerapannya tegangan keluaran VO tidak lebih dari tegangan catu yang diberikan pada Op Amp. Karena itu Op Amp baik digunakan untuk menguatkan sinyal yang amplitudonya sangat kecil.

Tegangan Ofset Keluaran

Tegangan ofset keluaran (output offset voltage) VOO adalah harga tegangan keluaran dari Op Amp terhadap tanah (ground) pada kondisi tegangan masukan Vid = 0. Secara ideal, harga VOO = 0 V. Op Amp yang dapat memenuhi harga tersebut disebut sebagai Op Amp dengan CMR (common mode rejection) ideal.

Tetapi dalam kondisi praktis, akibat adanya ketidakseimbangan dan ketidakidentikan dalam penguat diferensial dalam Op Amp tersebut, maka tegangan ofset VOO biasanya berharga sedikit di atas 0 V. Apalagi apabila tidak digunakan umpan balik maka harga VOO akan menjadi cukup besar untuk menimbulkan saturasi pada keluaran. Untuk mengatasi hal ini, maka perlu diterapakan tegangan koreksi pada Op Amp. Hal ini dilakukan agar pada saat tegangan masukan Vid = 0, tegangan keluaran VO juga = 0.

Hambatan Masukan

Hambatan masukan (input resistance) Ri dari Op Amp adalah besar hambatan di antara kedua masukan Op Amp. Secara ideal hambatan masukan Op Amp adalah tak berhingga. Tetapi dalam kondisi praktis, harga hambatan masukan Op Amp adalah antara 5 kW hingga 20 MW, tergantung pada tipe Op Amp. Harga ini biasanya diukur pada kondisi Op Amp tanpa umpan balik. Apabila suatu umpan balik negatif (negative feedback) diterapkan pada Op Amp, maka hambatan masukan Op Amp akan meningkat.

Dalam suatu penguat, hambatan masukan yang besar adalah suatu hal yang diharapkan. Semakin besar hambatan masukan suatu penguat, semakin baik penguat tersebut dalam menguatkan sinyal yang amplitudonya sangat kecil. Dengan hambatan masukan yang besar, maka sumber sinyal masukan tidak terbebani terlalu besar.

Hambatan Keluaran

Hambatan Keluaran (output resistance) RO dari Op Amp adalah besarnya hambatan dalam yang timbul pada saat Op Amp bekerja sebagai pembangkit sinyal. Secara ideal harga hambatan keluaran RO Op Amp adalah = 0. Apabula hal ini tercapai, maka seluruh tegangan keluaran Op Amp akan timbul pada beban keluaran (RL), sehingga dalam suatu penguat, hambatan keluaran yang kecil sangat diharapkan.

Dalam kondisi praktis harga hambatan keluaran Op Amp adalah antara beberapa ohm hingga ratusan ohm pada kondisi tanpa umpan balik. Dengan diterapkannya umpan balik, maka harga hambatan keluaran akan menurun hingga mendekati kondisi ideal.

Lebar Pita

Lebar pita (band width) BW dari Op Amp adalah lebar frekuensi tertentu dimana tegangan keluaran tidak jatuh lebih dari 0,707 dari harga tegangan maksimum pada saat amplitudo tegangan masukan konstan. Secara ideal, Op Amp memiliki lebar pita yang tak terhingga. Tetapi dalam penerapannya, hal ini jauh dari kenyataan.

Sebagian besar Op Amp serba guan memiliki lebar pita hingga 1 MHz dan biasanya diterapkan pada sinyal dengan frekuensi beberapa kiloHertz. Tetapi ada juga Op Amp yang khusus dirancang untuk bekerja pada frekuensi beberapa MegaHertz. Op Amp jenis ini juga harus didukung komponen eksternal yang dapat mengkompensasi frekuensi tinggi agar dapat bekerja dengan baik.

Waktu Tanggapan

Waktu tanggapan (respon time) dari Op Amp adalah waktu yang diperlukan oleh keluaran untuk berubah setelah masukan berubah. Secara ideal harga waktu respon Op Amp adalah = 0 detik, yaitu keluaran harus berubah langsung pada saat masukan berubah.

Tetapi dalam prakteknya, waktu tanggapan dari Op Amp memang cepat tetapi tidak langsung berubah sesuai masukan. Waktu tanggapan Op Amp umumnya adalah beberapa mikro detik hal ini disebut juga slew rate. Perubahan keluaran yang hanya beberapa mikrodetik setelah perubahan masukan tersebut umumnya disertai dengan oveshoot yaitu lonjakan yang melebihi kondisi steady state. Tetapi pada penerapan biasa, hal ini dapat diabaikan.

Karakteristik Terhadap Suhu

Sebagai mana diketahui, suatu bahan semikonduktor yang akan berubah karakteristiknya apabila terjadi perubahan suhu yang cukup besar. Pada Op Amp yang ideal, karakteristiknya tidak berubah terhadap perubahan suhu. Tetapi dalam prakteknya, karakteristik sebuah Op Amp pada umumnya sedikit berubah, walaupun pada penerapan biasa, perubahan tersebut dapat diabaikan.

Mode operasi penguat operasional:

a. Penguat Membalik (inverting)

Penguat membalik menghasilkan keluaran yang berbeda fasa 1800 terhadap masukkan (fasa sinyal output berkebalikan dengan fasa sinyal input). Persamaan penguatannya adalah sebagai berikut:

Konfigurasinya adalah sebagai berikut:

b. Penguat Tak Membalik (non-inverting)

Penguat tak membalik menghasilkan sinyal keluaran yang fasanya sama dengan fasa sinyal masukan. Persamaan penguatannya adalah sebagai berikut:

Konfigurasinya adalah sebagai berikut:

c. Penguat Bertingkat (Differential)

Penguat bertingkat merupakan selisih beda potensial antar dua buah masukan V1 dan V2.

( sumber : http://musaqif.blogspot.com/2009/05/dasar-penguat-operasional-op-amp.html )

Iklan

Mikroprosesor


A. Mikroprosesor

Setiap komputer yang kita gunakan didalamnya pasti terdapat mikroprosesor. Mikroprosesor, dikenal juga dengan sebutan Central Processing Unit (CPU) artinya unit pengolahan pusat. CPU adalah pusat dari proses perhitungan dan pengolahan data yang terbuat dari sebuah lempengan yang disebut “chip”. Chip sering disebut juga dengan “Integrated Circuit (IC)”, bentuknya kecil, terbuat dari lempengan silikon dan bisa terdiri dari 10 juta transistor.

Mikroprosesor pertama adalah intel 4004 yang dikenalkan tahun 1971, tetapi kegunaan mikroprosesor ini masih sangat terbatas, hanya dapat digunakan untuk operasi penambahan dan pengurangan. Mikroprosesor pertama yang digunakan untuk komputer di rumah adalah intel 8080, merupakan komputer 8 bit dalam satu chip yang diperkenalkan pada tahun 1974. Tahun 1979 diperkenalkan mikroprosesor baru yaitu 8088.

Mikroprosesor 8088 mengalami perkembangan menjadi 80286, berkembang lagi menjadi 80486, kemudian menjadi Pentium, dari Pentium I sampai dengan sekarang, Pentium IV. Untuk lebih lengkapnya, bisa melihat gambar dan tabel di bawah ini :
Perbandingan besar processor

Nama Prosesor

Tahun Keluar

Jumlah Transistor

Micron

Clock speed

Data width

MIPS

8080

1974

6000

6

2 MHz

8

0,64

8088

1979

29.000

3

5 MHz

16 bits, 8 bit bus

0,33

80286

1982

134.000

1,5

6 MHz

16 bits

1

80386

1985

275.000

1,5

16 MHz

32 bits

5

80486

1989

1.200.000

1

25 MHz

32 bits

20

Pentium

1993

3.100.000

0,8

60 MHz

32 bits, 64 bit

100

Pentium II

1997

7.500.000

0,35

233 MHz

32 bits, 64 bit bus

400

Pentium III

1999

9.500.000

0,25

450 MHz

32 bits, 64 bit bus

1.000

Sumber : http://www.intel.com

Keterangan Tabel :

  1. Transistor berbentuk seperti tabung yang sangat kecil, terdapat pada Chip.
  2. Micron adalah ukuran dalam Micron (10 pangkat -6), merupakan kabel terkecil dalam Chip
  3. Clock Speed = kecepatan maksimal sebuah prosesor
  4. Data width = lebar dari Arithmatic Logic Unit (ALU) / Unit pengelola aritmatika, untuk proses pengurangan, pembagian, perkalian dan sebagainya.
  5. MIPS = Millions of Instructions Per Second / Jutaan perintah per detik
  6. sumber : http://www.e-smartschool.com/PNK/002/PNK0020005.asp

B. TEORI MIKROPROSESOR 8088

I. MIKROPROSESOR 8088

Mikroprosesor 8088 mulai diperkenalkan oleh Intel Corporation pada tahun 1978. Mikroprosesor ini mengawali sejarah perkembangan mikroprosesor Intel selanjutnya, seperti 80186, 80286, 80386, 80486, Intel Pentium I, sampai yang sekarang Intel Pentium IV. Semua instruksi yang terdapat pada mikroprosesor 8088 sepenuhnya dapat dijalankan pada mikroprosesor-mikroprosesor Intel tersebut. Karena itu, untuk memahami perancangan hardware dan software pada PC sekarang, ada baiknya jika Anda lebih dahulu memahami perancangan hardware dan software pada mikroprosesor 8088 ini.

Mikroprosesor 8088 mempunyai 8 bit jalur data dan 20 bit jalur alamat. Jalur data memiliki pin yang sama dengan jalur alamat, artinya pada saat tertentu digunakan sebagai jalur data dan pada saat yang lain digunakan sebagai jalur alamat. Karena satu pin memiliki dua fungsi, yaitu sebagai jalur data dan jalur alamat maka digunakanlah sistem time multiplexing, yaitu penggunaan jalur yang sama untuk fungsi dan waktu yang berbeda, sehingga tidak bisa data dan alamat dikirim pada saat yang bersamaan. Mikroprosesor 8088 dibuat dalam bentuk IC dengan kaki sebanyak 40 pin (jenis DIP 40).

Ada dua mode yang dapat digunakan pada mikroprosesor 8088, yaitu mode minimum dan mode maksimum. Pena yang menjadi penentu penggunaan mode adalah pena MN/MX. Mode minimum biasanya digunakan untuk sistem yang sederhana yang umumnya menggunakan prosesor pada satu PCB. Sedangkan mode maksimum umumnya digunakan untuk sistem yang lebih kompleks yang menggunakan multi I/O dan memori yang terpisah serta dapat pula digunakan dengan co-prosesornya (co-prosesor untuk 8088 adalah 8087). Dalam homepage ini, penulis hanya akan menjelaskan perancangan pada mode minimum saja, karena umumnya cukup dengan mode minimum saja suatu alat pengontrol/kendali otomatis sudah dapat diwujudkan.

Mikroprosesor 8088 mampu mengalamati memori sampai 1 MB. Memori ini digunakan untuk menyimpan kode biner dari instruksi yang akan dijalankan oleh µP, selain itu memori juga digunakan untuk menyimpan data secara sementara. Dengan tambahan unit I/O memungkinkan µP 8088 untuk menerima data dari luar (operasi input) ataupun mengirim data keluar (operasi output).

II. Konfigurasi pena µP 8088

Gambar dibawah ini memperlihatkan diagram pewaktuan yang menunjukkan siklus baca tulis ketika terjadi operasi I/O dan Memori oleh µP. Seluruh penjelasan tentang pena-pena pada mikroprosesor 8088 ini akan selalu mengacu pada diagram pewaktuan tersebut.

Pena pada µP 8088 ada yang tidak dipengaruhi oleh perubahan mode baik mode maksimum ataupun mode minimum dan ada pula pena yang berfungsi hanya pada saat mode maksimum.

Pena yang tidak dipengaruhi oleh perubahan mode baik mode maksimum ataupun mode minimum, diantaranya adalah :

a. Bus alamat ( AD0-AD7, A8-A15, dan A16/S3-A19/S6). Mikroprosesor 8088 mempunyai 20 pin jalur alamat sehingga dapat menjangkau 220 ( 1 MB) lokasi memori. Pena-pena ini hanya berfungsi pada saat T1 (lihat diagram pewaktuan). Pada saat T2 sampai T4 ada sebagian pin yang berfungsi sebagai data dan juga sebagai status.

b. Bus data ( AD0-AD7). Mikroprosesor 8088 mempunyai jalur data sebanyak 8 pin dan bisa digunakan secara biderectional (dua arah). Pin-pin ini berfungsi sebagai jalur data hanya pada saat T2-T4. Pada saat T1 berfungsi sebagai jalur alamat.

c. Kontrol baca (RD). Sinyal ini aktif rendah. Jika pena ini berlogic nol berarti µP sedang melaksakan pembacaan data. Sinyal ini aktif dipertengahan T2 dan kembali tidak aktif dipertengahan T4.

d. Clock (CLK). Yaitu masukan sinyal detak yang diberikan dari luar untuk mensinkronkan segala kegiatan pada µP. Miroprosesor 8088 dapat bekerja pada frekuensi clock 4,77 MHz atau 8 MHz untuk versi turbo.

e. Kontrol waktu tunggu (READY). Sinyal READY ini disampel pada sisi naik T2. Jika sinyal READY ini berlogic 0 berarti akan disisipkan TW/Twait antara T3 dan T4. Hal ini terus diulangi sampai sinyal READY diberi logika 1. Sinyal ini biasanya digunakan jika ada hardware lain yang memiliki kecepatan lebih lambat dari kecepatan µP ketika sedang bekerja dalam keadaan normal.

f. Reset sistem (RESET). Sinyal ini aktif tinggi. Bila logika 1 diberikan pada pena ini, mikroprosesor akan menghentikan segala kegiatan yang sedang terjadi saat itu. Semua register akan dibuat 0 kecuali register code segment dibuat FFFF0H (akan dijelaskan pada penjelasan mengenai segment register ).

g. Interupsi (INTR dan NMI). INTR dan NMI (Non Maskable Interrupt) adalah permintaan interupsi yang dipanggil secara hardware. Sinyal INTR merupakan sinyal aktif tinggi, sedangkan NMI dapat aktif menggunakan trigger sisi naik dari sinyal clock. INTR tidak akan berfungsi jika interupsi flag dikosongkan (menggunakan instruksi CLI ), sedangkan NMI tidak dapat dihalangi dengan instruksi CLI.

h. Kontrol tunggu test (TEST). Untuk mengaktifkan sinyal TEST, digunakan instruksi WAIT. Jika pin ini berlogic 1 ketika µP sedang menjalankan instrruksi WAIT, CPU akan berada pada keadaan idle mode, artinya mikroprosesor tidak melakukan kegiatan apa-apa sebelum pin ini berlogic 0. Jika pin ini berlogic 0 kembali, maka pelaksanaan instruksi akan dilanjutkan.

i. Status (A16/S3-A19/S6). Sinyal status digunakan untuk mendeteksi suatu keadaan-keadaan atau operasi-operasi yang sedang berlangsung, diantaranya pengambilan instruksi, membaca memori, menulis memori, dan operasi-operasi yang lain. Sinyal ini dikeluarkan pada saat keadaan T2-T4. Definisi dari status S4 dan S3 adalah :

S4.. S3 Yang Dijangkau saat terjadi siklus bus
0.. …0 Extra segment (ES)
0….. 1 Stack segment (SS)
1….. 0 Code segment (CS) atau tidak sama sekali
1….. 1 Data segment (DS)

j. Catu daya ( VCC dan GND). Mikroprosesor 8088 membutuhkan Vcc = +5 V yang masih bisa bertoleransi sebesar ± 10% dari +5 V.

Sinyal yang berfungsi hanya pada mode minimum ( mode maksimum tidak digunakan ) adalah :

a. Sinyal tulis (WR). Sinyal ini aktif rendah. Jika sinyal ini berlogic 0, berarti µP sedang melaksanakan operasi tulis data ke unit memori atau I/O. Sinyal ini aktif pada saat T2-T4.

b. Sinyal kontrol memori dan I/O ( IO/M ). Jika pena ini berlogic 0, berarti saat ini pada siklus bus sedang berlangsung operasi input/output. Jika pena ini berlogic 1, berarti saat ini pada siklus bus sedang berlangsung operasi memori.

c. Address Latch Enable (ALE). Sinyal ini digunakan sebagai penahan alamat yang baru masuk dalam suatu proses siklus mesin. Sinyal ini dapat digunakan untuk dimultipleks dengan alamat, data, dan status. Sinyal ini mengeluarkan logic 1 pada saat clock T1.

d. Pengiriman dan penerimaan data ( DT/R ). Jika sinyal ini berlogic 1, arah data adalah dari µP menuju keluar. Jika sinyal ini berlogic 0 maka arah data dari luar menuju µP.

e. Data Enable ( DEN ). Sinyal ini biasanya digunakan untuk meng”on”kan buffer (latch) yang dihubungkan kebus data.

f. Interrupt Acknowledge ( INTA ). Sinyal ini secara khusus digunakan sebagai tanggapan terhadap suatu instruksi INTR.

g. Hold Request ( HOLD). Bila logika 1 diberikan pada pena HOLD, µP akan menghentikan kegiatan dan melepas bus yang berhubungan dengan unit memori dan I/O, sehingga hal ini memberikan kesempatan bagi proses lain untuk mengambil alih sistem.

h. Hold Acknowledge (HLDA) Sinyal ini digunakan sebagai pengakuan dari µP bahwa sinyal HOLD telah diterima dan sistem dapat diambil alih oleh prosesor lain.

Sinyal yang berfungsi hanya pada saat mode maksimum adalah :

a. Status siklus bus ( S0, S1, S2 ). Sinyal ini merupakan keluaran yang akan diberikan oleh IC lain yang berfungsi sebagai bus kontroller .

b. Kunci ( LOCK ). Sinyal ini akan mengeluarkan logika 0 selama pelaksanaan instruksi LOCK sehingga akan mencegah prosedur lain menjangkau sistem.

c. Status antrian ( QS0, QS1). Sinyal ini akan memberitahu informasi apa yang telah dipindahkan dan informasi apa yang ada dalam antrian sewaktu terjadi siklus clock sebelumnya.

d. Local Bus Control ( RQ/ GT1 dan RQ/ GT0 ). Sinyal ini menggantikan fungsi HOLD dan HLDA pada mode minimum.

III. Arsitektur Internal µP 8088

Arsitektur internal µP 8088 dibagi menjadi dua bagian, yaitu BIU (Bus Interface Unit) dan EU (Execution Unit). BIU berfungsi untuk menjalankan operasi bus seperti menjemput instruksi, membaca data dan menulis ke memori, menerima input dan mengeluarkan output ke unit periferal. Dari BIU ini, dihasilkan bus data sebanyak 8 bit. Untuk menjalankan fungsinya, BIU memiliki register segment, register komunikasi internal, pointer instruksi, antrian kode objek instruksi, bus alamat, dan bus kontrol logika. EU berfungsi untuk menterjemahkan dan menjalankan instruksi.

Mikroprosesor 8088 mempunyai 4 kelompok register internal yaitu register penunjuk instruksi (indeks pointer register), register data (general purpose register), register segment (segment register), serta flag register.

Register Penunjuk Instruksi (Indeks Pointer Register).

Register Penunjuk instruksi merupakan register 16 bit yang berfungsi untuk menunjukkan lokasi instruksi berikutnya yang akan dijalankan. Register IP ini berpasangan dengan CS (code segment) dimana penulisannya adalah sebagai berikut [CS : IP]. Jadi lokasi alamat yang ditunjuk bergantung pada code segment yang terdapat pada segment register.

Register Data (General Purpose Register).

Register data pada µP 8088 dibagi menjadi 4 kelompok register yang semuanya berfungsi untuk penyimpanan data secara sementara. Keempat kelompok register ini adalah register AX, BX, CX. dan DX. Register AX, BX, CX, dan DX merupakan register data 16 bit. Register-register 16 bit dari kelompok ini mempunyai suatu ciri khas, yaitu dapat dipisah menjadi 2 bagian dimana masing-masing bagian terdiri dari 8 bit, yaitu register data AH; AL (untuk AX), BH; BL (untuk BX), CH; CL (untuk CX), dan DH; DL (untuk DX). Akhiran H menunjukkan High dan akhiran L menunjukkan Low. Selain berfungsi sebagai penyimpan data serba guna yang dapat digunakan secara bebas oleh pemogram, register-register tersebut memiliki juga fungsi-fungsi lainnya secara khusus, yaitu : Register AX biasanya digunakan pada operasi aritmatika (perkalian dan pembagian), dan operasi I/O 16 bit. Register BX biasanya digunakan untuk menunjukkan suatu alamat offset dari suatu segment. Register CX biasanya digunakan untuk menunjukkan banyaknya looping yang akan terjadi. Register DX biasanya digunakan untuk menampung sisa hasil pembagian 16 bit serta pada operasi I/O secara tidak langsung (16 bit)

Register Penunjuk dan Register Indeks (Indeks and Pointer Register).

Mikroprosesor 8088 mempunyai dua buah register penunjuk (register SP dan BP) serta dua buah register indeks ( register SI dan DI). Data yang terdapat pada SP ( Stack Pointer) memungkinkan pemogram untuk menjangkau lokasi memori dari stack segment. Stack pointer yang berpasangan dengan stack segment (SS : SP) digunakan untuk menunjukkan alamat dari stack RAM (Random Access Memory). Stack RAM ini biasanya digunakan untuk menyimpan informasi yang berhubungan dengan operasi stack, seperti isi PC, alamat kembali (return address) pada instruksi CALL, dan akumulator. Penyimpanan informasi pada stack RAM menggunakan sistem LIFO (Last In First Out), artinya data yang terakhir dimasukkan (PUSH) merupakan data pertama yang akan diambil (POP). BP (Base Pointer) yang berpasangan dengan register stack segment (SS) digunakan untuk mencatat suatu alamat dimemori tempat data. Source Indeks (SI) dan Destination Indeks (DI) biasanya digunakan pada operasi string dengan mengakses secara langsung pada alamat dimemori yang ditunjukkan oleh kedua register ini .

Register Segment (Segment Register).

Mikroprosesor 8088 menghasilkan 20 bit alamat sehingga dapat menjangkau 1 MB lokasi memori ( 220 = 1048576 Byte atau disingkat 1 MB). Namun pada µP 8088 register yang tersedia hanya 16 bit ( 216 = 64 KB), sehingga untuk menjangkau alamat 1 MB, memori pada µP 8088 dibagi menjadi ruas-ruas 64 KB, sehingga setiap saat hanya ada 4 segment (ruas) yang dapat aktif. Segment-segment register ini adalah: Code Segment (CS), Data Segment (DS), Stack Segment (SS), dan Extra Segment (ES). Code segment digunakan untuk menyimpan program. Data segment digunakan untuk menyimpan data program. Extra segment digunakan untuk menyimpan segment data tambahan. Stack segment digunakan nuntuk menyimpan alamat kembalinya interupsi dan subrutin. Keempat register diatas menunjuk kelokasi masing-masing segment. Karena register segment hanya terdiri dari 16 bit, sedangkan memori yang dapat dijangkau sebanyak 20 bit, maka unit BIU ( Bus Interface Unit) akan menambah 4 bit lagi pada LSB. Sebagai contoh, jika register ES=2721H, maka register akan menunjuk kelokasi 27210H. Setiap segment hanya dapat menampung 64 KB lokasi memori, sehingga jika CS=A000H, maka lokasi memori untuk Code Segment dimulai dari A0000H sampai AFFFFH (64 KB).

Setiap kali catu daya dihidupkan, µP berada dalam keadaan sembarang dimana semua register berisi data yang tidak dapat diramalkan. Hal ini memungkinkan terjadinya pembacaan maupun penulisan lokasi memori yang acak pula. Karena itu semua register µP harus dibuat nol kecuali Code Segment register dibuat FFFF0H, sehingga µP akan menjemput instruksi yang berada pada alamat fisik FFFF0H. Jadi dengan memberikan sinyal RESET ketika pertama kali dihidupkan, µP akan selalu menjemput instruksi pada lokasi FFFF0H. Setelah menempatkan suatu instruksi pada lokasi tersebut, maka instruksi itu merupakan instruksi yang pertama kali dijalankan ketika µP dinyalakan atau ketika diberi sinyal RESET

Flag Register.

Flag register merupakan register 16 bit, namun pada µP 8088 yang digunakan hanya 12 bit, yaitu 9 bit untuk status dan 3 bit untuk kontrol. Diagram blok flag register adalah sebagai berikut :

X X X X OF DF IF TF SF ZF X AF X PF X CF
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Fungsi masing-masing register tersebut adalah:

CF (Carry Flag) jika berlogic 1 berarti terdapat carry atau borrow pada MSB (Most Significant Bit) yang terjadi selama operasi aritmatika. Jika berlogic 0 berarti tidak terdapat carry atau borrow.
PF (Parity Flag) jika berlogic 1 berarti 8 bit terendah menghasilkan paritas genap dan jika manghasilkan paritas ganjil PF akan berlogic 0
AF (Auxillary Carry Flag) jika berlogic 1 berarti terdapat carry pada bit ke 4 pada register AL dan bila tidak akan berlogic 0. Register ini biasanya digunakan pada operasi BCD, seperti perintah AAA. ZF (Zero Flag), jika berlogic 1 maka operasi aritmatika menghasikan sisa 0, jika berlogic 1 maka tidak menghasilkan 0
SF (Sign Flag) jika digunakan bilangan bertanda bit ini akan bernilai 1. Sedangkan bila SF berlogic 0 berarti bilangan diperlakukan sebagai bilangan tidak bertanda. Bilangan bertanda dibagi menjadi bilangan positif (+) dan bilangan negatif (-). Pada bilangan bertanda, bit terakhir (bit ke-16) diperlakukan sebagai tanda (+) atau tanda(-). Jika bit terakhir tersebut bernilai 1 berarti bilangan tersebut negatif dan jika bit terakhir bernilai 0 berarti bilangan tersebut positif
TF (Trace Flag) jika berlogic 1 berarti berada pada keadaan single step. Keadaan ini digunakan pada program Debug
IF (Interrupt Flag) jika berlogic 1 berarti Maskable Interrupt Request dapat dilakukan. Jika berlogic 0 maka permintaan interupsi tidak dapat dipenuhi oleh CPU
OF (Over Flow Flag) jika terjadi Over Flow pada operasi aritmatika, bit ini akan bernilai 1. Dan jika tidak terjadi Over Flow pada operasi aritmatika, bit ini akan bernilai 0
DF (Direction Flag) jika berlogic 1 berarti pada instruksi string nilai register akan diturunkan secara otomatis dan jika berlogic 0 maka akan dinaikkan secara otomatis
X Tidak digunakan

Alamat Relatif dan Alamat Absolut

Didalam suatu segment, alamat dimulai dari 0000H sampai FFFFH (64KB). Alamat ini disebut juga alamat relatif / offset. Sedangkan alamat absolut dari 0000H s/d FFFFH adalah 00000H s/d FFFFFH. Berikut kita lihat cara pengkonversian alamat relatif kealamat absolut. Pengkonversian dapat dilakukan dengan menggeser nilai segment sebanyak 4 bit kekiri dan kemudian dijumlahkan dengan nilai offset. Atau cara yang lebih sederhana adalah dengan mengalikan nilai segment dengan 2 pangkat 4 (10H) kemudian dijumlahkan dengan nilai offset. Cara ini dikembangkan dari besarnya selisih segment yang satu dengan yang berikutnya sebesar 2 pangkat 4 (10H). Lihatlah contoh dibawah ini:

Alamat relatif : 1357H : 2468H 1356H : 2478H
Pengkonversian : 13570H 13560H
2468H 2478H
__________+ __________+
Alamat absolut : 159D8H 159D8H

Pada kedua contoh diatas terlihat jelas alamat relatif 1357H : 2468H sebenarnya menunjukkan lokasi yang sama didalam memori (alamat absolutnya) dengan alamat relatif 1356H : 2478H yang disebabkan adanya overlapping.

Generator Clock Untuk Mikroprosesor 8088

Tidak seperti 8085, mikroprosesor 8088 tidak mempunyai pembangkit clock sendiri, ia harus diberi clock dari luar. Miroprosesor 8088 dapat bekerja pada frekuensi clock 4,77 MHz atau 8 MHz (untuk versi turbo). Mikroprosesor 8088 juga membutuhkan sinyal sinkronisasi reset terhadap clock. Untuk memenuhi persyaratan diatas, tersedia dipasaran IC yang telah dirancang sebagai generator clock yaitu IC 8284 (sekedar informasi tambahan, Anda dapat saja menggunakan pembangkit-pembangkit clock yang lain, asalkan sesuai dengan spesifikasi clock untuk 8088). Gambar dibawah ini memperlihatkan pena-pena dari IC 8284.

Arti pena-penanya adalah sebagai berikut:

Vcc Catu daya + 5V
GND Ground
X1&X2 Masukan untuk crystal eksternal
OSC Keluaran osilator yang mempunyai frekuensi yang sama dengan frekuensi crystal
CLK Sinyal clock untuk dikirimkan keµP.Sinyal ini mempunyai frekuensi 2/3 dari frekuensi crystal dengan siklus kerja 33%
PCLK Sinyal ini mempunyai frekuensi ½ dari frekuensi yang dikeluarkan pena CLK, dan memiliki siklus kerja 50%
F/ C Pena ini merupakan penentu referensi untuk clock. Jika pena ini berlogic 1, maka clock mendapat sumber dari pena EFI, sedangkan jika berlogic 0 mendapat sumber dari pena OSC
EFI Masukan frekuensi eksternal yang digunakan untuk sebagai sumber clock
CSYNC Sinkronisasi clock yang digunakan untuk sinkronisasi beberapa IC 8284. Jika menggunakan crystal pena ini dibuat 0
RES Digunakan untuk sinyal menghasilkan reset
RESET Digunakan menghasilkan sinyal reset untuk µP setelah disinkronisasi dahulu dengan RES dan CLK
READY Sinyal ini berfungsi untuk memberitahukan µP bahwa unit I/O dan memori siap untuk mengirim atau menerima data
AEN1 dan RDY1 Sinyal ini digunakan untuk membangkitkan keadaan tunggu ke µP
AEN2 dan RDY2 Sama dengan pena AEN1 dan RDY1, sinyal ini digunakan untuk membangkitkan keadaan tunggu ke µP
ASYNC Sinkronisasi untuk memilih tipe masukan yang diberikan pada IC 8284

Untuk membangkitkan sinyal clock pada IC 8284 ini ada 2 cara, cara pertama yaitu dengan memasang crystal pada masukan X1 dan X2 serta dengan memberikan logic 0 pada pena F/C. Cara yang kedua adalah dengan memberikan frekuensi eksternal pada pena EFI dan pena F/C dibuat 1

(sumber : http://opi.110mb.com/opihomepage/teori_8088.htm )

Bahasa Rakitan


Bahasa Rakitan

Bahasa rakitan (bahasa Inggris: assembly language) adalah bahasa pemrograman komputer tingkat rendah. Bahasa rakitan merupakan notasi untuk bahasa mesin yang dapat dibaca oleh manusia dan berbeda-beda tergantung dari arsitektur komputer yang digunakan. Bahasa mesin adalah pola bit-bit (serangkaian nomor-nomor biner) tertentu yang merupakan kode operasi mesin. Bahasa mesin dibuat lebih mudah dibaca dan ditulis dengan cara mengganti pola bit-bit menjadi julukan-julukan yang disebut mnemonics.

Berbeda dengan bahasa pemrograman tingkat tinggi, bahasa assembly atau rakitan biasanya memiliki hubungan 1-1 dengan instruksi bahasa mesin. Misalnya, tiap julukan (mnemonic) yang ditulis di program dengan bahasa rakitan akan diterjemahkan menjadi tepat satu kode operasi yang dapat dimengerti langsung oleh komputer. Pada bahasa tingkat tinggi, satu perintah dapat diterjemahkan menjadi beberapa kode operasi dalam bahasa mesin. Proses pengubahan bahasa rakitan ke bahasa mesin dilakukan oleh assembler, dan proses balikannya dilakukan oleh disassembler.

Setiap arsitektur komputer memiliki bahasa mesin yang berbeda-beda sehingga bahasa rakitannya pun berbeda-beda.(dna)

Berikut merupakan contoh bahasa rakitan:

 mov  al, 0x61

yang berarti pindahkan (mov = move) nilai heksadesimal 61 (= 97 dalam desimal) ke register prosesor bernama “al”. Adalah lebih mudah mengingat ini dari bahasa mesin:

10110000 01100001

Diskusikan berita ini di Diskusi BeritaNET.com