KL301

Mikroprosesor

By

[TUGAS] Mendefinisikan Port/Pin pada ATmega8 / ATmega8535


Pertanyaan :

Pelajari tentang penggunaan Port dan Pin pada mikrokontroller ATmega8 / ATmega8535

serta bagaimana cara mendefinisikan port atau pin tersebut sebagai jalur input atau sebagai jalur output,

berikan contoh program dalam Bascom AVR , C.

Status :

100% Dikerjakan

Keterangan :

Saya sudah menjawab seluruh pertanyaan yang diberikan.

Pembuktian :
Mikrokontroler Atmega 8535

Mikrokontroler adalah IC yang dapat diprogram berulang kali, baik ditulis atau dihapus (Agus Bejo, 2007). Biasanya digunakan untuk pengontrolan otomatis dan manual pada perangkat elektronika.

Beberapa tahun terakhir, mikrokontroler sangat banyak digunakan terutama dalam pengontrolan robot. Seiring perkembangan elektronika, mikrokontroler dibuat semakin kompak dengan bahasa pemrograman yang juga ikut berubah. Salah satunya adalah mikrokontroler AVR (Alf and Vegard’s Risc processor) ATmega8535 yang menggunakan teknologi RISC (Reduce Instruction Set Computing) dimana program berjalan lebih cepat karena hanya membutuhkan satu siklus clock untuk mengeksekusi satu instruksi program. Secara umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu kelas ATtiny, keluarga AT90Sxx, keluarga ATmega, dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama.

Mikrokontroler AVR ATmega8535 memiliki fitur yang cukup lengkap. Mikrokontroler AVR ATmega8535 telah dilengkapi dengan ADC internalEEPROM internalTimer/Counter, PWM, analog comparator, dll (M.Ary Heryanto, 2008). Sehingga dengan fasilitas yang lengkap ini memungkinkan kita belajar mikrokontroler keluarga AVR dengan lebih mudah dan efisien, serta dapat mengembangkan kreativitas penggunaan mikrokontroler ATmega8535.

Fitur-fitur yang dimiliki oleh mikrokontroler ATmega8535 adalah sebagai berikut:

1. Saluran I/O sebanyak 32 buah, yaitu port A, port B, port C, dan port D.

2. ADC internal sebanyak 8 saluran.

3. Tiga buah Timer/Counter dengan kemampuan pembandingan.

4. CPU yang terdiri atas 32 buah register.

5. SRAM sebesar 512 byte.

6. Memori Flash sebesar 8 kb dengan kemampuan Read While Write.

7. Port antarmuka SPI

8. EEPROM sebesar 512 byte yang dapat diprogram saat operasi.

9. Antarmuka komparator analog.

10. Port USART untuk komunikasi serial.

11. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.

12. Dan lain-lainnya.

Arsitektur Atmega 8535

download

Konstruksi ATmega8535

Mikrokontroler ATmega8535 memiliki 3 jenis memori, yaitu memori program, memori data dan memori EEPROM. Ketiganya memiliki ruang sendiri dan terpisah.

a. Memori program

ATmega8535 memiliki kapasitas memori progam sebesar 8 Kbyte yang terpetakan dari alamat 0000h – 0FFFh dimana masing-masing alamat memiliki lebar data 16 bit. Memori program ini terbagi menjadi 2 bagian yaitu bagian programboot dan bagian program aplikasi.

b. Memori data

ATmega8535 memiliki kapasitas memori data sebesar 608 byte yang terbagi menjadi 3 bagian yaitu register serba guna, register I/O dan SRAM. ATmega8535 memiliki 32 byte register serba guna, 64 byte register I/O yang dapat diakses sebagai bagian dari memori RAM (menggunakan instuksi LD atau ST) atau dapat juga diakses sebagai I/O (menggunakan instruksi IN atau OUT), dan 512 byte digunakan untuk memori data SRAM.

c. Memori EEPROM

ATmega8535 memiliki memori EEPROM sebesar 512 byte yang terpisah dari memori program maupun memori data. Memori EEPROM ini hanya dapat diakses dengan menggunakan register-register I/O yaitu register EEPROM Address, register EEPROM Data, dan register EEPROM Control. Untuk mengakses memori EEPROM ini diperlakukan seperti mengakses data eksternal, sehingga waktu eksekusinya relatif lebih lama bila dibandingkan dengan mengakses data dari SRAM.

ATmega8535 merupakan tipe AVR yang telah dilengkapi dengan 8 saluran ADC internal dengan fidelitas 10 bit. Dalam mode operasinya, ADC ATmega8535 dapat dikonfigurasi, baik secara single ended input maupun differential input. Selain itu, ADC ATmega8535 memiliki konfigurasi pewaktuan, tegangan referensi, mode operasi, dan kemampuan filter derau yang amat fleksibel, sehingga dengan mudah disesuaikan dengan kebutuhan ADC itu sendiri.

ATmega8535 memiliki 3 modul timer yang terdiri dari 2 buah timer/counter 8 bit dan 1 buah timer/counter 16 bit. Ketiga modul timer/counter ini dapat diatur dalam mode yang berbeda secara individu dan tidak saling mempengaruhi satu sama lain. Selain itu, semua timer/counter juga dapat difungsikan sebagai sumber interupsi. Masing-masing timer/counter ini memiliki register tertentu yang digunakan untuk mengatur mode dan cara kerjanya.

Serial Peripheral Interface (SPI) merupakan salah satu mode komunikasi serial syncrhronous kecepatan tinggi yang dimiliki oleh ATmega8535. Universal Syncrhronous and Asyncrhronous Serial Receiver and Transmitter (USART) juga merupakan salah satu mode komunikasi serial yang dimiliki oleh ATmega8535.

USART merupakan komunikasi yang memiliki fleksibilitas tinggi, yang dapat digunakan untuk melakukan transfer data baik antar mikrokontroler maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART.

