Tampilkan postingan dengan label Hardware. Tampilkan semua postingan
Tampilkan postingan dengan label Hardware. Tampilkan semua postingan

Selasa, 10 Januari 2017

Waduh, Mikrokontroler Rusak Gara-Gara Fuse Bit Salah

Kalau diingat-ingat, kira-kira sudah setahun tak bereksperimen dengan yang namanya mikrokontroler. Sekalinya kembali, rasanya agak berbeda. Kali ini, saya ada di lingkungan Linux, semua terasa gelap; tidak ada IDE, tidak ada pula program GUI untuk mempermudah downloading. Jadi, kini saya hanya bermodal Geany yang harus saya anggap sebagai IDE, sebuah terminal dan  tidak lupa avrdude untuk mendownload program ke mikrokontroler. Ketik kodenya masih terasa mendingan karena geany, sisanya saya harus berurusan dengan terminal untuk menjalani kompilasi, linking hingga mendownload hasilnya ke mikrokontroler.
atmega8a-pu

Eksperimen pertama dan terakhir saya sebelum ini adalah mengedip-ngedipkan led. Cukup keren untuk membuat saya terkagum-kagum saat itu. Selanjutnya saya tak tahu harus apa lagi, harga komponen mahal, bertepatan pula dengan masa liburan. Jadi saat itu saya berada di kampung halaman yang jauh dari toko elektronik yang menjual komponen pendukung proyek mikrokontroler. Awalnya tidak sabar menunggu liburan berakhir, tapi pas sampai di kost-an kembali, ternyata sudah males main mikrokontrolernya. :3

Untungnya, sekarang semangat saya sudah kembali. Jadi tidak sia-sia saya beli mikrokontroler. Eksperiman yang akan saya lakukan sekarang adalah mencoba berkomunikasi melalui USB to TTL yang terhubung mikrokontroler dengan USART. Karena hasilnya gak jelas alias error, saya coba cari tahu penyebab kesalahannya di google. Dari sekian jurus jitu yang diajarkannya, tak ada satupun yang berhasil. Sampai akhirnya ada satu jurus yang mengatakan bahwa saya perlu mengubah frekuensi ke atas 1 MHz.

Selama ini, saya menggunakan clock internal mikrokontroler yang berjalan dengan frekuensi 1 MHz. Kebetulan, mikrokontroler saya sudah terhubung dengan kristal 8 MHz, jadi harus mengatur agar fuse bit menginstruksikan mikrokontroler agar menggunakan kristal ini. Di Linux terasa beda, alatnya lengkap sih, tapi semua serba lewat terminal.

Mengubah fuse bit dari terminal dengan avrdude gampang-gampang susah. Konfigurasi fuse bit yang diinginkan harus diketik dalam bentuk angka. Sama sekali tidak ada bantuan untuk memodifikasi konfigurasi clock source di fuse bit ini.

Entah karena saya salah mengetik angka konfigurasi, atau mungkin salah memahami penjelasan fuse bit dari technical documentation, akibatnya saya sama sekali tak menduga. Mikrokontroler saya sekarang benar-benar tidak bisa digunakan. Awalnya saya pikir ada kabel yang lepas. Setelah saya periiksa, eh, normal-normal saja. Dan ternyata, hasil penelusuran saya mengatakan dengan jelas bahwa kesalahan fuse bit dapat membuat riwayat mikrokontroler kita tamat :v

Conclussions
Mungkin saya harus sedikit berpesan untuk pemula seperti saya. Sebelum terlambat, ingat-ingat tulisan dalam postingan ini. Sumpah. Jika anda salah memasukkan konfigurasi fuse bit, mikrokontroler anda mungkin tidak dapat bekerja dengan baik. Yang paling fatal, ya, seperti pengalaman saya ini. -_-
Read more

Senin, 09 Januari 2017

Menggunakan Super Glue Untuk Pengganti Solder?

Setelah lama cari-cari FM module, akhirnya saya menemukan modul 433 MHz FM transmitter and receiver, dengan harga terjangkau. Cuma Rp. 14.000! Padahal umumnya komponen ini dijula dengan kisaran Rp. 30.000 ke atas, lho. Alhamdulillah, sesuatu banget.

Setelah COD, saya bergegas ke kost untuk segera memperbaiki kabel-kabel mikrokontroler saya. BTW, saya pakai Atmega8A-PU. Bisa dilihat sendiri komponennya seperti apa... :v


Yap, benar. Saya menghubungkan semuanya dengan kabel. NO PCB/Bread board. Kemarin bisa jalan normal jaya, anehnya sekarang enggak. Boro-boro jalan, diprogram aja gak bisa. Haduuuh..

