S1 Teknik Elektro Telekomunikasi/Ekstensi BAB 1 Sistem Mikroprosesor
Sebelum masuk ke pengertian sistem mikroprosesor, coba kita pahami terlebih dahulu makna dari setiap kata di bawah ini :
Sistem : Perpaduan antar beberapa elemen atau komponen yang membentuk suatu fungsi tertentu Mikroprosesor : Sebuah chip rangkaian terintegrasi (IC) dalam perpaduan skala yang besar dan bekerja berdasarkan Instruksi program dengan tujuan untuk pengendalian sistem atau pengolah data
Maka pengertian Sistem Mikroprosesor adalah Perpaduan sistem yang dibangun dari beberapa gabungan komponen (CPU, Memori, I/O) dan bekerja berdasarkan perintah sebagai pengolah data digital elektronik.
Selamjutnya adalah Komponen Mikroprosesor / Mikroprsesor unit (MPU) beserta fungsinya :
Control Unit (CU) Manager dari semua unit, Mengatur keselarasan kerja setiap unit (apa yang harus dilakukan oleh suatu unit pasti diketahui oleh CU) . Arithmetic Logic Unit (ALU) Melakukan fungsi aritmatika (ADD,SUB,MUL,INC,DEC, OR, AND, NOT, NOR, NAND, EXOR). Register Unit (RU) Memori khusus dalam MPU yang berfungsi untuk penyimpanan sementara.
Komponen Utama mikroprosesor terdiri dari :
Mikroprosesor Unit (MPU) RAM ROM I/O PEWAKTU/Clocking RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 2 S1 Teknik Elektro Telekomunikasi/Ekstensi
Bagian dari Sistem Bus
Data Bus Address Bus Control Bus
Sistem BUS dan Fungsinya
BUS Data Perpindahan data antara MPU/CPU dengan komponen luar terjadi pada Bus Data : Bidirectional data bus terdiri dari 8, 16, 32, 64 atau lebih saluran paralel. CPU membaca/menulis data : lokasi memori,Port. (melalui saluran Bus Data). Banyak piranti akan terhubung pada data bus namun hanya ada satu piranti yang aktif dalam satu waktu akses. Setiap piranti yang terhubung ke data bus harus menggunakan tri state buffer sehingga dapat berkeadaan floating/berimpedansi tinggi jika tidak sedang digunakan. Mikroprosesor standar memiliki saluran bus data 8 bit dua arah artinya alih data atau informasi berlangsung pada 8 saluran paralel dari MPU ke unit lain diluar MPU atau dari unit lain di luar ke MPU.
Address BUS Untuk menetapkan kemana data itu dikirim atau dari mana data itu diambil digunakan bus alamat (Address Bus).Bus alamat bertugas menetapkan dan memilih satu lokasi memori atau satu lokasi I/O yang hendak diakses.Bus alamat terdiri dari 16, 20, 24, atau lebih saluran sinyal paralel. Pada saluran CPU mengirim alamat lokasi memori yang akan ditulisi atau lokasi memori yang akan dibaca. Jumlah lokasi memori yang dapat dialamati oleh sebuah CPU ditentukan oleh jumlah bit address bus. Jika jumlah bit address bus adalah N maka jumlah lokasi memori yang dapat dialamati =2N.
Control BUS Bus Kendali (Control bus) terdiri dari 4 -10 saluran paralel. CPU mengirim keluar atau menerima sinyal kendali melalui saluran bus kendali. Bentuk-bentuk bus kendali adalah: Pembacaan memori, Penulisan ke memori, Pembacaan Port I/O, Penulisan Port I/O, Reset, Interrupt, Memori Request, I/O Request, dan sebagainya tergantung jenis CPU-nya. RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 3 S1 Teknik Elektro Telekomunikasi/Ekstensi Bus Kendali adalah seperangkat bit pengendali yang berfungsi mengatur:
1.Penyerempakan memori, 2.Penyerempakan I/O, 3.Penjadwalan MPU, Interupsi, DMA, 4.Pembentuk clock, dan reset. Input/Output merupakan bagian yang memungkinkan komputer untuk mengambil data dari luar atau mengirim data ke luar. Peripheral semacam keyboard, terminal: video/monitor, printer dan modem dihubungkan ke bagian I/O. Piranti yang digunakan untuk interface bus komputer ke peralatan luar disebut Port. Execution Sequence Sebuah mikroprosesor harus dapat melakukan proses: Fetch Data atau mengambil data baik dari memori maupun dari I/O dengan proses Read Data. Process Data atau mengolah data dalam salah satu operasi Aritmetika atau Logika. Write Data atau menulis data ke memori atau I/O. Fetch Instruction atau mengambil instruksi yaitu membaca instruksi dari memori. Interpret Instruction atau menterjemahkan instruksi. Instruksi harus didekode untuk menentukan aksi dari suatu instruksi yang harus dilakukan.
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 4 S1 Teknik Elektro Telekomunikasi/Ekstensi Sejarah Perkembangan Mikroprosesor 1904 : Dioda tabung pertama kali diciptakan oleh seorang ilmuwan dari Inggris yang Bernama Sir John Ambrose Fleming (1849-1945) 1906 : ditemukan trioda hasil pengembangan dioda tabung oleh seorang ilmuwan Amerika yang bernama Dr. Lee De Forest. Yang kemudian terciptalah tetroda dan pentode. Akan tetapi penggunaan dari tabung hampa tersebut tergeser pada tahun 1960 setelah ditemukannya komponen semikonduktor. 1947 : Transistor diciptakan di labolatorium Bell. 1965 : Gordon Moore dari Fairchild semiconductor dalam sebuah artikel untuk majalan elektronik mengatakan bahwa chip semikonduktor berkembang dua kali lipat setiap dua tahun selama lebih dari tiga dekade. 1968 : Moore, Robert Noyce dan Andy Grove menemukan Intel Corp. untuk menjalankan bisnis INTegrated Electronics. 1969 : Intel mengumumkan produk pertamanya, RAM statis 1101, metal oxide semiconductor (MOS) pertama di dunia. Ia memberikan sinyal pada berakhirnya era memori magnetis. 1971 : Intel meluncurkan mikroprosesor pertama di dunia, 4-bit 4004, yang didesain oleh Federico Faggin. 1972 : Intel mengumumkan prosesor 8-bit 8008. Bill Gates muda dan Paul Allen coba mengembangkan bahasa pemograman untuk chip tersebut, namun saat itu masih kurang kuat. 1974 : Intel memperkenalkan prosesor 8-bit 8080, dengan 4.500 transistor yang memiliki kinerja 10 kali pendahulunya. 1975 : Chip 8080 menemukan aplikasi PC pertamanya pada Altair 8800, sekaligus merevolusi PC. Gates dan Allen sukses mengembangkan bahasa dasar Altair, yang kemudian menjadi Microsoft Basic, untuk 8080. 1976 : Arsitektur x86 mengalami kemunduran saat Steve Jobs dan Steve Wozniak memperkenalkan Apple II computer dengan menggunakan prosesor 8-bit Motorola 6502. 1978 : Intel memperkenalkan mikroprosesor 16-bit 8086 yang kelak menjadi standar industri pada tanggal 8 Juni. 1979 : Intel memperkenalkan versi dengan harga yang lebih murah dari 8086, yaitu 8088 dengan 8-bit bus. 1980 : Intel memperkenalkan 8087 math co-processor. 1982 : IBM menandatangani Advance Mikro Device sebagai sumber kedua Intel untuk mikroprosesor 8086 dan 8088. 1982 : Intel memperkenalkan prosesor 16-bit 80286 dengan 134.000 transistor. 1984 : IBM mengembangkan PC generasi kedua, 80286-based PC-AT. PC-AT yang MenjalankanMS-DOS,kelak menjadi standar PC selama hampir 10 tahun. 1985 : Intel keluar dari bisnis RAM dinamis untuk fokus pada mikroprosesor, dan akhirnya ia mengeluarkan prosesor 80386, sebuah chip 32-bit dengan 275.000 transistor dan kemampuan menjalankan berbagai macam program sekaligus. 1986 : Compaq Computer melambungkan IBM dengan PC yang didasarkan pada 80386. 1987 : VIA Technologies didirikan di Fremont, Calif., mereka akan mejual chip set Core Logic. 1989 : 80486 diluncurkan, dengan 1.2 juta buah transistor dan built-in math co-processor. Intel telah memprediksi pengembangan prosesor multicore suatu saat pada tahun 2000-an. 1990 : Compaq memperkenalkan server PC pertama, yang dijalankan dengan menggunakan 80486. 1993 : Transistor 3.1 juta, prosesor 66-MHz Pentium dengan teknologi superscalar diperkenalkan. RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 5 S1 Teknik Elektro Telekomunikasi/Ekstensi 1994 : AMD dan Compaq membentuk aliansi untuk mendukung Compaq computer dengan mikroprosesor Am486. 1997 : Intel meluncurkan teknologi prosesor 64-bit Epic. Ia juga memperkenalkan MMX Pentium untuk aplikasi prosesor sinyal digital, yang juga mencakup grafik, audio, dan pemrosesan suara. 1998 : Intel memperkenalkan prosesor Celeron di bulan April. 1999 : VIA mengakuisisi Cyrix Corp. dan Centaur Technology, pembuat prosesor x86 dan x87 co-processor. 2000 : Debut Pentium 4 dengan 42 juta transistor. 2003 : AMD memperkenalkan x86-64, versi 64-bit dari x86 instruction set. 2004 : AMD mendemonstrasikan x86 dual-core processor chip. 2005 : Intel menjual prosesor Dual-Core pertamanya. 2006 : Dell Inc. mengumumkan akan menawarkan system prosesor berbasis AMD. 2006 : Intel Memperkenalkan prosesor core 2 duo di bulan juli. 2007 : Intel memperkenalkan prosesor core 2 quad di bulan januari.
BAB 2 ARSITEKTUR MIKROPROSESSOR
Sejak intel pertama kali mengeluarkan mikroprosessor 4004 tahun 1970 dikenal ada 2 jenis arsitektur. Tahun 1944 howard aiken dari harvard university bekerja sama dengan engineer ibm membuat mesin electromechanical menggunakan tabung dan relay yang dikenal sebagai komputer pertama di dunia mesin buatannya diberi nama harvard mark i tahun 1941 konrad zuse dari jerman mesin yang dapat di program dan bekerja dengan sistem biner harvard mark i mesin kalkulator yang dikendalikan oleh pita kertas yang berisi instruksi tahun 1939 alan turing ahli matematika inggris mengemukakan konsep mesin universal tahun 1945 dr. john von neumann ahli matematika membuat tulisan mengenai konsep komputer yang menggunakan tempat penyimpanan instruksi dan data pada memori. sampai sekarang dikenal 2 jenis arsitektur mikroprosessor yaitu harvard dan von neumann
ARSITEKTUR VON NEUMANN menempatkan rom dan ram dalam peta memori yang sama memiliki address dan data bus tunggal keluarga 68hc05 dan 68hc11 tidak membedakan program dan data tidak memerlukan control bus tambahan (i/o khusus untuk membedakan program dan data)
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 6 S1 Teknik Elektro Telekomunikasi/Ekstensi KEUNTUNGAN Fleksible Pada Pengalamatan Program Dan Data Program Di Simpan Pada Rom Dan Data Selalu Di Simpan Pada Ram Prosessor Memungkinkan Untuk Menjalankan Program Yang Ada Dalam Ram (Pada Saat Power On, Program Inisialisasi) Data Dapat Disimpan Pada Rom (Look Up Table) Dapat Dengan Mudah Menambahkan Peripheral Lain (Adc, Pwm, Eeprom Dan Device Lain)
KELEMAHAN Kelemahan Terdapat Pada Bus Tunggal Instruksi Untuk Mengakses Program Dan Data Harus Dijalan Secara Sekuensial Tidak Bisa Dilakukan Overlaping Untuk Menjalankan Dua Instruksi Yang Berurutan Bandwidth Program Harus Sama Dengan Bandwidth Data Membutuhkan Cpi (Clock Per Instruksi) Yang Banyak Relatif Lebih Lambat
KEUNGGULAN ARSITEKTUR HARVARD 16 Bits Memori Program Digunakan Untuk Instruksi (Opcode Dan Operand) Dijadikan Satu Dalam Satu Word Instruksi. Prosessor Yang Menggunakan Arsitektur Harvard Menjadi Lebih Cepat Dikenal Sebagai Prosessor 1 Siklus Mesin, Kecuali Untuk Percabangan Memberikan Keuntungan Pada Kapasitas Memori Memiliki Bus Serial I2c Yang Praktis Untuk Penambahan Device Eksternal
PERBEDAAN MACHINE CYCLE arsitektur von neumann membutuhkan 6 sikul mesin untuk percabangan arsitektur harvard membutuhkan 3 siklus mensin untuk percabangan motorola 68hc05/11 decx bne loop intel 80c31/51 djnz r0,loop
ARSITEKTUR I/O I/O Terisolasi I/O terpetakan dalam memori RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 7 S1 Teknik Elektro Telekomunikasi/Ekstensi ARSITEKTUR I/O TERISOLASI Menggunakan desain pengalamatan atau pemetaan I/O terpisah dari pengalamatan memori Pengalamatan I/O menggunakan sebagaian dari Address Bus Ada Pengendalian yang terpisah dan bergantian pada saat mikroprosessor mengakses memori maka I/O harus Off dan sebaliknya Jika mikroprosesor dengan saluran alamat 16 bit, maka jumlah lokasi memori maksimum yang dapat dialamati adalah 1216 atau 64 Kilo byte Jumlah lokasi I/O yang dapat dialamati adalah 28 yaitu sama dengan 256 byte Menggunakan Accumulator untuk menerima dan pengirim data ke I/O Instruksi yang digunakan untuk mengakses I/O hanya IN dan OUT ARSITEKTUR I/O TERISOLASI Menyatukan sel-sel I/O dalam pengalamatan bersama dengan memori Instruksi yang digunakan untuk mengakses memori dan I/O sama Sebuah pintu I/O diperlakukan seperti sebuah lokasi memori.
ARSITEKTUR SOFTWARE Complex Instruction Set Computer (CISC) Reduce Instruction Set Computer (RISC)
COMPLEX INSTRUCTION SET COMPUTER (CISC) Menggunakan banyak jenis dan ragam instruksi Menyediakan kemampuan setiap instruksi dapat mengeksekusi operasi low-level, seperti men-load data dari memori, operasi aritmatika, dan melakukan prosedur penyimpanan ke memori. Mikroprosesor jenis ini memiliki kemampuan eksekusi cepat. Contoh Mikroprosesor dengan arsitektur CISC -80, NS 32016, MC6800. Sulit mengembangkan interpreter dan kompiler.
REDUCE INSTRUCTION SET COMPUTER (RISC) Arsitektur mikroprosesor yang menekankan kepada kesederhanaan instruksi, tetapi memberikan hasil performansi yang tinggi Proses eksekusi instruksi sangat cepat Lebih baru di bandingkan dengan arsitektur CISC Arsitektu RISC memiliki sedikit Instruksi banyak register Instruksi bersifat tunggal Ukuran instruksi umumnya 4 byte Minimal memiliki 32 Register Menimal 16 Register floating point direferensikan secara eksplisit Contoh mikroporsesor AMD 2900, MIPS R2000, SUN SPARC, MC 8800, ATMET 90S1200, 90S2313, 90S2323 RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 8 S1 Teknik Elektro Telekomunikasi/Ekstensi
MIKROPROSESSOR 8088 Multipurpose Mikroprosessor Implementasikan Menggunakan Teknologi N-Chanel, Depletion Load Dan Silicon Gate Termasuk Keluarga Mikroprosessor 8 Bit Dan 16 Bit Kompatibel Baik Hardware/Software Yang Didesain Untuk 8086 Dan 8080/8085 Memiliki 8bit Jalur Data Dan 20bit Jalur Alamat. Mampu Mengalamati Memori Sampai 1 Mb
KETERANGAN PIN 8088 Bus Address (Ad0 Ad7, A8 A15 Dan A16/S3-A19/S6) Bus Data (Ad0 Ad7) Pin Control (Rd, Clk, Ready, Reset, Intr, Test, Wr, Io/M) Clk Sinyal Input Dari Luar Untuk Mensinkronkan Segala Kegiatan Up 4,77 Mhz Atau 8 Mhz Untuk Versi Turbo Io/M (Sinyal Kontrol Memori) = 0 Sedang Berlangsung Operasi Input/Output, Io/M = 1 Sedang Berlangsung Operasi Memori Status (A16/S3 A19/S6) Mendeteksi Suatu Keadaan Atau Operasi Yang Sedang Berlangsung (Pengambilan Instruksi, Membaca Memori, Menulis Dan Operasi Lain) Catu Daya (Vcc Dan Gnd) Address Latch Enable (Ale) Sebagai Penahan Alamat Yang Baru Masuk Dalam Sauatu Proses Siklus Mesin Dt/R (Pengiriman Dan Penerimaan Data) Logik 1 = Arah Data Dari Up Menuju Keluar. Jika 0 Dari Luar Menuju Up Data Enable (Den) Meng On Kan Buffer (Latch) Yang Dihubungkan Ke Bus Data Inta (Interrupt Acknowledge ) Secara Khusus Digunakan Sebagai Tanggapan Terhadap Instruksi Intr Hold Request (Hold) Jika 1 Maka Up Akan Menghintikan Kegiatan Dan Melepas Bus Yang Berhubungan Dengan Unit Memori Dan I/O, Sehingga Hal Ini Memberikan Kesempatan Bagi Proses Lain Untuk Mengambil Alish Sistem Hold Acknowledge (Hlda) Digunakan Sebagai Pengakuan Dari Up Bahwa Sinyal Hold Telah Diterima
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 9 S1 Teknik Elektro Telekomunikasi/Ekstensi
REGISTER STATUS
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 10 S1 Teknik Elektro Telekomunikasi/Ekstensi BAB 3 Interaksi uP Dengan Memori
Mikroprosesor sebagai pusat unit pemroses yang kemudian dikenal dengan sebutan Central Processing Unit (CPU) hanya dapat berkomunikasi dengan unit memori (RWM atau ROM) dan unit I/O apabila unit-unit ini memillki alamat tertentu. Untuk keperluan ini maka dikembangkan suatu peta yang disebut Peta Memori.Peta memori adalah suatu peta yang menunjukkan lokasi alamat suatu unit memori.Peta ini sangat penting artinya bagi CPU dalam mengenali lokasi-Iokasi suatu unit memori. Peta memori menunjukkan : Bagian dari memori yang dapat digunakan untuk program Bagian memori Read Only Bagian memori Read Write Program pengendalian sistim Tempat dimana memori diinstalasi Daftar alamat piranti memori Daerah memori yang masih kosong (jika ada).
Proses pembacaan data uP8088 dari memori
uP8088 mempersiapkan alamat (lokasi) dimana data akan ditulis (diletakkan). uP8088 mempersiapkan data yang akan ditulis. uP8088 mengirimkan sinyal WRITE ke memori. Setelah menerima sinyal WRITE, memori akan membaca data yang diberikan oleh uP8088 dan meletakkannya sesuai dengan alamat yang ditentukan Kemampuan uP8088 mengakses memori Lebar dari bus data uP8088 adalah 8 bit (D0 D7) Lebar dari bus alamat uP8088 adalah 20 bit (A0 A19) RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 11 S1 Teknik Elektro Telekomunikasi/Ekstensi
Struktur memori uP8088
Memori pada sistem uP8088 memiliki dua ciri : Diakses dengan alamat selebar 16 bit (0000H FFFFH) atau 2 byte data yang diakses untuk setiap alamat adalah 8 bit atau 1 byte Alamat dari suatu cell memori direpresentasikan dalam format 2 byte (0000H FFFFH) disimpan dalam register alamat. Kapasitas register alamat uP8088 adalah 2 byte, maka jumlah cell memori yang dapat disimpan alamatnya adalah 1216 = 65536 cell memori. Karena suatu cell memori menyimpan data 1 byte (00H FFH) maka suatu register alamat uP8088 dapat mengakses (Read/Write) memori berkapasitas 65536 byte = 64 Kbyte. uP8088 harus dapat mengakses semua cell memori dari alamat terendah alamat tertinggi. Secara fisik uP8088 memiliki 20 jalur alamat (A0 A19). uP8088 menyediakan bus alamat 20 bit (00000H FFFFFH) kapasitas memori yang dapat diakses 220 = 1048576 cell memori = 1 Mb.uP8088 hanya memiliki register alamat sebesar 16 bit, sedangkan alamat memori yang harus diakses sebesar 20 bit. Mengatasi masalah tersebut maka uP8088 menggunakan 2 buah register untuk mengakses memori. Satu register akan menyimpan alamat segment ( sebesar 64 RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 12 S1 Teknik Elektro Telekomunikasi/Ekstensi Kbyte). Satu register akan menyimpan alamat offset (menentukan byte yang mana di dalam segment tersebut yang akan diakses) Alamat Memori
Pada gambar terlihat disebelah kiri peta ada angka-angka yang menunjukkan alamat memori. EPROM2532 berada pada alamat 0000h -0FFFh. RAM 6116 berada pada alamat 1800h - 1FFFh. EPROM 2732 berada pada alamat 2000h - 2FFFh. Mode Minimum Hubungan uP-Memori
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 13 S1 Teknik Elektro Telekomunikasi/Ekstensi Buffer
Tiap masukan sebuah alat merupakan beban pada keluaran yang menggerakkannya.Sebagian besar komponen menggerakkan mulai dari satu sampai dua puluh komponen lainnya.Setiap komponen harus diperiksa karakteristik penggerakan serta pembebanan masukan keluarannya.Bus mikroprosesor harus berhubungan dengan setiap chip masukan keluaran peripheral dan memori sistim.uP kurang kemampuan penggerakkan keluarannya yang diperlukan dalam sistim besar. Karena itu dipakai buffer atau penggerak untuk menaikkan daya penggerakan bus.Saluran-saluran pada bus pengendali bersifat satu arah.Data harus lewat pada dua arah, jadi dipakai baik sebagai pengirim maupun sebagai penerima. LATCH uP8088 perlu dimultipleks : memperkecil jumlah pin pada IC. Namun hal ini akan membebani perencanaan hardware untuk men-demultipleks. uP8088 address bus menggunakan 2 buah LATCH (AD0 AD7 dan A19/S6 A16/S3). Pengaturan LATCH menggunakan pin ALE dari uP. Pada saat ALE berlogika 1 maka address dapat dilewatkan menuju address memori. Pada saat ALE berlogika 0 maka address tidak bisa dilewatkan.
BAB 4 Mode Pengalamatan Pada uP 8088
Merupakan cara memberikan perintah transfer/pemindahan data dari lokasi satu ke lokasi lainnya. Lokasi pemindahan data dapat meliputi: register, alamat memori, maupun piranti I/O. Pemrogram (manusia) menulis instruksi dalam format assembly, selanjutnya oleh compiler (program) diubah menjadi format heksadesimal dan disimpan dalam memori. Mode Pengalamatan Ada dua cara yang biasa digunakan dalam penempatan operand instruksi yaitu pada lokasi memori utama dan register CPU. Jika operand ditempatkan pada memori utama, alamat lokasi harus diberikan oleh instruksi dalam medan operand. Banyak metode yang berguna yang dipakai untuk menentukan alamat operand.Mode yang berbeda dalam penentuan alamat operand pada instruksi dikenal dengan addressing mode (mode pengalamatan.
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 14 S1 Teknik Elektro Telekomunikasi/Ekstensi Teknik Pengalamatan Immediate Addressing Direct Addressing Indirect Addressing Register Addressing Register Indirect Addressing Displacement Addressing Stack Addressing Immediate addressing merupakan mode pengalamatan yang digunakan untuk mengisi suatu register dengan data.
Keuntungan Tidak adanya referensi memori selain dari intruksi yang diperlukan untuk memperoleh operand Menghemat siklus instruksi sehingga prosses keseluruhan akan cepat Kekurangan Ukuran Bilangan dibatasi oleh ukuran field alamat
Register untuk Immediate Addressing Register data AX,BX,CX,DX, BP,SP,SI,DI. Register segmen tidak dapat menggunakan Immediate Addressing. Alamat Memori tidak dapat diisi dengan Immediate Addressing. Direct addressing merupakan mode pengalamatan untuk mentransfer data antar memori dan register.
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 15 S1 Teknik Elektro Telekomunikasi/Ekstensi Indirect Addressing merupakan mode pengalamatan untuk mentransfer DATA/byte/word antar register dan lokasi yang alamatnya ditunjukkan oleh isi suatu register. Contoh MOV [BX], AX Pindahkan isi register AX ke dalam alamat memori yang ditunjukkan oleh isi register BX.
Register addressing digunakan untuk memindahkan data dari register ke register tujuan ukuran data byte atau word. Register relative addressing yaitu mode pengalamatan untuk tranfer byte/word antar register dan memori yang alamatnya ditunjukkan oleh isi suatu register dan jaraknya (displacement) Contoh MOV [BX + 4], AX
Stack Addressing Stack Pointer (SP) : memori tempat menyimpan isi register 16 bit yang hanya berkaitan dengan operasi PUSH dan POP. Operasi PUSH dan POP menyimpan dan mengambil isi register BC, DE, HL, IX, IY dan AF.
BAB 5 Interface Up8088 Dengan I/O
Setiap perangkat Input dan Output akan memiliki alamat tersendiri untuk menandakan perangkat mana yang akan diakses oleh uP8088 Contoh Pengaksesan Input/Output : MOV AL, 00H MOV 2FH, AL
Desain decoder dan jumlah address line Fixed addressing and isolated IO
Misalkan DIP Switch diakses pada alamat 04H = (A7)0000 0100(A0) IN AL, 04H. Instruksi IN akan mengaktifkan sinyal RD (0 Volt) dan Sinyal IO (IO/M = 5 Volt. Nomor port 4 akan memberikan nilai yang sesuai pada address Line A0 A7.
Fixed addressing and memory mapped IO
Sinyal IO/M tidak diperlukan, Intruksinya menjadi MOV AL, 04H. Tanpa adanya dekoding sinyal IO/M, maka tidak akan ada lagi yang membedakan antara akses ke IO dengan Memori. Sinyal IO/M menjadi bernilai 0 Volt. Variable Addressing and isolated IO RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 17 S1 Teknik Elektro Telekomunikasi/Ekstensi
Addressing Line yang dimasukan ke decoder A0 A15 Intruksinya menjadi : MOV DX, 0004H IN AL, DX
Variable addressing and memory mapped IO
Addressing Line yang dimasukan ke decoder A0 A15.Tidak diperlukan lagi sinyal IO/M Intruksinya menjadi : MOV DX, 0004H MOV AL, DX
Perangkat Output
Disini akan digunakan D-FF (Data Flip-Flop) untuk menyimpan data keluaran uP 8088 agar datanya dapat dilihat terus sampai datanya berubah. Mengaktifkan Flip-Flop dengan memberi sinyal CLOCK. RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 18 S1 Teknik Elektro Telekomunikasi/Ekstensi
OUT AL, #7FH.Instruksi OUT akan mengaktifkan sinyal WR (0 Volt) dan Sinyal IO (IO/M = 5 Volt). Nomor Port 7Fh akan memberikan nilai yang sesuai pada A0 A7.
BAB 7 Mikrokontroller Mikrokontroler pertama kali dikenalkan oleh Texas Instrument dengan seri TMS 1000 pada tahun 1974 yang merupakan mikrokontroler 4 bit. Pada tahun 1976 Intel mengeluarkan mikrokontroler yang kelak menjadi populer dengan nama 8748 yang merupakan mikrokontroler 8 bit, yang merupakan mikrokontroler dari keluarga MCS 48. Sekarang dipasaran banyak sekali ditemui mikrokontroler mulai dari 8 bit sampai dengan 64 bit, sehingga perbedaan antara mikrokontroler dan mikroprosesor sangat tipis. Masing2 vendor mengeluarkan mikrokontroler dengan dilengkapi fasilitas2 yang cenderung memudahkan user untuk merancang sebuah sistem dengan komponen luar yang relatif lebih sedikit. Saat ini mikrokontroler yang banyak beredar dipasaran Yogyakarta adalah mikrokontroler 8 bit varian keluarga MCS51(CISC) yang dikeluarkan oleh Atmel dengan seri AT89Sxx, dan mikrokontroler AVR yang merupakan mikrokontroler RISC dengan seri ATMEGA8535 (walaupun varian dari mikrokontroler AVR sangatlah banyak, dengan masing2 memiliki fitur yang berbeda2). Dengan mikrokontroler tersebut pengguna (pemula) sudah bisa membuat sebuah sistem untuk keperluan sehari-hari, seperti pengendali peralatan rumah tangga jarak jauh yang menggunakan remote control televisi, radio frekuensi, maupun menggunakan ponsel, membuat jam digital, termometer digital dan sebagainya. Fungsi Miktrokontoller a. Sistem kontrol mesin b. Remote kontrol c. Mesin kantor d. Peralatan rumah tangga e. Alat berat f. Radar g. Mainan Keuntungan : a. sistem elektronika menjadi lebih ringkas. b. Rancang bangun system elektronika lebih cepat c. Pencarian gangguan lebih mudah RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 19 S1 Teknik Elektro Telekomunikasi/Ekstensi Rancangan mikrokontroller memerlukan : a. Sistem minimum b. Software pemograman c. Kompiler d. Donwloader CISC Sebuah arsitektur dari set instruksi. Menggunakan banyak jenis dan ragam instruksi.Menyediakan kemampuan setiap instruksi dapat mengeksekusi operasi low-level.Memiliki kecepatan yang relatif rendah. Keuntungan CISC Program yang dibuat relatif lebih kecil Penggunaan memory akan berkurang Biaya lebih hemat Mudah dalam pemrogramman Kerugian CISC Sulitnya mengembangkan interpreter dan compiler Kecepatan relatif lebih lambat RISC Instruksi bersifat sederhana dapat di eksekusi lebih cepat.Ukuran instruksi umumnya 4 byte.Jumlah mode pengalamatan lebih sedikit (dibawah 5).Tidak ada mode pengalamatan tidak langsung (inderect addressing).Tidak ada operasi yang menggabungkan operasi load/store dengan operasi aritmatika. Keuntungan RISC Eksekusi lebih cepat Mikrokontroller dapat berukurn lebih kecil Menekan pada register dari pada memori Kerugian RISC Program yang dibuat menjadi lebih besar. Membutuhkan memori yang besar. Program yang berukuran lebih besar akan menyebabkan penurunna kinerja. Relatif sulit dalam pemrogramman
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 20 S1 Teknik Elektro Telekomunikasi/Ekstensi BAB 8 AVR
Microntroller AVR pertama kali dibuat oleh perusahaan Atmel 1996 , merupakan microcontroler pertama yang menggunkan flash memori ketika yang lain masih menggunkan eprom.Lebar bus data 8 bit.Bekerja sesuai dengan frekuensi osilator. Keluarga AVR
CPU AVR Stack Pointer Program Counter Instruction Register Instruction Decoder General Porpuse Register 32 register Alu Status Register Status Register a) I global interupt enable b) T bit copy storage copy bit antar bit register c) H half carry flag untuk menunjukan tidak adanya setengah carry pada operasi artimatika RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 22 S1 Teknik Elektro Telekomunikasi/Ekstensi d) S sign bit merupakan hasil eor antara flag n (negatif) dan flag v (komplemen dua overflow) e) V two`s component overflow flag perhitungan sebelumnya menyebabkan overflow f) N negative flag diset jika hasil operasi matematis menghasilkan negative g) Z zero flag diset jika hasil operasi matematis menghasilkan bilangan 0 h) C carry flag diset jika operasi menghasilkan carry
Memory FLASH MEMORY SRAM EEPROM
Komunikasi TWI SPI UASRT ISP Timer Counter Timer Watchdog Timer
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 23 S1 Teknik Elektro Telekomunikasi/Ekstensi Interupt External Internal I/O 8 BIT Bidirectional PORT A, PORTB, PORT C DAN PORT D Peripheral ADC PWM Pin AVR
Keterangan : A. Port A Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus disetting terlebih dahulu sebelum Port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, kedelapan pin port A juga digunakan untuk masukan sinyal analog bagi A/D converter.
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 24 S1 Teknik Elektro Telekomunikasi/Ekstensi B. Port B Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus disetting terlebih dahulu sebelum Port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Pin-pin port B juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut. Port Pin Fungsi Khusus PB0 T0 = timer/counter 0 external counter input PB1 T1 = timer/counter 0 external counter input PB2 AIN0 = analog comparator positive input PB3 AIN1 = analog comparator negative input PB4 SS = SPI slave select input PB5 MOSI = SPI bus master output / slave input PB6 MISO = SPI bus master input / slave output PB7 SCK = SPI bus serial clock C. Port C Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus disetting terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, dua pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai oscillator untuk timer/counter 2. D. Port D Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus disetting terlebih dahulu sebelum Port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut. Port Pin Fungsi Khusus PD0 RDX (UART input line) PD1 TDX (UART output line) PD2 INT0 ( external interrupt 0 input ) PD3 INT1 ( external interrupt 1 input ) PD4 OC1B (Timer/Counter1 output compareB match output) PD5 OC1A (Timer/Counter1 output compareA match output) PD6 ICP (Timer/Counter1 input capture pin) PD7 OC2 (Timer/Counter2 output compare match output) RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 25 S1 Teknik Elektro Telekomunikasi/Ekstensi E. RESET RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka system akan di-reset.
F. XTAL1 XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock operating circuit.
G. XTAL2 XTAL2 adalah output dari inverting oscillator amplifier.
H. AVcc Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter.
I. AREF AREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini. J. AGND AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki anlaog ground yang terpisah.
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 26 S1 Teknik Elektro Telekomunikasi/Ekstensi BAB 9 Sumber Clock AVR
Mikrokontroller memiliki fasilitas untuk memilih sumber clock denganMik banyak alternatif. Perbeda dengan Keluarga MCS51 yang hanya mempunyai 1 sumber clock yaitu external. Keluarga AVR memberikan opsi pilihan sumber clock untuk fleksibilitas pengguna..
Cristral Osilator Bit CKSEL0 dikombinasikan dengan bit-bit SUT1..0 digunakan untuk memilih start-up External RC Osilator Nilai frekuensi di tentukan oleh f = 1/3RC Dengan nilai C sekitar 22pF Power Management And Sleep Modes Sleep modes adalah salah satu feature AVR yang menghentikan operasi program untuk menghemat daya Untuk mengaktifkan sleep mode maka kita harus mengatur bit pada MCUCR Bit SE dan SM0..2
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 27 S1 Teknik Elektro Telekomunikasi/Ekstensi Sleep Modes Idle , semua proses instruksi akan di hentikan oleh CPU dan membuat CPU dalam kondisi idle, tatapi SPI, USART, ADC, TWI, Timer/Counter, Watchdog Timer dan Interrupt tatap beroperasi ADC Noise Reduction Mode , membuat CPU berhenti, tetapi ADC, External Interrupt, TWI, Timer/Counter masih tetap beroperasi. Power Down Mode, Membuat CPU berhenti tetapi external interrupt, Watchdog Timer dan TWI tetap beropeasi. Power Save mode , CPU berhenti terkecuali Timer/Counter2 tetap beropeasi dan sebagai wake up time jika timer sudah overflow Standby mode , mode ini akan brfungsi jika menggunakan external osilator, wake up ketika sudah mencapai 6 siklus clock
BAB 10 I/O Pada Mikrokontroller AVR
Perangkat I/O digunakan oleh processor untuk berkumikasi dengan dunia luar.Perangkat I/O merupakan pengkondisi sinyal sebelum dapat diolah oleh processor atau setelah diolah prosessor ygn berupa data digital.Logika 1 (high) = 5 Volt dan Logika 0 (low) = 0 Volt Programmed I/O Prosessor mengirim dan menerima data pada I/O sesuai instruksi.Interrupt-driven I/O sinyal dari luar mengatur eksekusi intruksi prosessor.Direct Memory Access (DMA) Memungkinkan trasnsfer data langsung antara peripheral I/O dengan Memori tanpa keterlibatan Prosessor. Peta I/O Pada Lokasi Memori
Register I/O DDRx Digunakan untuk memilih arah pin. Jika DDRx = 1 sebagai output. Jika DDRx = 0 sebagai input Portx Register Portx digunakan untuk 2 keperluan. Portx berfungsi sebagai output jika DDRx = 1. Portxn = 1 maka pin Pxn akan berlogika high. Portxn = 0 maka pin Pxn akan berlogika low. Portx berfungsi untuk mengaktfikan resistor pullup jika DDRx = 0. Portxn = 1 maka pin Pxn sebagai pin input dengan resistor pull up. Portxn = 0 maka pin Pxn sebagai pin input tanpa resistor pull up PINx digunakan sebagai register input Timer/Counter Fasilitas yang dimiliki mikrokontroller untuk membuat delay atau tundaan. Pada dasarnya hanya menghitung pulsa clock.Frekuensi pulsa clock yang dihitung tersebut bisa sama dengan frekuensi crystal atau diperlambat dengan menggunakan prescaler (8, 64, 256 dan 1024). Fasilitas Timer/Counter AVR Timer/Counter0 8 bit Timer/Counter1 16 bit Timer/Counter2 8 bit 8 bit dan 16 bit adalah jumlah data yang bisa ditampung pada register penampungnya.
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 29 S1 Teknik Elektro Telekomunikasi/Ekstensi Register Pengaturan Timer TCNT digunakan untuk menyimpan nilai timer yang diinginkan, register ini bisa terdiri dari 8 (TCNTx) atau 16 bit (TCNTxH dan TCNTxL). Timer Interrupt Mask Register (TIMSK) dan Timer Interrupt Flag Register (TIFR) digunakan untuk mengendalikan interrupt mana yang diaktifkan. Counter Register B digunakan untuk mengatur mode timer, prescaler dan pilihan lainnya
BAB 12 PERIPHERAL AVR
Analog to Digital Converter (ADC) Pulse Width Modulation (PWM)
ADC Salah satu fasilitas Mikrokontroller AVR ADC berfungsi untuk mengubah data analog menjadi data digital ADC memiliki 2 karater prinsip, Kecepatan Sampling dan Resolusi Kecepatan Sampling , menyatakan seberapa sering sinyal analog dikonversikan ke bentuk sinyal digital pada selang waktu tertentu
RESOLUSI ADC Resolusi ADC , menentukan ketelitian nilai hasil konversi ADC Contoh : ADC 8 bit kana memiliki output 8 bit data digital, sinyal input datap dinyatakan dalam 255 (2n 1) nilai diskrit ADC 12 bit memiliki 12 bit output data digital, sinyal input dapat dinyatakan dalam 4096 nilai diskrit. ADC 12 bit akan memberikan ketelitian nilai hasil konversi yang jauh lebih baik dari pada ADC 8 bit
KONFIGURASI ADC Proses inisialisasi ADC meliputi proses penentuan clock, tegangan referensi, format output data dan mode pembacaan. Dalam konfigurasi ADC ada beberapa register yang harus di konfigurasi yaitu : ADC Multiplexer Selection Register (ADMUX), ADC Control and Status Register (ADCSRA) dan Special Function IO Register (SFIOR). ADC Multiplexer Selection Register (ADMUX)
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 30 S1 Teknik Elektro Telekomunikasi/Ekstensi
Bits 4:0 MUX4:0 Analog Channel and Gain Selection Bits
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 31 S1 Teknik Elektro Telekomunikasi/Ekstensi MODE PWM Normal Mode Fast PWM Mode Phase Correct PWM
MODE FAST PWM
MODE PHASE CORRECT PWM
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 32 S1 Teknik Elektro Telekomunikasi/Ekstensi
REGISTER KONFIRUGASI PWM
BAB 13 INTERRUPT
Suatu kondisi yang memaksa prosessor menghintikan sementara program utama untuk mengeksekusi rutin interrupt tertentu/Interrupt Routine Service
KONDISI INTTERUP INT0, INT1, INT2
LOW LEVEL ANY CHANGE FALLING EDGE RISSING EDGE
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 33 S1 Teknik Elektro Telekomunikasi/Ekstensi KOMUNIKASI SERIAL
Mikrokontroller dilengkapi dengan fasilitas komunikasi, sistem komunikasi pada mikrokontroller ada 2 Jenis yaitu :
Parallel Serial
Agar komunikasi serial dapat berjalan dengan baik dibutuhkan suatu protokol/aturan komunikasi :
USART SPI I2C
JENIS KOMUNIKASI SERIAL
UNIVERSAL SYNCHRONOUS AND ASYNCHRONOUS SERIAL RECEIVER AND TRANSMITTER (USART)
Merupakan bagian dari mikrokontroller yang menerjemahkan bit-bit paralel menjadi bit-bit serail. USART, protokol komunikasi yang digunakan dalam pengiriman data serial antara device satu dengan yang lainnya. Komponen Utama USART : Penyangga (Buffer) Transmit/Receive Pengendali (Control) Transmit/Receive Kendali Logika Read/Write Kendali Modem
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 34 S1 Teknik Elektro Telekomunikasi/Ekstensi BAUD RATE Paket data UART, Clock yang dikirimkan bergantung dari nilai baud rate. Baud rate yang ada adalah nilai-nilai tetap yang tidak bisa diubah ubah dari kisaran nilai 110 sampai 11059200 bps (bit per second) Rumusan untuk mencari Baud Rate = Fosc/(16(UBRR+1)) UBRR = (Fosc/(16*Baud Rate)) 1 Error (%) = (BaudRateAktual BaudRateAwal)100%
POWER MANAGEMENT AND SLEEP MODES Sleep modes adalah salah satu feature AVR yang menghentikan operasi program untuk menghemat daya Untuk mengaktifkan sleep mode maka kita harus mengatur bit pada MCUCR Bit SE dan SM0..2
RANGKUMAN SISTEM MIKROPROSESOR 2014
[2212111026] Dicky Mulyana Page 36 S1 Teknik Elektro Telekomunikasi/Ekstensi SLEEP MODES Idle, semua proses instruksi akan di hentikan oleh CPU dan membuat CPU dalam kondisi idle, tatapi SPI, USART, ADC, TWI, Timer/Counter, Watchdog Timer dan Interrupt tatap beroperasi ADC Noise Reduction Mode, membuat CPU berhenti, tetapi ADC, External Interrupt, TWI, Timer/Counter masih tetap beroperasi. Power Down Mode, Membuat CPU berhenti tetapi external interrupt, Watchdog Timer dan TWI tetap beropeasi. 26 Power Save mode CPU berhenti terkecuali Timer/Counter2 tetap beropeasi dan sebagai wake up time jika timer sudah overflow Standby mode mode ini akan brfungsi jika menggunakan external osilator, wake up ketika sudah mencapai 6 siklus clock