USART memungkinkan transmisi data baik secara syncrhronous maupun asyncrhronous, sehingga dengan memiliki USART pasti kompatibel dengan UART. Pada ATmega8535, secara umum pengaturan mode syncrhronous maupun asyncrhronous adalah sama. Perbedaannya hanyalah terletak pada sumber clock saja.  Jika pada mode asyncrhronous masing-masing peripheral memiliki sumber clock sendiri, maka pada mode syncrhronous hanya ada satu sumber clock yang digunakan secara bersama-sama. Dengan demikian, secara hardware untuk mode asyncrhronous hanya membutuhkan 2 pin yaitu TXD dan RXD, sedangkan untuk mode syncrhronous harus 3 pin yaitu TXD, RXD dan XCK.

Port I/O ATMega8535

Port I/O pada mikrokontroler ATMega8535 dapat difungsikan sebagai input ataupun dengan keluaran high atau low. Untuk mengatur fungsi port I/O sebagai input ataupun output perlu dilakukan setting pada DDR dan Port. Berikut tabel pengaturan port I/O.

download (1)

Dari tabel di atas, menyeting input/output adalah :

1. Input ; DDr bit 0 dan Port bit 1

2. Output High ; DDR bit 1 dan Port bit 1

3. Output Low ; DDR bit 1 dan Port bit 0

Logika port I/O dapat berubah-ubah dalam program secara byte atau hanya bit tertentu. Mengubah sebuah keluaran bit I/O dapat dilakukan menggunakan perintah cbi (clear bit I/O) untuk menghasilkan output low atau perintah sbi (set bit I/O) untuk menghasilkan output high. Perubahan secara byte dilakukan dengan perintah in atau out yang menggunakan register bantu. Port I/O sebagai output hanya memberikan arus sourcing sebesar 20mA sehingga untuk menggerakkan motor atau kendali alat elektronis yang lain, perlu diberikan penguat tambahan atau dapat juga dengan konfigurasi port sebagaisinking current, seperti pada port yang digunakan untuk menyalakan LED, yang akan menyala saat port diberikan logika low dan mati saat port logika high.

Status Register (SREG) ATMega8535

download (2)

Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler.

1. Bit 7-I : Global Interrupt Enable

Bit harus diset untuk meng-enable interupsi. Setelah itu anda dapat mengaktifkan interupsi mana yang akan digunakan dengan cara meng-enable bit kontrol register yang bersangkutan secara individu. Bit akan di-clear apabila terjadi suatu interupsi yang dipicu oleh hardware, dan bit tidak akan mengizinkan terjadinya

interupsi, serta akan diset kembali oleh instruksi RETI.

2. Bit 6-T : Bit Copy Storage

Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T menggunakan instruksi BTS, dan sebaliknya bit-T dapat disalin kembali ke suatu bit dalam register GPR menggunakan instruksi BDL.

3. Bit 5-H : half Carry Flag

4. Bit 4-S : Sigh Bit

Bit-S merupakan hasil operasi EOR antara Flag-N (negatif) dan flag V

(komplemen dua overflow).

5. Bit 3-V : Two’s Complement Overflow Flag

Bit berguna untuk mendukung operasi aritmatika.

6. Bit 2-N : Negative Flag

Apabila suatu operasi menghasilkan bilangan negatif, maka flag-N akan di-set.

7. Bit 1-Z : Zero Flag

Bit akan di-set bila hasil operasi yang diperoleh adalah nol.

8. Bit 0-C : Carry Flag

Apabila suatu operasi menghasilkan carry, maka bit akan di-set.

Peta Memori Atmega 8535

ATMega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian yaitu : 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM internal.

Register untuk keperluan umum menempati space data pada alamat terbawah yaitu $00 sampai $1F. Sementara itu register khusus untuk menangani I/O dan kontrol terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 sampai $5F. Register tersebut merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti kontrol register, timer/counter, fungsi fungsi I/O, dan sebagainya. Register khusus alamat memori secara lengkap dapat dilihat pada tabel dibawah. Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F.

download (3)

Pin-pin pada Mikrokontroler ATmega8535

download (4)

Konfigurasi pin ATmega8535 dengan kemasan 40 pin DIP (Dual Inline Package) dapat dilihat pada gambar 2.1. Dari gambar di atas dapat dijelaskan fungsi dari masing-masing pin Atmega8535 sebagai berikut:

1. VCC merupakan pin yang berfungsi sebagai masukan catu daya.

2. GND merukan pin Ground.

3. Port A (PortA0…PortA7) merupakan pin input/output dua arah dan pin masukan ADC.

4. Port B (PortB0…PortB7) merupakan pin input/output dua arah dan dan pin fungsi khusus, seperti dapat dilihat pada tabel di bawah ini.

Tabel 2. Fungsi Khusus Port B

Pin

Fungsi Khusus

PB7

SCK (SPI Bus Serial Clock)

PB6

MISO (SPI Bus Master Input/ Slave Output)

PB5

MOSI (SPI Bus Master Output/ Slave Input)

PB4

SS (SPI Slave Select Input)

PB3

AIN1 (Analog Comparator Negative Input)OC0 (Timer/Counter0 Output Compare Match Output)

PB2

AIN0 (Analog Comparator Positive Input)INT2 (External Interrupt 2 Input)

PB1

T1 (Timer/ Counter1 External Counter Input)

PB0

T0 T1 (Timer/Counter External Counter Input)XCK (USART External Clock Input/Output)

5. Port C (PortC0…PortC7) merupakan pin input/output dua arah dan pin fungsi khusus, seperti dapat dilihat pada tabel dibawah ini.

Tabel 3. Fungsi khusus Port C

Pin

Fungsi khusus

PC7

TOSC2 ( Timer Oscillator Pin2)

PC6

TOSC1 ( Timer Oscillator Pin1)

PC5

Input/Output

PC4

Input/Output

PC3

Input/Output

PC2

Input/Output

PC1

SDA ( Two-wire Serial Buas Data Input/Output Line)