Setelah saya analisa, ternyata sambungan kabel dan pin mikrokontrolernya sedikit bermasalah. Meski kabelnya sudah benar-benar melekat, ternyata arusnya sama sekali tidak mengalir (saya cek pakai led). Kenapa demikian? Saya yakin, karena saya menempelkan kabel-kabel ini dengan alteco, alias super glue. Hehehe... Terpaksa, sih. Cari solder belum juga kunjung ketemu.

Conclussions
Jangan pernah menggantikan peranan solder dengan lem super glue. Trust me!
Read more

Jumat, 23 Desember 2016

Pengertian Interrupt, Exception, Trap, Fault, IRQ dan Abort

interrupt, traps, fault, exception

Interrupt adalah suatu mekanisme prosesor dimana saat hal tersebut terjadi, prosesor akan menunda proses eksekusi. Setiap interrupt akan memiliki kode instruksi handler yang harus disediakan oleh sistem operasi. Kode instruksi ini bekerja layaknya fungsi subrutin biasa. Ia akan dipanggil sesuai dengan jenis sumber interrupt yang telah dikonfigurasikan oleh sistem operasi.

Pada dasarnya, interrupt sama saja seperti peristiwa pemanggilan fungsi biasa, layaknya saat melompat ke suatu prosedur dari fungsi main().

int main(){
function_to_call()
}

Bedanya, interrupt terjadi secara tak terduga dan tidak dapat dikontrol oleh program. Meskipun demikian, sistem operasi masih dapat mengontrol laju kerja interrupt jika dikehendaki demikian.

Seluruh pekerjaan program pada dasarnya merupakan proses matematis yang diatur jalannya oleh instruksi. Hasil pekerjaan yang diproses oleh program tersimpan dalam register. Oleh karena itu, kita tidak boleh membiarkan isi dari register ini termodifikasi oleh pihak lain, salah satunya adalah interrupt. Interrupt menyebabkan register instruction pointer (IP) atau program counter (PC) berpindah ke lokasi dimana interrupt handler berada. Yang bertugas menyediakan fungsi handler untuk seluruh interrupt adalah sistem operasi.

Seperti program lain, untuk bekerja, interrupt handler tentu membutuhkan register. Kita ingat bahwa konten register ini adalah bagian kerja dari program yang terinterupsi sebelumnya. Apabila termodifikasi sedikit saja, dapat dipastikan hasil kerja program menjadi tidak valid lagi. Jadi, sebuah interrupt handler perlu menyimpan konten seluruh register sebelum melakukan sesuatu, misalnya ke dalam stack.

Sebuah prosedur yang ditulis dengan bahasa pemrograman manapun, memiliki pola kerja yang sama. Jika direpresentasikan dalam bahasa assembly, semua prosedur dipanggil dengan cara yang sama, yaitu dengan instruksi CALL. Saat instruksi ini terjadi, sebenarnya prosesor menaruh nilai alamat Instruction Pointer(IP) ke stack dan melakukan jump(JMP) ke lokasi fungsi. Anda akan tahu tujuannya setelah membaca penjelasan selanjutnya.

Setiap prosedur, bagaimanapun bentuknya juga akan memiliki akhiran instruksi yang sama, yaitu RET. Instruksi RET berguna mengembalikan nilai IP yang baru saja ditaruh oleh pemanggil fungsi melalui instruksi CALL. Dengan cara seperti inilah prosesor bisa tahu dimana ia harus kembali setelah eksekusi sebuah fungsi telah selesai.

C:
MyProc(){
...
return;
}
Caller(){
MyProc();
}

ASM:
MyProc:
...
ret



Caller:
call MyProc

Bagaimana dengan interrupt? Mekanismenya masih sama, kok. Tapi, konten yang berada di dalam stack sedikit lebih banyak. Saat interrupt terjadi, prosesor melompat ke interrupt handler, sambil menaruh 3 buah data konten register yang berbeda ke dalam stack:
EFLAGS
CS
EIP

Lalu, bentuk fungsi handler interrupt tidak lagi menggunakan instruksi RET, ya. Untuk menyelesaikan eksekusi, handler menggunakan instruksi IRET. Instruksi ini akan mengembalikan konten ketiga register di atas ke posisi semula, bersamaan dengan kembali ke lokasi dimana program mulai terinterupsi.
Umumnya, interrupt handler akan menaruh konten general purpose register sebelum mulai bekerja dan mengembalikannya saat telah selesai. Dengan demikian, state kondisi kerja program yang terinterupsi tetap valid.

MyInterruptHandler:
pusha
...
popa
iret


Macam Interrupt
Ada beberapa kelompok besar interrupt yang biasa dikenal. Setiap jenisnya memiliki tingkah laku dan sumber pemicu yang berbeda.

1. Exception, yaitu interrupt yang dihasilkan oleh prosesor ketika terjadi kesalahan pada prosesor, karena eksekusi instruksi yang tidak dibenarkan kegunaannya, atau juga bisa karena prosesor menjalankan instruksi yang memang disediakan untuk menghasilkan exception secara disengaja. Exception itu sendiri dapat dibagi menjadi 3 macam:

  • Trap: Interupsi yang disengaja dengan menjalankan instruksi trap. Biasanya kondisi ini dimanfaatkan oleh sistem operasi untuk tujuan debugging.
  • Fault: Dipicu oleh kesalahan operasi yang dilakukan oleh prosesor. Seringkali interrupt dalam golongan ini muncul akibat eksekusi instruksi yang tidak valid. Dalam kondisi fault, sistem operasi biasanya masih dapat melakukan perbaikan dan melanjutkan eksekusi instruksi selanjutnya. Jika tidak memungkinkan, program yang menimbulkan fault harus diakhiri segera.
  • Abort: Timbul akibat kesalahan fatal prosesor yang sudah tidak dapat ditangani. Bisa disebabkan karena kerusakan, atau karena beberapa kesalahan fault yang seharusnya tidak dibiarkan.


2. Interrupt Request(IRQ), seringkali disebut sebagai hardware interrupt. Munculnya dipicu oleh peripheral device yang terhubung dengan jalur interupsi prosesor. Biasanya IRQ muncul saat hardware membutuhkan penanganan dari prosesor. Misalnya, ketika mouse digerakkan, ia akan mengirimkan interupsi untuk memberitahukan bahwa ada event yang sedang terjadi pada mouse. Dalam handler IRQ, terdapat deretan instruksi untuk melakukan transaksi data dengan hardware penghasil interrupt, melalui port. Setiap hardware yang dapat meghasilkan interupsi akan memiliki jalur interrupt yang berbeda dengan tujuan interupsi beragam. Jika ingin mengetahuinya secara detail, kita perlu membaca dokumen spesifikasi yang terkait dengan hardware tersebut.

3. Software Interrupt, yaitu interrupt yang dihasilkan oleh software. Biasanya digunakan untuk tujuan komunikasi antara user space program dan kernel. Di Intel, software interrupt dapat dihasilkan dengan instruksi INT x, dimana x adalah nomor interrupt handler yang akan dipanggil.
Read more

Perbedaan Port-Mapped I/O dan Memory-Mapped I/O

cpu board

Komunikasi data antara prosesor dan peripheral device dapat dilakukan dengan 2 cara, yaitu MMIO dan PMIO. Intel adalah salah satu proseesor yang lebih banyak menggunakan metode PMIO. Sedangkan MIPS dan ARM hanya mendukung satu macam metode transaksi data, yaitu menggunakan metode MMIO saja.

Dalam MMIO, jalur komunikasi bus terhubung bersama dengan jalur komunikasi bus untuk transaksi data dengan memori RAM. Sehingga, untuk dapat bekerja dengan adil, tidak boleh ada device yang memiliki alamat yang serupa dengan salah satu alamat yang diduduki oleh RAM. Untuk mengakses data dari device, prosesor tidak menyediakan satupun instruksi khusus. Ini karena, baik RAM ataupun device akan memiliki address space yang sama. Dengan kata lain, device bisa diakses seperti mengakses memori biasa.

Metode PMIO masih menggunakan sistem komunikasi bus yang sama, seperti MMIO, hanya saja prosesor yang menerapkan PMIO wajib menyediakan jalur bus tambahan yang terpisah dengan jalur bus untuk transaksi data dengan RAM. Kalau dilihat, Intel memiliki jumlah pin lebih banyak dari MIPS, ini karena ia butuh sambungan untuk melakukan transaksi PMIO.

Ekspansi jalur bus ini ditujukan khusus untuk transaksi data dengan peripheral device. Untuk itu, prosesor yang menerapkan PMIO perlu menyediakan instruksi khusus untuk melakukan transaksi data dengan device. Misalnya Intel. Ia menyediakan instruksi IN untuk mengambil data dari device dan OUT untuk mengirim data ke device.
memory mapped io vs port mapped io

Kiri: MMIO, Kanan : PMIO
Read more

Bagaimana Cara Prosesor dan Hardware Berkomunikasi?