PC0

SCL ( Two-wire Serial Buas Clock Line)

6. Port D (PortD0…PortD7) merupakan pin input/output dua arah dan pin fungsi khusus, seperti yang terlihat pada tabel dibawah ini.

Tabel 4. Fungsi khusus Port D

Pin

Fungsi khusus

PD7

OC2 (Timer/Counter Output Compare Match Output)

Pin

Fungsi khusus

PD7

OC2 (Timer/Counter Output Compare Match Output)

PD6

ICP (Timer/Counter1 Input Capture Pin)

PD5

OC1A (Timer/Counter1 Output Compare A Match Output)

PD4

OC1B (Timer/Counter1 Output Compare B Match Output)

PD3

INT1 (External Interrupt 1 Input)

PD2

INT0 (External Interrupt 0 Input)

PD1

TXD (USART Output Pin)

PD0

RXD (USART Input Pin)

7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.

8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.

9. AVCC merupakan pin masukan tegangan untuk ADC.

10. AREFF merupakan pin masukan tegangan referensi ADC.

Bahasa Pemrograman ATmega8535

Pemrograman mikrokontroler ATmega8535 dapat menggunakan low level language (assembly) dan high level language (C, Basic, Pascal, JAVA,dll) tergantung compiler yang digunakan (Widodo Budiharto, 2006). BahasaAssembler mikrokontroler AVR memiliki kesamaan instruksi, sehingga jika pemrograman satu jenis mikrokontroler AVR sudah dikuasai, maka akan dengan mudah menguasai pemrograman keseluruhan mikrokontroler jenis mikrokontroler AVR. Namun bahasa assembler relatif lebih sulit dipelajari dari pada bahasa C.

Untuk pembuatan suatu proyek yang besar akan memakan waktu yang lama serta penulisan programnya akan panjang. Sedangkan bahasa C memiliki keunggulan dibanding bahasa assembler yaitu independent terhadaphardware serta lebih mudah untuk menangani project yang besar. Bahasa C memiliki keuntungan-keuntungan yang dimiliki bahasa assembler (bahasa mesin), hampir semua operasi yang dapat dilakukan oleh bahasa mesin, dapat dilakukan dengan bahasa C dengan penyusunan program yang lebih sederhana dan mudah. Bahasa C terletak diantara bahasa pemrograman tingkat tinggi dan assembly (Agus Bejo,2007).

Pengisian Program pada Mikrokontroler AVR

Untuk melakukan pemrograman dalam mikrokontroler AVR, Atmel telah menyediakan software khusus yang dapat diunduh dari website resmi Atmel. Software tersebut adalah AVRStudio. Software ini menggunakan bahasaassembly sebagai bahasa perantaranya. Selain AVRStudio, ada beberapa software pihak ketiga yang dapat digunakan untuk membuat program pada AVR. Software dari pihak ketiga ini menggunakan bahasa pemrograman tingkat tinggiseperti bahasa CJava, atau Basic seperti code vision AVR. Untuk melakukan pemindahan dari komputer ke dalam chip, dapat digunakan beberapa cara seperti menggunakan kabel JTAG atau menggunakan STNK buatan Atmel.

Melakukan download program ke mikrokontroler dapat juga menggunakan   ponyprog2000. Tampilannya seperti di bawah ini:

By

[TUGAS] Dual Core, Core 2 Duo, Core i3, Core i5, Core i7 [KL301Z]


Pertanyaan :

Pelajari tentang mikroprosesor Dual Core, Core 2 Duo, Core i3, Core i5 dan Core i7
perihal hubungan antar Core, Cache L1, Cache L2 , FSB dan QPI.

Pelajari juga tentang prosesor PowerPC dan prosesor ARM.

Status :

80% Dikerjakan

Keterangan :

Saya belum menjawab seluruh pertanyaan yang diberikan.

Pembuktian :

 

  • Dual Core

Pada tahun 2005, Intel menghasilkan Processor berbasis 64 bit dan disebut dual core karena menggunakan 2 buah inti, dengan konfigurasi 1MB L2 cache pada tiap core, 800MHz FSB, dan bisa beroperasi pada frekuensi 2.8GHz, 3.0GHz, dan 3.2GHz. Pada processor jenis ini juga disertakan dukungan HyperThreading.

  • Core 2 duo

Pada tahun 2006, Intel meluncurkan Processor untuk type desktop dan digunakan pada orang yang ingin kekuatan lebih dari komputer yang ia miliki memiliki 2 buah core dengan konfigurasi 2.4GHz dengan 8MB L2 cache (sampai dengan 4MB yang dapat diakses tiap core ), 1.06GHz Front-side bus, dan thermal design power ( TDP )

  • Core I3

Intel Core i3 merupakan varian paling value dibandingkan dua saudaranya yang lain. Processor ini akan mengintegrasikan GPU (Graphics Processing Unit) alias Graphics On-board didalam processornya. Kemampuan grafisnya diklaim sama dengan Intel GMA pada chipset G45. Selain itu Core i3 nantinya menggunakan manufaktur hybrid, inti processor dengan 32nm, sedangkan memory controller/graphics menggunakan 45nm. Code produk Core i3 adalah “Arrandale”.

  • Core I5

Kelebihan Core i5 ini adalah ditanamkannya fungsi chipset Northbridge pada inti processor (dikenal dengan nama MCH pada Motherboard). Maka motherboard Core i5 yang akan menggunakan chipset Intel P55 (dikelas mainstream) ini akan terlihat lowong tanpa kehadiran chipset northbridge. Jika Core i7 menggunakan Triple Channel DDR 3, maka di Core i5 hanya menggunakan Dual Channel DDR 3. Penggunaan dayanya juga diturunkan menjadi 95 Watt. Chipset P55 ini mendukung Triple Graphic Cards (3x) dengan 1×16 PCI-E slot dan 2×8 PCI-E slot. Pada Core i5 cache tetap sama, yaitu 8 MB L3 cache.

  • Core I7