Prosesor adalah pusat dari aktivitas komputer, dimana semua data diproses sedemikian rupa. Data yang perlu diproses oleh prosesor berasal dari salah satu peripheral device yang berperan sebagai input, misalnya keyboard, mouse dan camera. Hasil dari proses kemudian diteruskan ke salah satu peripheral deice yang berperan sebagai output. Ada banyak peripheral device yang terhubung oleh komputer, alur berjalannya data diatur oleh komputer namun, alamat tujuan/sumber device tetap diatur oleh program.

Karena ada banyak device yang terhubung dengan satu buah prosesor, diperlukan sebuah metode untuk mengatur ke alamat device manakah data harus di transfer. Oleh karena itu, komunikai data yang terjadi pada komputer secara abstrak dilakukan melalui system bus. System bus terdiri atas 3 macam sirkuit:
1. Address bus
2. Data bus
3. Control bus
system bus

Saat terjadi transaksi data dari komputer, prosesor mengirimkan data tersebut melalui data bus. Alamat tujuan data tersebut ditentukan oleh address bus. Dan, control bus akan menunjukkan sinyal dari prosesor bahwa ia perlu mengirim data. Saat ketiga jenis data ini terkirim, setiap device akan memeriksa apakah alamat yang dimaksud oleh prosesor tersebut adalah alamat yang tergolong dalam wilayah areanya atau bukan. Jika ia, maka ia akan mengambil data dari data bus dan menyimpannya pada memori internal yang sudah ditugaskan untuk menyimpan data pada alamatnya masing-massing.

Sementara itu, pembacaan data dari device tidak jauh berbeda. Transaksi dimulai dengan mengirim alamat sumber dan sinyal control bus untuk memulai tranaksi pembacaan data. Setelah alamat diketahui oleh salah satu device yang sesuai, ia akan mengirim data yang diminta ke data bus.

Ilustrasinya bisa dilihat pada gambar berikut.
Address bus ditujukkan oleh pin berlabel Addr x, Data bus terlihat berlabel Data x. Sedangkan Control bus terdiri atas IOR(I/O Read), IOW(I/O Write), MEMR dan MEMW. Contoh ini adalah contoh bus 8-bit, komputer sekarang kebanyakan memiliki lebar bus 32 bit atau 64-bit, jadi jelas lebih banyak dari ini.

Read more

Minggu, 18 Desember 2016

Perbedaan RISC dan CISC : Studi Kasus Intel dan MIPS


RISC singkatan dari Reduced Instruction Set Computer. Merupakan bagian dari arsitektur mikroprosessor, berbentuk kecil dan berfungsi untuk mengeset instruksi dalam komunikasi diantara arsitektur yang lainnya. Proyek RISC pertama dibuat oleh IBM, stanford dan UC-Berkeley pada akhir tahun 70 dan awal tahun 80an. IBM 801, Stanford MIPS, dan Berkeley RISC 1 dan 2 dibuat dengan konsep yang sama sehingga dikenal sebagai RISC.

Pendekatan CISC bertujuan untuk meminimalkan jumlah instruksi per program, dengan cara mengorbankan kecepatan eksekusi sekian silus/detik. Sedangkan RISC bertolak belakang, tujuannya mengurangi jumlah siklus/detik setiap instruksi dibayar dengan bertambahnya jumlah instruksi per program.

Perbedaan mencolok pada kedua arsitektur ini dapat dilihat pada model instruksi yang diterapkan. Semua jenis prosesor CISC memiliki panjang instruksi yang berbeda-beda, mulai dari 1 byte hingga lebih dari ukuran word prosesor 32-bit (4 byte). Sementara itu, prosesor RISC memiliki panjang instruksi yang selalu seragam. Biasanya mengikuti ukuran word size prosesor itu sendiri. Misalnya MIPS 32, memiliki instruksi berukuran 4 byte.

Karena keterbatasan RISC, arsitektur ini cenderung memiliki instruksi lebih sedikit dan sederhana. Panjang instruksi yang pendek tidak memungkinkan penggunaan operand dalam jenis immediate yang lengkap. Misalnya MIPS hanya dapat membaca operand immediate 16-bit. Ini karena 16-bit dari kode instruksi harus digunakan untuk menyimpan format dan konfiigurasi kerja instruksi.

Contohnya adalah pada kedua instruksi berikut.
Intel
mov eax,0x12345678

MIPS
lui $t2, 0x1234
ori $t2, $t2, 0x5678

Selain itu, arsitektur RISC tidak dapat mengakses memori secara langsung dari memori. Kesederhanaan RISC juga mengharuskan setiap instruksi selalu memakan waktu 1 CPU clock cycle saja.

Sebuah instruksi paling tidak harus melalui tahapan berikut:
1. Fetch : Kode instruksi dibaca dari memori
2. Decode : Penerjemahan instruksi
3. Execute : Eksekusi instruksi
4. Load/store : membaca/menulis data dari memori
Untuk menjaga agar setiap instruksi tidak memakan lebih dari sebuah cycle, maka setiap instruksi tidak akan mengerjakan tugas lebih dari 4 fase tersebut. Sebagai imbasnya, instruksi RISC cenderung lebih panjang dibanding instruksi CISC; untuk menyelesaikan pekerjaan yang sama.

Intel
mov eax,[0x00FF0123]

MIPS
lui $t2, 0x00FF
ori $t2, $t2, 0x0123
lw $t1,0($t1)


Intel
add [0xFACC1234],ebx

MIPS
lui $1,0xFACC
ori $t1,$t1,0x1234
lw $t3,0($t1)
addu  $t2, $t2, $t3
sw $t2,0($t1)

Tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin. Hal ini bisa tercapai dengan cara membuat perangkat keras prosesor mampu memahami dan menjalankan beberapa rangkaian operasi. Saat dijalankan, instruksi akan membaca dua nilai dan menyimpannya ke 2 register yang berbeda, melakukan perkalian operan di unit eksekusi dan kemudian mengambalikan lagi hasilnya ke register yang benar. Jadi instruksi-nya cukup satu saja.

Satu kelebihan dari sistem CISC ini adalah kompiler hanya menerjemahkan instruksi-instruksi bahasa tingkat-tinggi ke dalam sebuah bahasa mesin. Karena panjang kode instruksi relatif pendek, hanya sedikit saja dari RAM yang digunakan untuk menyimpan instruksi-instruksi tersebut.

Meski demikian,  bukan berarti desain RISC tidak lebih baik dari CISC. Desain RISC memungkinkan proses pipelining jauh lebih mudah, karena semua instruksi memiliki jumlah fase dan waktu eksekusi yang sama. Selain itu, RISC juga memiliki desain lebih sederhana, sehingga meminimalkan biaya produksi dan waktu improvisasi.

Sumber

Read more

Senin, 07 November 2016

Kutipan Jurnal Tentang Mikroprosesor : Pengertian dan Definisi

jurnal mikroprosesor

Pengertian dan definisi mikroprosesor banyak dibahas dalam jurnal. Dan kali ini, penulis akan sampaikan beberapa kutipan jurnal terkait. Mudah-mudahan dapat membantu kalian yang sedang sibuk laporan. :))
Kalau merasa kurang lengkap, silahkan kunjungi link yang sudah saya tautkan. Dan kalau tetap masih kurang, buka google.

Teknologi mikroprosesor sangat pesat perkembangannnya, hinga sekarang telah dihasilkan mikroprosesor Pentium IV. Namun dari segi fungsi, mikroprosesor tidak berubah, yakni tetap sebagai pusat pengendali pada sistem komputer, yang memiliki 3 saluran(bus) yakni bus data (data bus), bus alamat (address) serta bus kendali (control bus).

Pengaturan yang dilakukan oleh mikroprosesor pada prinsipnya adalah memberikan kombinasi status on atau off pada pin-pin kontrol yang disesuaikan dengan aturan standar oleh pabrik. Setiap kombinasi akan menghasilkan satu perintah yang dilakukan oleh mikroprosesor, peran perintah dilakukan oleh software. Ada puluhan perintah yang dikenal oleh mikroprosor, dan setiap tipe mikroprosesor memiliki printah yang berbeda namun umumnya hampir sama.

Zul Bahrum C., 2007. Aplikasi Mikrokontroler Untuk Sistem Perparkiran. Jurnal Gradien Vol.3 No.1 Januari 2007 : 200-203
https://gradienfmipaunib.files.wordpress.com/2008/07/zulbahrum3.pdf


Suatu mikroprosesor adalah bagian CPU (Central Processing Unit) dari sebuah komputer, tanpa memori, I/O, dan peripheral yang dibutuhkan suatu sistem lengkap. Sebagai contoh, 8088 dan 80x86 adalah suatu mikroprosesor. Untuk dapat bekerja, mikroprosesor membutuhkan perangkat pendukung yang dapat berupa RAM, ROM dan I/O. Bila sebuah mikroprosesor dikombinasikan dengan I/O dan memori (RAM/ROM), akan dihasilkan sebuah mikrokomputer. Pada kenyataannya, mengkombinasikan CPU dengan memori dan I/O dapat juga dilakukan dalam level chip, yang menghasilkan Single Chip Microcomputer (SCM).

Laxsmy Devy, 2009. PENGATURAN PARKIR KENDARAAN MASUK/KELUAR AREA PARKIR DAN MEMBANTU PENGEMUDI SAAT PARKIR BERBASIS MIKROKONTROLLER. Elektron: Vol. 1 No. 2, Edisi: Desember 2009.
http://download.portalgaruda.org/article.php?article=58436&val=4379