Core i7 sendiri merupakan processor pertama dengan teknologi “Nehalem”. Nehalem menggunakan platform baru yang betul-betul berbeda dengan generasi sebelumnya. Salah satunya adalah mengintegrasikan chipset MCH langsung di processor, bukan motherboard. Nehalem juga mengganti fungsi FSB menjadi QPI (Quick Path Interconnect) yang lebih revolusioner.

By

[TUGAS] CISC vs RISC [KL301Z]


Pertanyaan :

Pelajari tentang mikroprosesor RISC vs CISC, apa perbedaan arsitektur prosesornya,

berikan beberapa contoh mikroprosesor tersebut, berikan contoh komputer dan sistem operasinya yang

menggunakan mikroprosesor RISC dan CISC.

 

Pelajari juga tentang mikrokontroler RISC vs CISC, apa perbedaan arsitektur prosesornya,

berikan beberapa contoh mikrokontroler tersebut, berikan contoh development board yang

menggunakan mikrokontroler tsb.

.

Status :

100% Dikerjakan

Keterangan :

Saya Sudah menjawab seluruh pertanyaan yang diberikan.

Pembuktian :

 

 

SEJARAH PROCESSOR TIPE RISC

                Reduced Instruction Set Computing (RISC) atau “Komputasi set instruksi yang disederhanakan” pertama kali digagas oleh John Cocke, peneliti dari IBM di Yorktown, New York pada tahun 1974 saat ia membuktikan bahwa sekitar 20% instruksi pada sebuah prosesor ternyata menangani sekitar 80% dari keseluruhan kerjanya. Komputer pertama yang menggunakan konsep RISC ini adalah IBM PC/XT pada era 1980-an. Istilah RISC sendiri pertama kali dipopulerkan oleh David Patterson, pengajar pada University of California di Berkely.

Definisi

RISC, yang jika diterjemahkan berarti “Komputasi Kumpulan Instruksi yang Disederhanakan”, merupakan sebuah arsitektur komputer atau arsitektur komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana. Arsitektur ini digunakan pada komputer dengan kinerja tinggi, seperti komputer vektor. Selain digunakan dalam komputer vektor, desain ini juga diimplementasikan pada prosesor komputer lain, seperti pada beberapa mikroprosesor Intel 960, Itanium (IA64) dari Intel Corporation, Alpha AXP dari DEC, R4x00 dari MIPS Corporation, PowerPC dan Arsitektur POWER dari International Business Machine. Selain itu, RISC juga umum dipakai pada Advanced RISC Machine (ARM) dan StrongARM (termasuk di antaranya adalah Intel XScale), SPARC dan UltraSPARC dari Sun Microsystems, serta PA-RISC dari Hewlett-Packard.

Selain RISC, desain Central Processing Unit yang lain adalah CISC (Complex Instruction Set Computing), yang jika diterjemahkan ke dalam Bahasa Indonesia berarti Komputasi Kumpulan Instruksi yang kompleks atau rumit.

 

SEJARAH PROCESSOR Tipe CISC

Complex instruction-set computing atau Complex Instruction-Set Computer (CISC; “Kumpulan instruksi komputasi kompleks”) adalah sebuah arsitektur dari set instruksi komputer dimana setiap instruksi akan menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memori, operasi aritmetika, dan penyimpanan ke dalam memory, semuanya sekaligus hanya di dalam sebuah instruksi. Karakteristik CISC dapat dikatakan bertolak-belakang dengan RISC.

Sebelum proses RISC didesain untuk pertama kalinya, banyak arsitek komputer mencoba menjembatani celah semantik”, yaitu bagaimana cara itil membuat set-set instruksi untuk mempermudah pemrograman level tinggi dengan menyediakan instruksi “level tinggi” seperti pemanggilan procedure, proses pengulangan dan mode-mode pengalamatan kompleks sehingga struktur data dan akses array dapat dikombinasikan dengan sebuah instruksi. Karakteristik CISC yg “sarat informasi” ini memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat.

Memang setelah itu banyak desain yang memberikan hasil yang lebih baik dengan biaya yang lebih rendah, dan juga mengakibatkan pemrograman level tinggi menjadi lebih sederhana, tetapi pada kenyataannya tidaklah selalu demikian. Contohnya, arsitektur kompleks yang didesain dengan kurang baik (yang menggunakan kode-kode mikro untuk mengakses fungsi-fungsi hardware), akan berada pada situasi di mana akan lebih mudah untuk meningkatkan performansi dengan tidak menggunakan instruksi yang kompleks (seperti instruksi pemanggilan procedure), tetapi dengan menggunakan urutan instruksi yang sederhana.

Satu alasan mengenai hal ini adalah karena set-set instruksi level-tinggi, yang sering disandikan (untuk kode-kode yang kompleks), akan menjadi cukup sulit untuk diterjemahkan kembali dan dijalankan secara efektif dengan jumlah transistor yang terbatas. Oleh karena itu arsitektur-arsitektur ini memerlukan penanganan yang lebih terfokus pada desain prosesor. Pada saat itu di mana jumlah transistor cukup terbatas, mengakibatkan semakin sempitnya peluang ditemukannya cara-cara alternatif untuk optimisasi perkembangan prosesor. Oleh karena itulah, pemikiran untuk menggunakan desain RISC muncul pada pertengahan tahun 1970 (Pusat Penelitian Watson IBM 801 – IBMs)

Istilah RISC dan CISC saat ini kurang dikenal, setelah melihat perkembangan lebih lanjut dari desain dan implementasi baik CISC dan CISC. Implementasi CISC paralel untuk pertama kalinya, seperti 486 dari Intel, AMD, Cyrix, dan IBM telah mendukung setiap instruksi yang digunakan oleh prosesor-prosesor sebelumnya, meskipun efisiensi tertingginya hanya saat digunakan pada subset x86 yang sederhana (mirip dengan set instruksi RISC, tetapi tanpa batasan penyimpanan/pengambilan data dari RISC). Prosesor-prosesor modern x86 juga telah menyandikan dan membagi lebih banyak lagi instruksi-instruksi kompleks menjadi beberapa “operasi-mikro” internal yang lebih kecil sehingga dapat instruksi-instruksi tersebut dapat dilakukan secara paralel, sehingga mencapai performansi tinggi pada subset instruksi yang lebih besar.

CISC

CISC dimaksudkan untuk meminimumkan jumlah perintah yang diperlukan untuk mengerjakan pekerjaan yang diberikan. (Jumlah perintah sedikit tetapi rumit). Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa rakitan, tetapi konsep ini menyulitkan dalam penyusunan compiler bahasa pemrograman tingkat tinggi. Dalam CISC banyak terdapat perintah bahasa mesin.

Konsep RISC menyederhanakan rumusan perintah sehingga lebih efisien dalam penyusunan kompiler yang pada akhirnya dapat memaksimumkan kinerja program yang ditulis dalam bahasa tingkat tinggi. Arsitektur RISC banyak menerapkan proses eksekusi pipeline. Meskipun jumlah perintah tunggal yang diperlukan untuk melakukan pekerjaan yang diberikan mungkin lebih besar, eksekusi secara pipeline memerlukan waktu yang lebih singkat daripada waktu untuk melakukan pekerjaan yang sama dengan menggunakan perintah yang lebih rumit. Mesin RISC memerlukan memori yang lebih besar untuk mengakomodasi program yang lebih besar. IBM 801 adalah prosesor komersial pertama yang menggunakan pendekatan RISC.

 

Eksekusi Instruksi

Waktu eksekusi dapat dirumuskan sebagai berikut :

 

Waktu eksekusi = N x S x T

Dengan

N adalah jumlah perintah

S adalah jumlah rata-rata langkah per perintah

T adalah waktu yang diperlukan untuk melaksanakan satu langkah

Kecepatan eksekusi dapat ditingkatkan dengan menurunkan nilai dari ketiga variabel di atas. Arsitektur CISC berusaha menurunkan nilai N, sedangkan Arsitektur RISC berusaha menurunkan nilai S dan T.

Proses pipeline dapat digunakan untuk membuat nilai efektif S mendekati 1 (satu) artinya komputer menyelesaikan satu perintah dalam satu siklus waktu CPU. Nilai T dapat diturunkan dengan merancang perintah yang sederhana.

 

Reduce Instruction Set Computer (RISC)

Beberapa elemen penting pada arsitektur RISC :

  • Set instruksi yang terbatas dan sederhana
  • Register general-purpose yang berjumlah banyak, atau penggunaan

teknologi kompiler untuk mengoptimalkan pemakaian registernya

  • Penekanan pada pengoptimalan pipeline instruksi

Lebih lanjut untuk memahami RISC, diawali dengan tinjauan singkat

tentang karakteristik eksekusi instruksi.

Aspek komputasi yang ditinjau dalam merancang mesin RISC adalah sebagai berikut:

  • Operasi-operasi yang dilakukan:

Hal ini menentukan fungsi-fungsi yang akan dilakukan oleh CPU dan interaksinya dengan memori

  • Operand-operand yang digunakan:

Jenis-jenis operand dan frekuensi pemakaiannya akan menentukan organisasi memori untuk menyimpannya dan mode pengalamatan untuk mengaksesnya

  • Pengurutan eksekusi:

Hal ini akan menentukan kontrol dan organisasi pipeline

Implikasi

Hasil-hasil penelitian secara umum dapat dinyatakan bahwa terdapat tiga

buah elemen yang menentukan karakter arsitektur RISC

  • Pertama, penggunaan register dalam jumlah yang besar. Hal ini dimaksudkan untuk mengoptimalkan pereferensian operand
  • Kedua, diperlukan perhatian bagi perancangan pipeline instruksi. Karena tingginya proporsi instruksi pencabangan bersyarat dan prosedur call, pipeline instruksi yang bersifat langsung dan ringkas akan menjadi tidak efisien
  • Ketiga, terdapat set instruksi yang disederhanakan (dikurangi)

Keinginan untuk mengimplementasikan keseluruhan CPU dalam keping tunggal akan merupakan solusi Reduced Instruction Set.

Ciri-ciri RISC :

  • Instruksi berukuran tunggal Ukuran yang umum adalah 4 byte
  • Jumlah mode pengalamatan data yang sedikit, biasanya kurang dari lima buah
  • Tidak terdapat pengalamatan tak langsung
  • Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika (misalnya, penambahan dari memori, penambahan ke memori)

Penggunaan File Register Besar

  • Terdapat statement assignment yang jumlahnya banyak dalam program-program HLL (High Level Language), dan banyak diantaranya berupa statement assignment sederhana seperti A=B
  • Di samping itu, terdapat pula akses operand per statement HLL dalam jumlah yang cukup besar
  • Apabila kita menghubungkan kedua di atas dengan kenyataan bahwa sebagian besar akses adalah menuju ke skalar-skalar lokal, maka sangat mungkin kita memerlukan penyimpanan register yang besar
  • Alasan diperlukannya penyimpanan register adalah register merupakan perangkat penyimpanan yang paling cepat, yang lebih cepat dibandingkan dengan memori utama dan memori cache
  • Dimungkinkan untuk menerapkan dua buah pendekatan dasar, yaitu berdasarkan perangkat lunak dan perangkat keras :
    • Pendekatan perangkat lunak mengandalkan kompiler untuk memaksimalkan pemakaian register. Pendakatan ini membutuhkan algoritma analisis program yang canggih
    • Pendekatan perangkat keras dilakukan hanya dengan memperbanyak jumlah register sehingga akan lebih banyak variabel yang dapat ditampung di dalam register dalam periode waktu yang lebih lama.

Register Windows

  • Jendela register dibagi menjadi tiga buah daerah yang berukuran tetap :
    • Register-register parameter