Mikroprosesor adalah miniatur CPU di dalam chip yang terbuat dari bahan silikon. Mikroprosesor berisikan ratusan dan bahkan ribuan transistor kecil sebagai saklar elektronik yang bisa melarang atau memperbolehkan arus melewatinya. Jika saklar on maka arus dapat lewat pada transistor dan mengimplementasikan logika 1. Sebaliknya arus akan diblokir jika saklar off dan ini mengimplementasikan logika 0.

Pada era sekarang mikroprosesor bisa berisikan miliaran transistor sehingga mempunyai kemampuan sangat tinggi. Meningkatkan kemampuan prosesor bisa berarti meningkatkan fungsinya, sehingga semakin banyak pekerjaan yang bisa diselesaikan dalam waktu cepat.

Gunawan Putrodjojo dan Eko Budi Purwanto, 2003. MENGOPTIMALKAN SISTEM PENYIMPANAN (MEMORY SYSTEM) UNTUK MENINGKATKAN KINERJA KOMPUTER. Jurnal llmiah llmu Komputer, Vol. 1 No. 3 September 2003: 41-54.
http://dspace.library.uph.edu:8080/bitstream/123456789/1554/2/jiik-01-03-2003-mengoptimalkan_sistem_penyimpanan_memory.pdf


Pada dasarnya sebuah mikroprossesor terdiri atas ; CPU (Central Processing Unit) yakni otak yang merupakan pengendali utama dari operasi yang ada pada system computer. Memory (Storage) yaitu media penyimpanan sebuah data atau instruksi. Port I/O adalah komponen yang digunakan untuk menghubungkan mikroprossesor dengan perangkat diluarnya. Bus system yaitu bus yang di dalamnya terdapat data, alamat dan kendali pada mikroprossessor.

Mikroprosesor biasa disebut juga CPU (Central Processing Unit). Cara kerja sebuah Mikroprosesor diarahkan oleh suatu program dalam kode-kode bahasa mesin yang telah dimasukkan terlebih dahulu ke dalam sebuah memori. Di dalam Mikroprosesor minimal terdiri dari rangkaian digital, register, pengolah logika aritmatika, rangkaiansekuensial.

Berikut adalah karakteristik penting dari mikroprosesor :
1. Ukuran bus data internal (internal data bus size): Jumlah saluran yang terdapat dalam mikroprosesor yang menyatakan jumlah bit yang dapat ditransfer antar komponen di dalam mikroprosesor.
2. Ukuran bus data eksternal (external data bus size): Jumlah saluran yang digunakan untuk transfer data antar komponen antara mikroprosesor dan komponen-komponen di luar mikroprosesor.
3. Ukuran alamat memori (memory address size): Jumlah alamat memori yang dapat dialamati oleh mikroprosesor secara langsung.
4. Kecepatan clock (clock speed): Rate atau kecepatan clock untuk menuntun kerja mikroprosesor.
5. Fitur-fitur spesial (special features): Fitur khusus untuk mendukung aplikasi tertentu seperti fasilitas pemrosesan floating point, multimedia dan sebagainya.

Mikroprosesor atau CPU adalah “otak” yang merupakan pengendali utama semua operasi dalam sistem komputer. Mikroprosesor mengambil instruksi biner dari memori, menerjemahkannya menjadi serangkaian aksi dan menjalankannya. Aksi tersebut bisa berupa transfer data dari dan ke memori, operasi aritmatika dan logika, atau pembangkitan sinyal kendali.

Timbo Faritcan Parlaungan S dan Nita Wijaya, 2012. PERANCANGAN PERANGKAT LUNAK UNTUK SIMULASI PEMBUATAN PETA ALAMAT MEMORI PADA SISTEM MIKROPROSESSOR. Jurnal Teknologi Informasi dan Komunikasi STMIK Subang, April 2012.
http://jurnalstmiksubang.ac.id/index.php/jtik/article/view/47/pdf
Read more

Sabtu, 19 Desember 2015

Perbedaan Prosesor CISC dan RISC