Menampung parameter-parameter yang dilewatkan dari prosedur

  • Register-register local

Digunakan untuk variable lokal, setelah di-assign oleh compiler

  • Register-register temporer

Digunakan untuk pertukaran parameter

  • Overlap ini memungkinkan parameter-parameter dapat dilewatkan tanpa perpindahan aktual data

 

Variabel-variabel Global

Teknik Register Windows memberikan organisasi yang efisien untuk penyimpanan variable skalar lokal di dalam register. Akan tetapi teknik ini tidak dapat memenuhi kebutuhan penyimpanan variabel global, yang diakses oleh lebih dari sebuah prosedur (misalnya, variabel COMMON dalam FORTRAN). Terdapat dua pilihan untuk memenuhi hal tersebut :

  • Pertama, Variabel-variabel yang dideklarasikan sebagai global pada HLL dapat disediakan lokasi-lokasi oleh kompiler. Namun, bagi yang sering mengakses variabel-variabel global, teknik tersebut tidaklah efisien
  • Alternatifnya adalah melibatkan kumpulan register global di dalam CPU. Register-register ini harus memiliki jumlah yang tetap dan dapat dipakai oleh semua prosedur

 

CISC (Complex Intruction Set Computer)

CISC adalah singkatan dari Complex Intruction Set Computer dimana prosessor tersebut memiliki set instruksi yang kompleks dan lengkap, dan dirasa ber4pengaruh pada kinerjanya yang lebih lambat. CISC menawarkan set instruksi yang powerful kuat, tangguh, maka tidak heran jika CISC memang hanya mengenal bahasa assembly yang sebenarnya ditujukan bagi para programmer. Oleh karena itu, CISC memerlukan sedikit instruksi untuk berjalan.

Jadi sebenarnya tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin.

 

Mengapa CISC?

Jumlah instruksi yang banyak dan instruksi yang lebih kompleks. Dua alasan utama yang menjadi motivasi kecenderungan ini adalah adanya keinginan untuk menyederhanakan kompiler dan keinginan untuk meningkatkan kinerja. Alasan penting lainnya adalah harapan bahwa CISC akan menghasilkan program yang lebih kecil dan lebih cepat.

 

CISC

                 Processor di komputer micro pada umumnya menggunakan teknik CISC (Complex Instruction Set Computer). Dengan rancangan ini, instruksi-instruksi perhitungan yang komplex akan dilakukan oleh processor, karena processor tersebut mempunyai sirkuit yang rumit diperlukan untuk itu. Akan tetapi untuk Aplikasi yang tidak membutuhkan perhitungan rumit, seperti misalnya aplikasi multi-media yang melibatkan banyak grafik dan suara. Untuk aplikasi yang sederhana sirkuit CISC tidak di manfaatkan sepenuhnya. Rancangan RISC (Reduce Instruction Set Computer) menggunakan sirkuit untuk perhitungan yang sederhana saja, sedang perhitungan yang komplek tidak dilakukan oleh processornya tetapi dilakukan oleh perangkat lunaknya. Dulunya para ahli berfikir bahwa dengan menambahkan sirkuit untuk perhitungan komplek di processor, waktu pemrosesan akan lebih cepat. Kenyataan untuk aplikasi multimedia yang tidak banyak melibatkan perhitungngan ruumit. RISC lebih cepat dibandingkan CISC. Disamping itu, karena hanya melibatkan sirkuit untuk perhitungan yang sederhana, biaya pembuatan Processor RISC lebih murah dibandingkan dengan biaya untuk CISC. Processor PowerPC menggunakan rancangan RISC. PowerPC lainnya yang terkenal menggunakan RISC adalah DEC (Digital Equipment Coporation) Alpha.

Sebelum proses RISC didesain untuk pertama kalinya, banyak arsitek komputer mencoba menjembatani celah semantik”, yaitu bagaimana cara untuk membuat set-set instruksi untuk mempermudah pemrograman level tinggi dengan menyediakan instruksi “level tinggi” seperti pemanggilan procedure, proses pengulangan dan mode-mode pengalamatan kompleks sehingga struktur data dan akses array dapat dikombinasikan dengan sebuah instruksi. Karakteristik CISC yg “sarat informasi” ini memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat.

Memang setelah itu banyak desain yang memberikan hasil yang lebih baik dengan biaya yang lebih rendah, dan juga mengakibatkan pemrograman level tinggi menjadi lebih sederhana, tetapi pada kenyataannya tidaklah selalu demikian. Contohnya, arsitektur kompleks yang didesain dengan kurang baik (yang menggunakan kode-kode mikro untuk mengakses fungsi-fungsi hardware), akan berada pada situasi di mana akan lebih mudah untuk meningkatkan performansi dengan tidak menggunakan instruksi yang kompleks (seperti instruksi pemanggilan procedure), tetapi dengan menggunakan urutan instruksi yang sederhana.

Satu alasan mengenai hal ini adalah karena set-set instruksi level-tinggi, yang sering disandikan (untuk kode-kode yang kompleks), akan menjadi cukup sulit untuk diterjemahkan kembali dan dijalankan secara efektif dengan jumlah transistor yang terbatas. Oleh karena itu arsitektur -arsitektur ini memerlukan penanganan yang lebih terfokus pada desain prosesor. Pada saat itu di mana jumlah transistor cukup terbatas, mengakibatkan semakin sempitnya peluang ditemukannya cara-cara alternatif untuk optimisasi perkembangan prosesor. Oleh karena itulah, pemikiran untuk menggunakan desain RISC muncul pada pertengahan tahun 1970 (Pusat Penelitian Watson IBM 801 – IBMs), Contoh-contoh prosesor CISC adalah System/360, VAX, PDP-11, varian Motorola 68000 , dan CPU AMD dan Intel x86.

Istilah RISC dan CISC saat ini kurang dikenal, setelah melihat perkembangan lebih lanjut dari desain dan implementasi baik CISC dan CISC. Implementasi CISC paralel untuk pertama kalinya, seperti 486 dari Intel, AMD, Cyrix, dan IBM telah mendukung setiap instruksi yang digunakan oleh prosesor-prosesor sebelumnya, meskipun efisiensi tertingginya hanya saat digunakan pada subset x86 yang sederhana (mirip dengan set instruksi RISC, tetapi tanpa batasan penyimpanan/pengambilan data dari RISC). Prosesor-prosesor modern x86 juga telah menyandikan dan membagi lebih banyak lagi instruksi-instruksi kompleks menjadi beberapa “operasi-mikro” internal yang lebih kecil sehingga dapat instruksi-instruksi tersebut dapat dilakukan secara paralel, sehingga mencapai performansi tinggi pada subset instruksi yang lebih besar.

Contoh mikroprosesor dengan arsitektur CISC adalah Intel 8088, 8085, 8086, Zilog Z-80 CPU, NS 32016, MC6800. Karena jumlah instruksi lebih banyak jenis dan ragamnya maka kelemahan CISC terletak pada sulitnya mengembangkan interpreter dan kompiler.

RISC vs CISC

Masih ada kontroversi di antara para ahli tentang arsitektur mana yang   lebih baik. Beberapa orang mengatakan bahwa RISC lebih murah dan lebih cepat dan akan menjadi arsitektur masa depan. Lain halnya bahwa dengan membuat perangkat keras yang sederhana, RISC menempatkan suatu beban yang lebih besar pada perangkat lunak. Perangkat Lunak yang dibutuhkan akan menjadi lebih kompleks. Pengembang perangkat lunak perlu menulis baris lagi untuk tugas yang sama. Oleh karena itu mereka berpendapat bahwa RISC tidak akan menjadi arsitektur di masa depan, karena chip CISC konvensional menjadi lebih cepat dan lebih murah pula.

RISC sekarang telah ada lebih dari 10 tahun dan belum dapat menendang CISC keluar dari pasar. Jika kita melihat pasar PC, workstation dan server kira-kira paling tidak 75% prosesor didasarkan pada arsitektur CISC. Sebagian dari mereka standar x86 (Intel, AMD, dll), bahkan di bagian mainframe CISC sangat dominan melalui chip IBM/390 CISC. Apakah RISC itu benar-benar tidak lebih baik? Jawabannya adalah tidak sesederhana itu. RISC dan CISC arsitektur menjadi lebih dan lebih serupa. Sekarang chips RISC sudah mendukung banyak seperti instruksi chip CISC sebelumnya. Misalnya PowerPC 601, mendukung instruksi lebih dari Pentium. Namun 601 dianggap sebagai chip RISC, sedangkan Pentium jelas CISC. Selanjutnya CISC sekarang sudah menggunakan banyak teknik yang sebelumnya terkait dengan chip RISC. Jadi RISC dan CISC tumbuh satu sama lain.

 

Perbedaaan Antara CISC Dengan RISC.

CISC dan RISC perbedaannya tidak signifikan jika hanya dilihat dari terminologi set instruksinya yang kompleks atau tidak (reduced). Lebih dari itu, RISC dan CISC berbeda dalam filosofi arsitekturnya. Filosofi arsitektur CISC adalah memindahkan kerumitan software ke dalam hardware. Teknologi pembuatan IC saat ini memungkinkan untuk menamam ribuan bahkan jutaan transistor di dalam satu dice. Bermacam-macam instruksi yang mendekati bahasa pemrogram tingkat tinggi dapat dibuat dengan tujuan untuk memudahkan programmer membuat programnya. Beberapa prosesor CISC umumnya memiliki microcode berupa firmware internal di dalam chip-nya yang berguna untuk menterjemahkan instruksi makro. Mekanisme ini bisa memperlambat eksekusi instruksi, namun efektif untuk membuat instruksi-instruksi yang kompleks. Untuk aplikasi-aplikasi tertentu yang membutuhkan singlechip komputer, prosesor CISC bisa menjadi pilihan.

Dilihat dari kelebihan dan kekurangan yang dimiliki oleh masing-masing prosesor baik RISC maupun CISC dapat saya simpulkan bahwa kedua prosesor memiliki keunggulan yang sama dalam artian disatu sisi CISC lebih baik daripada RISC tetapi disisi yang lain RISC dapat menutupi kelemahan dari CISC. Prosesor berarsitektur RISC misalnya, memerlukan lebih banyak instruksi untuk menjalankan suatu tugas (task) tertentu dibandingkan dengan prosesor berasitektur CISC. Dengan ukuran MIPS, prosesor RISC akan tampak bekerja jauh lebih cepat (menjalankan lebih banyak instruksi per satuan waktu) dibanding prosesor CISC meskipun lama waktu yang digunakan untuk menyelesaikan satu tugas bisa jadi sama.

RISC CISC
Penekanan pada perangkat lunak Penekanan pada perangkat keras
Single-clock,hanya sejumlah kecil instruksi Termasuk instruksi kompleks multi-clock
Register toRegister :”LOAD”&”STORE” adalah instruksi2 terpisah Memori ke Memori:”LOAD”&”STORE” saling bekerjasama
Ukuran kode besar(kecepatan relatif tinggi) Ukurang kode kecil,kecepatan rendah
Transistor banyak dipakai untuk register memori Transistor digunakan untuk menyimpan instruksi2 kompleks

Read More

By

[TUGAS] Klasifikasi Mikroprosesor/Komputer [KL301Z]


Pertanyaan :

Pelajari tentang klasifikasi komputer dari micro computer, mini computer, mid range computer dan mainframe. Berikan contoh microprocessor yang dipakai pada komputer-komputer tersebut dan berikan komentar tentang klasifikasi berdasarkan teknologinya, ( apakah CISC atau RISC ).

Materi bisa dari buku atau internet, buat ringkasan buka copy/paste, di POST di iMe dan ada link pada SKuP masing-masing.

Status :