Intel merupakan salah satu contoh prosesor berarsitektur CISC(Complex Instruction Set Computer). Arsitektur CISC cenderung memiliki karakteristik instruksi yang lebih banyak dan panjang setiap instruksinya berbeda beda, mulai dari 1 byte hingga 12 byte, bahkan lebih. Suatu arsitektur prosesor bisa digolongkan dalam CISC apabila sebuah instruksi mampu mengerjakan lebih dari satu operasi dasar, yang meliputi pembacaan data dari memori, melakukan operasi aritmatika dan logika dan menyimpan data ke dalam memori. Hal ini berbeda dengan arsitektur RISC(Reduced Instruction Set Computer). Arsitektur RISC menyediakan instruksi dalam bentuk yang sederhana dan pada umumnya operasi yang dilakukan register-to-register. Arsitektur RISC menyediakan instruksi sederhana yang mana semua instruksi selalu memiliki panjang yang sama. Misalkan pada prosesor MIPS, semua hasil assembly instruksinya masing-masing akan selalu berukuran 4 byte. Perbedaan lebih jelas bisa dilihat pada operasi penjumlahan antara intel dan MIPS berikut.




Instruksi Intel
add [mydata],0x100
Instruksi MIPS
lw $t1,mydata
addiu $t2,$t1,0x100
sw $t2,mydata

Prosesor Intel mendukung operasi akses memori pada hampir semua instruksinya. Sementara itu, prosesor MIPS dan prosesor RISC lainnya hanya dapat menggunakan register. Untuk mengakses memori, prosesor menyediakan instruksi load untuk membaca data dari memori ke register dan store menyimpan data dari register ke memori.

Prosesor CISC akan cenderung lebih mudah dipelajari assemblynya, karena beberapa alasan, pertama instruksinya lebih mudah dimengerti dan praktis untuk ditulis, jumlah register lebih sedikit dibandingkan prosesor arsitektur RISC membuatnya mudah untuk dihafalkan, prosesor RISC hanya berfokus pada simplifikasi desain prosesor dan compiler, namun arsitektur CISC lebih fokus pada penyediaan fungsi abstraksi operasi tingkat tinggi di tingkat assembly. Secara garis besar kita bisa mengatakan bahwa CISC bersifat programmer oriented, sedangkan RISC lebih kepada hardware oriented.
Jika melihat lebih dalam lagi, masih ada banyak perbedaan yang bisa ditemukan. Prosesor CISC memiliki waktu eksekusi instruksi yang berbeda, tergantung pada jenis instruksi dan addressing mode yang digunakan. Hal ini secara langsung memaksa pengembang arsitektur untuk menetapkan algoritma pipelining yang tepat, karena waktu eksekusi berbeda-beda, tentu saja akan semakin rumit. Hal ini berbalik dengan arsitektur RISC. Instruksi yang sederhana membuat pengembang mudah menetapkan waktu eksekusi instruksi, setiap instruksi memiliki waktu eksekusi seragam dan algoritma yang diterapkan untuk pipelining pun sederhana.
Read more

Sabtu, 06 Desember 2014

Cara Mudah Mengatasi Masalah Printer yang Jarang Dipakai


Belum lama ini saya punya printer, merknya adalah Canon tipe IP2700. Karena belum berpengalaman merawat printer, saat saya pakai tiba-tiba tintanya ngadat. Sepertinya printer tidak seperti beberapa alat elektronik lainnya. Semakin jarang dipakai, semakin awet :v
Memang benar, sudah lama saya jarang mendapat tugas makalah dari kuliah, jadi printernya jarang saya pakai. Tapi akhir-akhir ini jadwal saya ditimbun oleh kegiatan praktikum. Waktunya sangat tidak tepat, terpaksa saya mengeluarkan lebih banyak kocek untuk mencetak ratusan lembar kerja untuk praktikum. Setelah ada waktu luang, saya googling tentang cara mengatasi masalah printer yang jarang dipakai. Ternyata solusinya mudah gan :D

Tinta printer ini teksturnya agak kental, mirip lem, jadi logikanya kalau dibiarkan lama-lama kering.  Tapi tinta ini sedikit berbeda dengan lem, tinta ini mudah luntur saat terkena air dan panas.

Jadi, solusi untuk mengatasinya begini, gan. Copot cartridge printernya, lalu rendam dalam air hangat setengah panas, mungkin sekitar 60-80 derajat C. Tapi ingat, atur ketinggian air, agar tidak mengenai titik-titik pin di depan cartridge(warnanya kuning emas). Tunggu kira-kira 10-15 menit. Jika anda melihat air semakin keruh karena terkena lunturan tinta, jangan kawatirkan hal ini.

Setelah selesai, pasangkan kembali dan uji coba apakah printer dapat bekerja lebih baik, jika belum, coba rendam kembali sampai lancar seperti sedia kala.
Selamat mencoba :)
Read more

Minggu, 16 Maret 2014

Tidak Bisa Mengubah Kecerahan (Brightness) Setelah Install Ulang