100% Dikerjakan

Keterangan :

Saya sudah menjawab seluruh pertanyaan yang diberikan.

Pembuktian :

Microkomputer

Microcomputers adalah jenis komputer yang paling umum digunakan. Contoh dari Microcomputers adalah personal computer (PC), Carputers (Komputer dalam mobil), dan konsol game seperti Play Station, Nintendo DS dan lain sebagainya. Nama Microcomputers digunakan karena komputer jenis ini menggunakan single-chip microprocessors. Microcomputers pertama kali dikenalkan pada 1975, yaitu Altair 8800.

Minikomputer

Minicomputers (Komputer Mini) adalah komputer yang dapat digunakan oleh multi-user atau dapat digunakan oleh lebih dari satu pengguna dalam waktu bersamaan. Secara kelas, komputer mini ini ada diantara komputer mikro (microcomputers) dan mainframe. Beberapa contoh komputer mini adalah PDP-8, PDP-11, VAX, Xerox Star dan IBM System/370.

Midrange Komputer

Midrange Computer tidak berbeda jauh dengan Komputer Mini, komputer jenis ini juga digunakan untuk melayani ratusan pengguna dengan satu mesin. Midrange Computer ini cukup populer digunakan sebagai server karena harga nya yang lebih murah dibanding mainframe meskipun untuk performa tidak se-kuat komputer mainframe. contoh komputer midrang adalah, IBM AS/400

Mainframe Komputer

Mainframe Computers adalah komputer dengan kemampuan ‘melayani’ yang sangat tinggi. Komputer Mainframe biasa digunakan sebagai server yang melayani request dari ratusan bahkan ribuan pengguna. Komputer Mainframe biasa digunakan oleh institusi pemerintahan, Bank dan perusahaan-perusahaan besar. Komputer Mainframe dapat menerima jutaan instruksi perintah dalam satu detik atau MIPS (Million Instructions Per Second) dan dapat merespon jutaan permintaan pengguna dalam waktu bersamaan. Berikut ini adalah contoh beberapa mainframe yang beredar, IBM System/360, IBM System/390, Honeywell-Bull DPS 7, Cray-1 dari Cray Research

By

[TUGAS] Student Agreement [KL301Z]

Mata Kuliah Microprosessor
Dosen Ignatius Agus Supriyono

Pembuktian :

 

Image and video hosting by TinyPic

Membaca Student Agreement

Image and video hosting by TinyPic

Mengisi Form

Image and video hosting by TinyPic

Bukti Pengiriman

 

By

[SKUP] Chandra Wijaya [KL301Z]

Mata Kuliah Microprosessor
Dosen Ignatius Agus Supriyono

LIST ASSIGMENT PROGRES

Assigment Status Grade
Student Agreement DONE A+
Create Skup DONE A+
Klasifikasi Mikroposesor / Komputer DONE A
RISC VS CISC DONE
Intel,Power PC,ARM DONE

By

Mengejar Ilmu sampai ke negeri Cina #2

Terima kasih sudah membaca Post Sebelumnya, krn long post jadi saya membuat #2 nya. Krn di di bagian 1 lebih ke Action, sedangkah yg ke 2 lebih ke hasil dari action sebelumnya dan jati diri CCIT. Semoga bermanfaat bagi teman2 yg sedang menggeluti atau mau belajar tentang CCIT.

Read More

By

Mengejar Ilmu sampai ke negeri Cina #1

Sebelumnya kenapa judulnya bukan Tuntutlah Ilmu sampai ke negeri Cina. Krn kata yg pas bagi saya konotasinya action jadi mengejar ilmu itu sendiri. Kata “Cina” dlm judul bagi saya hanya sekedar kiasan untuk mengingatkan akan pentingnya mencari ilmu/pengetahuan yg  perlu diupayakan secara luas, di luar area kampus kita sendiri. Bila perlu hingga ke negeri-negeri seberang.

Pada kesempatan kali ini saya akan menceritakan hasil pekerjaan kami di SPH International Kemang tanggal 16 Juni 2015. Alasan saya membuat cermi ini untuk mencari tahu lebih jauh tentang apa itu CCIT dan bagaimana pengalaman CCIT mengajarkan kita menyelesaikan masalah2 yg muncul dalam kehidupan sehari-hari maupun pekerjaan. Jadi memanfaatkan waktu libur ujian kuliah saya dan libur skripsi bagi ke 2 teman saya, dgn kegiatan yg membangun knowledge. Krn semangat itu bisa di tularkan kepada org yg memiliki visi yg sama. Semoga kita berada di visi yg sama. Read More

By

Personal project TM 2

Pada semester 8 ini saya mengambil mata kuliah Mikroprosesor dengan dosen Bapak Ignatius dan pada tugas sekarang ini mendapat tugas personal project menyalakan lampu LED.
Karena saya masih awam dalam membuat project tersebut, saya sendiri di bimbing oleh teman saya Muhammad Khibani Fakhri, beliau yang membimbing saya selama tugas project personal ini berlangsung. Read More

By

Project TM2 – Muhamad Indra Bagus Sankar

Assalamaualaikum Wr. Wb.

Melanjutkan project TM1 1 yang sebelumnya, kali ini Pak Ignatius memberikan tugas untuk membuat seven segment. Ya hampir batas waktu selesai saya baru bisa menyelesaikan tugas 2 komponen seperti Seven segment dan resistor 330 ohm. Mohon maaf apabila saya mengerjakan tugasnya sudah diluar tanggal due date. semoga bapak bisa memakluminya.

Berikut beberapa foto Pembuktiannya :

Sepulang kelas pengganti saya langsung mengerjakan tugas tm2 dibantu teman teman saya dan Alhamdulilah Selesai Juga Tugas TM2 .

Terimakasih atas tugas yang diberikan oleh pak Agus semoga ilmunya bermanfaat.

Mohon Maaf pak sekali lagi kalo terlambat mengerjakan tugasnya , karena kemalasan saya.