Kemarin saya mencoba menginstall ulang laptop saya, Toshiba Satellite-C800 dengan sistim operasi Windows 8.1 Enterprise 64-bit. Sebelumnya sistim operasi yang saya pakai adalah sistim operasi built-in yang sudah terinstall sejak pertama kali membeli, yaitu Windows 7 Home Premium 32-bit.

Saya sama sekali tidak berpikir akan mengalami masalah. Sebelum ini, saya sering sekali menginstall bermacam-macam sistem operasi di komputer buntut saya yang ada di rumah. Sistem operasi yang sebelumnya pernah saya install adalah Windows XP, Windows 7, Ubuntu. Semuanya berjalan dengan lancar. Paling-paling masalah instalasi yang pernah saya alami cuma masalah kerusakan CD dan yang paling parah hardisk rusak gara-gara keseringan diformat pas install ulang.

Nah, balik lagi ke point sebelumya. Ceritanya begini, awalnya instalasi berjalan normal, tampilan instalasi mirip seperti Windows 7 dan berjalan normal seperti biasanya saat saya menginstall Windows 7. Dan, setelah menunggu sekitar 1 jam, Windows 8.1 Enterprise berhasil saya install. Ini dia tampilan Windows 8.1 di laptop saya(sudah ditambah beberapa program):

Tapi saya mulai melihat titik awal masalaha ketika saya merasa terganggu dengan kecerahan layar. Biasanya secara reflek, saya pakai Fn + F2 untuk menurunkan intensitas kecerahan layar. Tapi kok gak bisa yah?

Lalu saya cari kemana-mana, dan ketemu bagaimana caranya untuk mengatur brightness di Windows 8.1 secara manual, yaitu melalui Start -> Settings. Lhoh, anehnya icon brightness yang diperuntukkan untuk mengatur kecerahan terlihat disable. Setelah saya layangkan pointer diatasnya, muncul tooltip yang menunjukkan bahwa pengaturan tidak bisa diterapkan pada tampilan desktop ini.

Terpaksa deh, masuk kampus, buat cari tau solusinya. Setelah baca-baca, ternyata masalahnya adalah driver untuk graphic card laptop saya belum terinstall. So, intinya sekarang saya membutuhkan driver. Saya baru teringat kalau pas beli laptop ini saya dapat CD berisi driver untuk semua hardware yang dipakai laptop ini.
Langsung deh, laptopnya saya shutdown, masukkin tas. pas jalan baru ingat, kalau CDnya ada di kampung halaman :v
Bla...bla...bla... browsing... browsing...browsing... install...install...install..., dan akhirnya saya berhasil mendapatkan driver yang saya inginkan :D
Bagi kalian yang punya masalah sama seperti saya, silahkan download driver Intel Graphic untuk Toshiba di link berikut ini:
http://drivers.drp.su/Video_Intel/FORCED/NTx64/HD3000_9.17.10.3372/FORCED-NTx64-HD3000_9.17.10.3372-drp.exe
Kalau punya masalah sama, tapi merk laptopnya beda, coba searching di google gan, Good luck :)
Read more

Senin, 07 Oktober 2013

Memperbaiki Disk yang Gagal di Format : Windows was unable to Complete formatting


Kesalahan seperti ini sering kali muncul pada harrddisk atau flashisk yang sudah tua. Semain tua usia disk, semakin rentan pula disk mengalami kerusakan. Salah satu masalah yang sering terjai adalah bad sector. Hal ini menyebabkan kesalahan pada saat penulisan data ke sector. Menurut pengalaman saya, hal demikian secara bstrak disebabkan oleh kerusakan sektor disk pertama. Pada sektor ini informasi tentang geometri disk disimpan seperti ukuran sektor track dan cylinder. Informasi ini disebut sebagai BIOS Prameter Block (BPB).
Ketika akan melakukan formatting, Windows perlu melihat geometri disk terlebih dahulu. Namun, karena sesuatu, mungkin kesalahan sistem, virus, atau faktor X, BPB menjadi rusak atau missformatted :D
Di Linux, kealahan seperti ini dapat diatasi tanpa memunculkan pesan error, karena Linux secara langsung melakukan komunikasi dengan hardware untuk menyusun BPB yang sesuai dengan disk. Tapi, di Windows BPB yang telah rusak belum mampu diatasi oleh Windows. Saya sendiri juga tidak tahu mengapa demikian. Untungnya, di Windows banyak pengembang hardware yang peduli akan hal ini, contohnya HDD Low Level Format Tool

Ini adalah software yang barusan saya coba, dan hasilnya cukup memuaskan 100% sukses... :)


Ingin mencoba? Silahkan Download HDD Low Level Format Tool 4.30
dengan klik link icon dibawah ini

Read more