Senin, 11 Desember 2017

Mengenal Kriptografi

Kriptografi (cryptography) berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu kripto dan graphia. Kripto artinya menyembunyikan, sedangkan graphia artinya tulisan. Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data .Tetapi tidak semua aspek keamanan informasi dapat diselesaikan dengan kriptografi. Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan pesan.
Pada prinsipnya, Kriptografi memiliki 4 komponen utama yaitu: Plaintext, yaitu pesan yang dapat dibaca Ciphertext, yaitu pesan acak yang tidka dapat dibaca Key, yaitu kunci untuk melakukan teknik kriptografi Algorithm, yaitu metode untuk melakukan enkrispi dan dekripsi. Kemudian, proses yang akan dibahas dalam artikel ini meliputi 2 proses dasar pada Kriptografi yaitu: Enkripsi (Encryption) Dekripsi (Decryption) dengan key yang digunakan sama untuk kedua proses diatas. Penggunakan key yang sama untuk kedua proses enkripsi dan dekripsi ini disebut juga dengan Secret KeyShared Key atau Symetric Key Cryptosystems.Berikut adalah ilustrasi 4 komponen dan 2 proses yang digunakan dalam teknik kriptografi.



Enkripsi
Enkripsi (Encryption) adalah sebuah proses menjadikan pesan yang dapat dibaca (plaintext) menjadi pesan acak yang tidak dapat dibaca (ciphertext). Berikut adalah contoh enkripsi yang digunakan oleh Julius Caesar, yaitu dengan mengganti masing-masing huruf dengan 3 huruf selanjutnya (disebut juga Additive/Substitution Cipher).
Plaintext
rumah
Motor
kompor
Ciphertext 
xasgn
suzux
qusvux
DekripsiDekripsi merupakan proses kebalikan dari enkripsi dimana proses ini akan mengubah ciphertext menjadi plaintext dengan menggunakan algortima ‘pembalik’ dan key yang sama. Contoh:
Ciphertext 
xasgn
suzux
qusvux
Plaintext
rumah
Motor
kompor

Senin, 05 Oktober 2015

Teori Sistem Bus Pada Arsitektur Komputer

Sistem bus dalam arsitektur komputer merupakan bus yang digunakan oleh sistem komputer untuk menghubungkan semua komponennya untuk menjalankan tugasnya. Bus sendiri merupakan jalur yang di gunakan untuk mengalirkan data-data pada komputer yang dapat digunakan untuk komunikasi dan dapat dibuat antara dua elemen atau lebih.
Dalam hal ini, data maupun aplikasi yang ada pada memori dapat di eksekusi oleh CPU dengan menggunakan sistem bus.  Di dalam sebuah komputer tidak hanya memiliki satu bus saja, hal ini agar komputer dapat berjalan dengan baik. Banyaknya bus yang terdapat dalam sistem, tergantung dari arsitektur sistem komputer yang digunakan. Sebagai contoh, sebuah komputer PC dengan prosesor umumnya Intel Pentium 4 memiliki bus prosesor (Front-Side Bus), bus AGP, bus PCI,) bus USB, bus ISA (yang digunakan oleh keyboard dan mouse), dan bus-bus lainnya. Berikut ini bus utama dalam sistem komputer modern :

1.Bus Prosessor.
Disebut juga dengan front-side bus (FSB), merupakan bus tercepat pada komputer dan merupakan inti dari chipset (dan motherboard). Utamanya, bus ini di gunakan oleh mikroprosesor untuk melewatkan informasi ke / dari chache atau memori utama, dan juga ke chipset north-bridge. Bus prosessor pada komputer sekarang berjalan pada kecepatan 66MHz, 100MHz, 133MHz,atau 200Mhz menggunakan lebar jalur data 64 bit (8 byte).
2.Bus ISA
Bus 16-bit 8MHz. kecepatan ini sangat rendah namun cukup ideal untuk peripheral yang memang berkecepatan rendah, termasuk piranti lama. Untuk keperluan modem, sound-card, dan piranti berkecepatan rengdah lain bus ini masih mencukupi. Komputer generasi terakhir seperti Pentium 4 relatif tidak menyertakan bus / slot ini didalamnya. Pada chipset south-bridge terdapat controller yang bekerja sebagai bus ISA sekaligus interface dengan bus PCI diatasnya.Chip super I/O biasanya terhubung kepadanya , terutama pada sistem lama yang masih memiliki slot ISA. Bus lain bernama EISA hasil dari arsitektur Micro Channel IBM untuk kompatibel dengan PC. IBM Micro Channel Architecture (MCA) sendiri selesai dibuat pada tahun 1987 ketika mikroprosesor 80386 diluncurkan tahun 1985.
3.VESA (Video electronics Standards Association),
dikenal sebagai VESA local bus atau VL bus. VL Bus versi 1.0 ialah bus 32 bit yang dapat bekerja hingga 33MHz.
4.Bus PCI
Bus 32-bit yang normalnya berjalan pada 33MHz. Komputer yang modern mendukung PCI 64-
bit 66MHz. bus ini terdapat baik pada chipset north – bridge atau pada I/O controller hub.
Disajikan di motherboard sebagai slot 32-bit yang umumnya berwarna putih sebanyak 3 dan 6
slot dan banyak digunakan oleh peripheral komputer yang membutuhkan kecepatan tinggi
misalnya SCSI, kartu jaringan (Network Interface Card, NIC), dan lain-lain.
5. Bus AGP

Bus cepat 32 bit yang khusus untuk kartu grafis / video. Berjalan paada kecepatan 66MHz (AGP

1x),133MHz (AGP 2x), 266 MHz (AGP 4x), atau 533MHz (AGP 8x) yang akan menghasilkan

bandwidth hingga sebesar 2,133MB/det. AGP di hubungkan ke north-bridge atau memori
controller hub pada chipset dan konektornya pada motherboard yang diwujudkan dalam bentuk
slot AGP pada system yang mendukungnya, umumnya berwarna coklat.

Berdasar jenis busnya,bus di bagi menjadi :
1. merupakan bus yang khusus menyalurkan data tertentu, contohnya paket data saja, atau alamat saja, jenis ini disebut dedicated bus.
2. merupakan bus yang dilalui informasi yang berbeda baik data, alamat, dan sinyal kontrol

dengan metode multipleks data maka bus ini disebut multiplexed bus. Namun bus jenis ini

memiliki kekurangan yaitu hanya memerlukan saluran sedikit sehingga menghemat tempat

tapi kecepatan transfer data menurun dan diperlukan mekanisme yang komplek untuk
mengurai data yang telah dimultipleks.


CHACE MEMORY, MEMORY INTERNAL, MEMORY EKTERNAL
1. Cache Memory
Pengertian Cache Memory : Cache adalah memory berukuran kecil yang sifatnya temporary
(sementara). Walaupun ukuran filenya sangat kecil, namun keceptannya sangat tinggi. Dalam
terminologi hardware, istilah ini biasanya merujuk pada memory berkecepatan tinggi yang
menjembatani aliran data antara processor dengan memory utama (RAM) yang biasanya
memiliki kecepatan jauh lebih rendah.

Dalam terminologi hardware, istilah ini biasanya merujuk pada memory berkecepatan tinggi yang menjembatani aliran data antara processor dengan memory utama (RAM) yang biasanya memiliki kecepatan jauh lebih rendah. Penggunaan cache ditujukan untuk meminimalisir terjadinya bottleneck dalam aliran data antara processor dan RAM. Sedangkan dalam terminologi software, istilah ini merujuk pada tempat penyimpanan sementara untuk beberapa file yang sering diakses (biasanya diterapkan dalam network). Cache umumnya terbagi menjadi beberapa jenis, seperti L1 cache, L2 cache dan L3 cache. Kan udah ada memori utama (RAM), apa kegunaannya? Sabar dong sob. Ini kan baru pada tahap pengertian.
Fungsi dan kegunaan Cache Memory
Cache berfungsi sebagai tempat penyimpanan sementara untuk data atau instruksi yang diperlukan oleh processor. Secara gampangnya, cache berfungsi untuk mempercepat akses data pada komputer karena cache menyimpan data/informasi yang telah diakses oleh suatu buffer, sehingga meringankan kerja processor.
Dalam Internet sebuah proxy cache dapat mempercepat proses browsing dengan cara menyimpan data yang telah diakses di komputer yang berjarak dekat dengan komputer pengakses. Jika kemudian ada user yang mengakses data yang sama, proxy cache akan mengirim data tersebut dari cache-nya, bukan dari tempat yang 
lama diakses. Dengan mekanisme HTTP, data yang diberikan oleh proxy selalu data yang
terbaru, karena proxy server akan selalu mencocok kan data yang ada di cache-nya dengan data
yang ada di server luar.
1. Memory Internal
Pengertian memori adalah suatu penamaan konsep yang bisa menyimpan data dan program.sedangkan Memori internal, yang dimaksud adalah bahwa memori terpasang langsung pada motherboard. Dengan demikian, pengertian memory internal sesungguhnya itu dapat berupa : · First-Level (L1) Cache · Second-Level (L2) Cache · Memory Module Akan tetapi pengelompokan dari memory internal juga terbagi atas : · RAM (Random Access Memory) dan · ROM (Read Only Memory)
Penjelasan dari masing- masing pengertian diatas adalah sebagai berikut :
2. First Level (L1) Cache
Memory yang bernama L1 Cache ini adalah memori yang terletak paling dekat dengan prosessor (lebih spesifik lagi dekat dengan blok CU (Control Unit)). Penempatan Cache di prosessor dikembangkan sejak PC i486. Memori di tingkat ini memiliki kapasitas yang paling kecil (hanya 16 KB), tetapi memiliki kecepatan akses dalam hitungan nanodetik (sepermilyar detik). Data yang berada di memori ini adalah data yang paling penting dan paling sering diakses. Biasanya data di sini adalah data yang telah diatur melalui OS (Operating system) menjadi Prioritas Tertinggi (High Priority).

3. Second-Level (L2) Cache
Memori L2 Cache ini terletak di Motherboard (lebih spesifik lagi : modul COAST : Cache On a Stick. Bentuk khusus dari L2 yang mirip seperti Memory Module yang dapat diganti-ganti tergantung motherboardnya). Akan tetapi ada juga yang terintegrasi langsung dengan MotherBoard, atau juga ada yang terintegrasi dengan Processor Module. Di L2 Cache ini, kapasitasnya lebih besar dari pada L1 Cache. Ukurannya berkisar antara 256 KB-2 MB. Biasanya L2 Cache yang lebih besar diperlukan di MotherBoard untuk Server. Kecepatan akses sekitar 10 ns.

4. Memory Module
Memory Module ini memiliki kapasitas yang berkisar antara 4 MB-512 MB. Kecepatan aksesnya ada yang berbeda-beda. Ada yang berkecepatan 80 ns, 60 ns, 66 MHz (=15 ns), 100 MHz(=10ns), dan sekarang ini telah dikembangkan PC133mhZ(=7.5 ns).
Memori modul di kelompok kan menjadi 2,yaitu : 

a) Single In-Line Memory Module (SIMM)
b) DIMM (Dual In-Line Memory Module)

Memori biasa dibedakan menjadi dua macam: ROM dan RAM. Selain itu, terdapat pula memori
yang disebut Cache Memory.
A.Rom
ROM adalah kependekan dari Read Only Memory, yaitu perangkat keras pada komputer berupa chip memori semikonduktor yang isinya hanya dapat dibaca Jenis memori ini datanya hanya bisa dibaca dan tidak bisa ditulis secara berulang-ulang. Memori ini berjenis non-volatile, artinya data yang disimpan tidak mudah menguap (hilang) walaupun catu dayanya dimatikan. Karena itu memori ini biasa digunakan untuk menyimpan program utama dari suatu sistem. ROM pada komputer disediakan oleh vendor komputer dan berisi program atau data.Di dalam PC, ROM biasa disebut BIOS (Basic Input/Output System) atau ROM-BIOS. Instruksi dalam BIOS inilah yang akan dijalankan oleh mikroprosesor ketika komputer mulai dihidupkan.
Jenis ROM
Sampai sekarang dikenal beberapa jenis ROM yang pernah beredar dan terpasang pada komputer, antara lain PROM, EPROMdan EEPROM

 a.PROM (Progammable Read-Only-Memory)
Jika isi ROM ditentukan oleh vendor, PROM dijual dalam keadaan kosong dan kemudian dapat diisi dengan program oleh pemakai. Setelah diisi dengan program, isi PROM tak bisa dihapus.

b.EPROM (Erasable Programmable Read-Only-Memory)
Berbeda dengan PROM, isi EPROM dapat dihapus setelah diprogram. Penghapusan dilakukan dengan menggunakan sinar ultraviolet. 

c.EEPROM (Electrically Erasable Programmable Read-Only0Memory)
EEPROM dapat menyimpan data secara permanen, tetapi isinya masih bisa dihapus secara elektris melalui program. Salah satu jenis EEPROM adalah Flash Memory. Flash Memory biasa digunakan pada kamera digital, konsol video game, dan cip BIOS.

d. Ram
Ram (Random-Access Memory) adalah jenis memori yang isinya dapat diganti-ganti selama komputer sihidupkan dan sebagai suatu penyimpanan data yang dapat dibaca atau ditulis dan dapat dilakukan secara berulang-ulang dengan data yang berbeda-beda. Jenis memori ini merupakan jenis volatile (mudah menguap), yaitu data yang tersimpan akan hilang jika catu dayanya dimatikan. Karena alasan tersebut, maka program utama tidak pernah disimpan di RAM. Random artinya data yang disimpan pada RAM dapat diakses secara acak. RAM dibagi lagi menjadi dua jenis, yaitu jenis statik dan jenis dinamik. RAM statik menyimpan satu bit informasi dalam sebuah flip-flop. Jenis RAM ini asyncronous dan tidak memerlukan sinyal clock. RAM statik biasanya digunakan untuk aplikasi-aplikasi yang tidak memerlukan kapasitas memori RAM yang besar. RAM dinamik menyimpan satu bit informasi data sebagai muatan. RAM dinamik menggunakan kapasitansi gerbang substrat sebuah transistor MOS sebagai sel memori elementer. Untuk menjaga agar data yang tersimpan RAM dinamik tetap utuh, data tersebut harus disegarkan kembali dengan cara membaca dan menulis ulang data tersebut kememori. RAM dinamik ini digunakan untuk aplikasi yang memerlukan RAM dengan kapasitas besar, misalnya dalam sebuah komputer pribadi (PC). adalah jenis RAM yang secara berkala harus disegarkan oleh CPU agar data yang terkandung didalamnya tidak hilang.  jenis RAM yang merupakan kelanjutan dari DRAM namun telah disnkronisasi oleh clock sistem dan memiliki kecepatan lebih tinggi daripada DRAM. Cocok untuk sistem dengan bus yang memiliki kecepatan sampai 100 MHz.
adalah jenis memory yang lebih cepat dan lebih mahal dari pada SDRAM. Memory ini bisa digunakanpada sistem yang menggunakan Pentium 4. adalah jenis memori yang tidak memerlukan penyegaran oleh CPU agar data yang terdapat di dalamnya tetap tersimpan dengan baik. RAM jenis ini memiliki kecepatan lebih tinggi daripada DRAM. SDRAM adalah jenis memori yang digunakan pada sistem yang menggunakan Pentium. Cocok untuk yang memiliki bus denagan kecepatan sampai 66 MHz. Merupakan memori tambahan yang berfungsi untuk menyimpan data atau program.
Contoh: Hardisk, Floppy Disk Konsep dasar memori eksternal adalah : - Menyimpan data bersifat tetap (non volatile), baik pada saat komputer aktif atau tidak. Memori eksternal biasa disebut juga memori eksternal yaitu perangkat keras untuk melakukan operasi penulisan, pembacaan dan penyimpanan data, di luar memori utama.
Memori eksternal mempunyai dua tujuan utama yaitu sebagai penyimpan permanen untuk membantu fungsi RAM dan yang untuk mendapatkan memori murah yang berkapasitas tinggi bagi penggunaan jangka panjang.

BERBAGAI JENIS MEMORY EKSTERNAL 
1. Berdasarkan Jenis Akses Data
Berdasarkan jenis aksesnya memori eksternal dikelompokkan menjadi dua jenis yaitu : di mana iamempunyai akses langsung terhadap data.Contoh :* Magnetik (floppy disk, hard disk).* Removeable hard disk (Zip disk, Flash disk).* Optical Disk.: Akses data secara tidak langsung
(berurutan), seperti pita magnetik. karakteristik bahan pembuatannya, memori eksternal digolongkan menjadi beberapa kelompok sebagai berikut:A. punched Card atau kartu berlubang
Merupakan kartu kecil berisi lubang-lubang yang menggambarkan berbagai instruksi atau data.
Kartu ini dibaca melalui puch card reader yang sudah tidak digunakan lagi sejak tahun 1979.

a. Magnetic disk
Magnetic Disk merupakan disk yang terbuat dari bahan yang bersifat magnetik, Contoh : floppy
dan harddisk.

b. Optical Disk
Optical disk terbuat dari bahan-bahan optik, seperti dari resin (polycarbonate) dan dilapisi
permukaan yang sangat reflektif seperti alumunium. Contoh : CD dan DVD
c. Magnetic Tape

Sedangkan magnetik tape, terbuat dari bahan yang bersifat magnetik tetapi berbentuk pita, seperti halnya pita kaset tape recorder.
Kesimpulan :
Memory Internal merupakan Memory yang menyimpan data dala media fisik berbenuk RAM
ataU ROM. Sedangkan Memory Eksternal menyimpan data dalam media fisik berbentuk kaset atau disk. agar tetap mengaliri transistor sehingga tetap dapat menyimpan data.

Minggu, 27 September 2015

Pengertian dan Jenis BUS

Pengertian Bus adalah  bagian dari sistem komputer yang berfungsi untuk memindahkan data antabagian – bagian dalam sistem komputer. Data dipindahkan dari piranti masukan ke CPU, CPU ke memori, atau dari memori ke piranti keluaran.
Bus beroperasi pada kecepatan dan lebar yang berbeda. PC awal mempunyai bus dengan kecepatan 4.77 MHz dan lebar 8 bit yang dikenal dengan bus ISA (Industry Standard Architecture). Kemudian bus diperbaiki menjadi lebar 16 bit dengan kecepatan 8 MHz. Pada tahun 1990 Intel memperkenalkan bus PCI (Pheriperal Component Interconnect), semula dengan lebar 32 bit, sekarang lebar bus 64 bit dan di-run pada kecepatan 133 MHz.
Sedangkan jenis-jenis bus itu sendiri juga dikelompokkan berdasarkan masingmasing kriteria, tapi disini akan di jelaskan Jenis Bus berdasarkan fungsinya. Langsung saja berikut Jenis-jenis Bus Berdasarkan Fungsi :
v  Data Bus :
- Berfungsi untuk mentransfer data, membawa data dari dan ke perangkat atau periferal
- Terdiri atas beberapa jalur penghantar, 8, 16, 32 bahkan 64 bahkan lebih jalur paralel
- Data ditransmisikan dalam dua arah, yaitu dari CPU atau mikroprosesor ke unit memori atau modul I/O dan sebaliknya.
- Semakin lebar bus maka semakin besar data yang dapat ditransfer sekali waktu.
v  Control Bus:
 - Berfungsi untuk mensinkronkan proses penerimaan dan pengiriman data.
 - Untuk mengatur memori atau port agar siap ditulis atau dibaca.
 - Sinyal Kontrol: RD, WR, IO/M
- Sinyal Read dan write : untuk mengakses data ke dan dari perangkat
v  Address Bus:
- membawa informasi untuk mengetahui lokasi suatu perangkat atau periferal
- Untuk memilih lokasi memori atau port yang akan ditulis atau dibaca
- Untuk menentukan rute data, bersumber dari mana, tujuannya ke mana.
- Bersifat searah, cpu memberikan alamat yang bertujuan untuk menentukan periferal mana yang dituju. Contoh memori mana yang dituju atau I/O mana yang dituju.
- Semakin besar bus alamat, akan semakin banyak range lokasi yang dapat dialamati.
- Jumlah alamat yang dapat dituju pada Bus alamat adalah sebanyak 2n. n jumlah jalur Bus alamat.
Demikianlah Pengertian Bus dan Jenis-Jenis Bus. Saran dan komentar dari sobat akan saya tampung guna untuk penulisan artikel selanjutnya bisa lebih baik lagi. Dan semoga apa yang saya tuliskan ini dapat bermanfaat..

Register Prosesor

Register Prosesor

dalam arsitektur komputer, adalah sejumlah kecil memori komputer yang bekerja dengan kecepatan sangat tinggi yang digunakan untuk melakukan eksekusi terhadap program-program komputer dengan menyediakan akses yang cepat terhadap nilai-nilai yang umum digunakan. Umumnya nilai-nilai yang umum digunakan adalah nilai yang sedang dieksekusi dalam waktu tertentu.

Register prosesor berdiri pada tingkat tertinggi dalam hierarki memori: ini berarti bahwa kecepatannya adalah yang paling cepat; kapasitasnya adalah paling kecil; dan harga tiap bitnya adalah paling tinggi. Register juga digunakan sebagai cara yang paling cepat dalam sistem komputer untuk melakukan manipulasi data. Register umumnya diukur dengan satuan bit yang dapat ditampung olehnya, seperti "register 8-bit", "register 16-bit", "register 32-bit", atau "register 64-bit" dan lain-lain.

Istilah register saat ini dapat merujuk kepada kumpulan register yang dapat diindeks secara langsung untuk melakukan input/output terhadap sebuah instruksi yang didefinisikan oleh set instruksi. untuk istilah ini, digunakanlah kata "Register Arsitektur". Sebagai contoh set instruksi Intel x86 mendefinisikan sekumpulan delapan buah register dengan ukuran 32-bit, tapi CPU yang mengimplementasikan set instruksi x86 dapat mengandung lebih dari delapan register 32-bit.

Register terbagi menjadi beberapa kelas:
  • Register data, yang digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer).
  • Register alamat, yang digunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses memori.
  • Register general purpose, yang dapat digunakan untuk menyimpan angka dan alamat secara sekaligus.
  • Register floating-point, yang digunakan untuk menyimpan angka-angka bilangan titik mengambang (floating-point).
  • Register konstanta (constant register), yang digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca (bersifat read-only), semacam phi, null, true, false dan lainnya.
  • Register vektor, yang digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.
  • Register special purpose yang dapat digunakan untuk menyimpan data internal prosesor, seperti halnya instruction pointer, stack pointer, dan status register.
  • Register yang spesifik terhadap model mesin (machine-specific register), dalam beberapa arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register langsung dimasukkan ke dalam desain prosesor tertentu saja, mungkin register jenis ini tidak menjadi standar antara generasi prosesor.

Arsitektur Komputer Von Noumann dan Harvard

Arsitektur Komputer Von Noumann dan Harvard


Sejak Intel mengeluarkan seri 4004 sekitar tahun 1970 dikenal ada dua jenis arsitektur mikroprosesor dilihat dari cara penggunaan memorinya. Jauh sebelum ini, pada tahun 1944 Howard Aiken dari Harvard University bekerja sama dengan engineer IBM maaaembuat mesin electromechanical yang terbuat dari banyak sekali transistor tabung dan relay. Mesin ini dikenal sebagai komputer pertama di dunia yang diberi nama Harvard Mark I. Belakangan baru diketahui bahwa sebelumnya pada tahun 1941 Konrad Zuse dari Jerman sudah membuat mesin yang dapat diprogram dan bekerja dengan sistem biner. Namun karena Jerman kala itu terisolasi saat perang dunia ke-II, Harvard Mark I diyakini sebagai komputer pertama yang memakai prinsip digital.
Mesin Harvard ini tidak lain adalah mesin kalkulator yang dikendalikan oleh pita kertas yang berisi instruksi. Waktu itu belum terpikirkan konsep komputer yang memakai memori. Hanya sebelumnya Alan Turing seorang ahli matematika Inggris pada tahun 1939 mengemukanan konsep mesin universal (universal machine). Hampir satu dekade kemudian pada tahun 1945, Dr. John von Neumann ahli matematika yang lahir di Budapest Hongaria, membuat tulisan mengenai konsep komputer yang menurutnya penting untuk menyimpan instruksi dan data pada memori. Sehingga mesin komputer ini dapat bekerja untuk berbagai keperluan.
Dari dulu hingga saat ini konsep dasar dari komputer yang dikendalikan oleh program sekuensial masih sama, yaitu terdiri dari CPU, Memori dan I/O (input-output). CPU (Central Processing Unit) sendiri terdiri dari blok unit control dan ALU (Aritmathic Logic Unit). Konsep dasarnya semua sama, tetapi kemudian adalah bagaimana implementasi dan realisasinya. Desainer dan pabrik mikroprosesor membuatnya dengan arsitektur yang berbeda-beda.
Sebagai pionir era komputer digital, nama Harvard dan Von Neumann diadopsi untuk menggambarkan dua tipe arsitektur mikroprosesor. Kedua arsitektur itu berbeda pada cara penempatan memorinya dan dikenal dengan sebutan arsitektur Harvard dan arsitektur Von Neumann.
Arsitektur Von Neumann adalah arsitektur komputer yang menempatkan program (ROM=Read Only Memory) dan data (RAM=Random Access Memory) dalam peta memori yang sama. Arsitektur ini memiliki address dan data bus tunggal untuk mengalamati program (instruksi) dan data. Contoh dari mikrokontroler yang memakai arsitektur Von Neumann adalah keluarga 68HC05 dan 68HC11 dari Motorola.
Sebaliknya, arsitektur Harvard memiliki dua memori yang terpisah satu untuk program (ROM) dan satu untuk data (RAM). Intel 80C51, keluarga Microchip PIC16XX, Philips P87CLXX dan Atmel AT89LSXX adalah contoh dari mikroprosesor yang mengadopsi arsitektur Harvard. Kedua jenis arsitektur ini masing-masing memiliki keungulan tetapi juga ada kelemahannya.
Dengan arsitektur Von Neuman prosesor tidak perlu membedakan program dan data. Prosesor tipe ini tidak memerlukan control bus tambahan berupa pin I/O khusus untuk membedakan program dan data. Karena kemudahan ini, tidak terlalu sulit bagi prosesor yang berarsitektur Von Neumann untuk menambahan peripheral eksternal seperti A/D converter, LCD, EEPROM dan devais I/O lainnya. Biasanya devais eksternal ini sudah ada di dalam satu chips, sehingga prosesor seperti ini sering disebut dengan nama mikrokontroler (microcontroller).

Arsitektur Komputer Von Noumann
LDAA $4000 ; A <– $4000
Pada dasarnya komputer arsitektur Von Neumann adalah terdiri dari elemen sebagai berikut:
Prosesor, merupakan pusat dari kontrol dan pemrosesan instruksi pada komputer.ü
Memori, digunakan untuk menyimpan informasi baik program maupun data.ü
ü Perangkat input-output, berfungsi sebagai m
edia yang menangkap respon dari luar serta menyajikan informasi keluar sistem komputer.
Model kerja dari arsitektur dasar Von Neumann dapat dilihat pada Gambar 1. Pada gambar tersebut prosesor terdiri atas Unit Kontrol (CU) dan Unit Logika dan Aritmatik (ALU). Memori berfungsi sebagai tempat menyimpan instruksi yang sedang dijalankan oleh prosesor, lalu hasilnya dapat disajikan melalui perangkat input/output.
Prosesor atau Central Processing Unit (CPU)
CPU merupakan tempat untuk melakukan pemrosesan instruksi-instruksi dan pengendalian sistem komputer.
Perkembangan perangkat CPU mengikuti generasi dari sistem komputer.
Pada generasi pertama CPU terbuat dari rangkaian tabung vakum sehingga memiliki ukuran yang sangat besar. Pada generasi kedua telah diciptakan transistor sehinga ukuran CPU menjadi lebih kecil dari sebelumnya. Pada generasi ketiga CPU telah terbuat dari rangkaian IC sehingga ukurannya menjadi lebih kecil. Pada generasi keempat telah diciptakan teknologi VLSI dan ULSI sehingga memungkinkan ribuan sampai jutaan transistor tersimpan dalam satu chip.
o Control Unit (CU).
Control Unit atau Unit Kontrol berfungsi untuk mengatur dan mengendalikan semua peralatan yang ada pada sistem komputer. Unit kendali akan mengatur kapan alat input menerima data dan kapan data diolah serta kapan ditampilkan pada alat output.
Unit ini juga mengartikan instruksi-instruksi dari program komputer, membawa data dari alat input ke memori utama, dan mengambil data dari memori utama untuk diolah.
Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke ALU. Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output.
o Arithmatic and Logic Unit (ALU).
Arithmatic and Logic Unit atau Unit Aritmetika dan Logika berfungsi untuk melakukan semua perhitungan aritmatika (matematika) dan logika yang terjadi sesuai dengan instruksi program. ALU menjalankan operasi penambahan, pengurangan, dan operasi-operasi sederhana lainnya pada input-inputnya dan memberikan hasilnya pada register output.
o Register
Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan instruksi yang sedang diproses, sementara data dan instruksi lainnya yang menunggu giliran untuk diproses masih disimpan di dalam memori utama. Setiap register dapat menyimpan satu bilangan hingga mencapai jumlah maksimum tertentu tergantung pada ukurannya. Register-register dapat dibaca dan ditulis dengan kecepatan tinggi karena berada pada CPU.
Beberapa jenis register adalah:
Program Counter (PC), merupakan register yang menunjuk ke instruksi berikutnya yang harus diambil dan dijalankan.ü
Instruction Register (IR), merupakan register yang menyimpan instruksi yang sedang dijalankan. General Purpose Register, merupakan register yang memiliki kegunaaan umum yang berhubungan dengan data yang diproses.ü
ü Memory Data Register (MDR), merupakan register yang digunakan untuk menampung data atau instruksi hasil pengiriman dari memori utama ke CPU atau menampung data yang akan direkam ke memori utama dari hasil pengolahan oleh CPU.
Memory address register (MAR), merupakanü register yang digunakan untuk menampung alamat data atau instruksi pada memori utama yang akan diambil atau yang akan diletakkan.
Sebagianü besar komputer memiliki beberapa register lain, sebagian digunakan untuk tujuan umum, dan sebagian lainnya untuk tujuan khusus.
o Bus
Bus merupakan penghubung antara semua komponen CPU. Bus berupa sekumpulan kabel-kabel paralel untuk mentransmisikan alamat (address), data, dan sinyal-sinyal kontrol.

Kelebihan dan Kelemahan
Keuntungan lain dengan arrrsitektur Von Neumann adalah pada fleksibilitas pengalamatan program dan data. Biasanya program selalu ada di ROM dan data selalu ada di RAM. Arsitektur Von Neumann memungkinkan prosesor untuk menjalankan program yang ada didalam memori data (RAM). Misalnya pada saat power on, dibuat program inisialisasi yang mengisi byte di dalam RAM. Data di dalam RAM ini pada gilirannya nanti akan dijalankan sebagai program. Sebaliknya data juga dapat disimpan di dalam memori program (ROM). Contohnya adalah data look-up-table yang ditaruh di ROM. Data ini ditempatkan di ROM agar tidak hilang pada saat catu daya mati. Pada mikroprosesor Von Neumann, instruksi yang membaca data look-up-table atau program pengambilan data di ROM, adalah instruksi pengalamatan biasa. Sebagai contoh, pada mikrokontroler 8bit Motorola 68HC11 program itu ditulis dengan :
LDAA $4000 ; A <– $4000
Program ini adalah instruksi untuk mengisi accumulator A dengan data yang ada di alamat 4000 (ROM).
Instruksi tersebut singkat hanya perlu satu baris saja. Pada prinsipnya, kode biner yang ada di ROM atau di RAM bisa berupa program dan bisa juga berupa data.
Arsitektur Von Neumann bukan tidak punya kelemahan, diantaranya adalah bus tunggalnya itu sendiri. Sehingga instruksi untuk mengakses program dan data harus dijalankan secara sekuensial dan tidak bisa dilakukan overlaping untuk menjalankan dua isntruksi yang berurutan. Selain itu bandwidth program harus sama dengan banwitdh data. Jika memori data adalah 8 bits maka program juga harus 8 bits. Satu instruksi biasanya terdiri dari opcode (instruksinya sendiri) dan diikuti dengan operand (alamat atau data). Karena memori program terbatas hanya 8 bits, maka instruksi yang panjang harus dilakukan dengan 2 atau 3 bytes. Misalnya byte pertama adalah opcode dan byte berikutnya adalah operand. Secara umum prosesor Von Neumann membutuhkan jumlah clock CPI (Clock per Instruction) yang relatif lebih banyak dan walhasil eksekusi instruksi dapat menjadi relatif lebih lama.
Arsitektur Komputer Harvard

Pada mikroprosesor yang berarsitektur Harvard, overlaping pada saat menjalankan instruksi bisa terjadi. Satu instruksi biasanya dieksekusi dengan urutan fetch (membaca instruksi ), decode (pengalamatan), read (membaca data), execute (eksekusi) dan write (penulisan data) jika perlu. Secara garis besar ada dua hal yang dilakukan prosesor yaitu fetching atau membaca perintah yang ada di memori program (ROM) dan kemudian diikuti oleh executing berupa read/write dari/ke memori data (RAM). Karena pengalamatan ROM dan RAM yang terpisah, ini memungkinkan CPU untuk melakukan overlaping pada saat menjalankan instruksi. Dengan cara ini dua instruksi yang beurutan dapat dijalankan pada saat yang hampir bersamaan. Yaitu, pada saat CPU melakukan tahap executing instruksi yang pertama, CPU sudah dapat menjalankan fetching instruksi yang ke-dua dan seterusnya. Ini yang disebut dengan sistem pipeline, sehingga program keseluruhan dapat dijalankan relatif lebih cepat.Arsitektur Harvard
prinsip pipeline
Pada arsitektur Harvard, lebar bit memori program tidak mesti sama dengan lebar memori data. Misalnya pada keluarga PICXX dari Microchip, ada yang memiliki memori program dengan lebar 12,14 atau 16 bits, sedangkan lebar data-nya tetap 8 bits. Karena bandwith memori program yang besar (16 bits), opcode dan operand dapat dijadikan satu dalam satu word instruksi saja. Tujuannya adalah supaya instruksi dapat dilakukan dengan lebih singkat dan cepat.
Kedua hal di atas inilah yang membuat prosesor ber-arsitektur Harvard bisa memiliki CPI yang kecil. PICXX dari Microchip dikenal sebagai mikroprosesor yang memiliki 1 siklus mesin (machine cycle) untuk tiap instruksinya, kecuali instruksi percabangan.
Arsitektur Havard menggunakan memori terpisah untuk program dan data dengan alamat dan bus data yang berdiri sendiri. Karena dua perbedaan aliran data dan alamat, maka tidak diperlukan multiplexing alamat dan bus data. Arsitektur ini tidak hanya didukung dengan bus paralel untuk alamat dan data, tetapi juga menyediakan organisasi internal yang berbeda sedemikian rupa instruksi dapat diambil dan dikodekan ketika berbagai data sedang diambil dan dioperasikan. Lebih lanjut lagi, bus data bisa saja memiliki ukuran yang berbeda dari bus alamat. Hal ini memungkinkan pengoptimalan bus data dan bus alamat dalam pengeksekusian instruksi yang cepat. Sebagai contoh, mikrokontroler Intel keluarga MCS-51 menggunakan arsitektur Havard karena ada perbedaan kapasitas memori untuk program dan data, dan bus terpisah (internal) untuk alamat dan data. Begitu juga dengan keluarga PIC dari Microchip yang menggunakan arsitektur Havard.

Kelebihan dan Kekurangan
Dari segi kapasitas memori, tentu arsitektur Harvard memberi keuntungan. Karena memori program dan data yang terpisah, maka kavling total memori program dan data dapat menjadi lebih banyak. Mikrokontroler 8bit Motorola 68HC05 memiliki peta memori 64K yang dipakai bersama oleh RAM dan ROM. Oleh sebab itu pengalamatan ROM dan RAM hanya dapat mencapai 64K dan tidak lebih. Sedangkan pada mikrokontroler Intel keluarga 80C51 misalnya, memori program (ROM) dan memori data (RAM) masing-masing bisa mencapai 64K.
Tetapi ada juga kekurangannya, arsitektur Harvard tidak memungkinkan untuk menempatkan data pada
ROM. Kedengarannya aneh, tetapi arsitektur ini memang tidak memungkinkan untuk mengakses data yang ada di ROM. Namun hal ini bisa diatasi dengan cara membuat instruksi dan mekanisme khusus untuk pengalamatan data di ROM. Mikroprosesor yang memiliki instruksi seperti ini biasanya disebut ber-arsitektur Modified Harvard. Instruksi yang seperti ini dapat ditemukan pada keluarga MCS-51 termasuk Intel 80C51, P87CLXX dari Philips dan Atmel AT89LSXX. Tetapi instruksi itu keseluruhannya menjadi program yang lebih panjang seperti contoh program dengan 80C51 berikut ini.
MOV DPTR,#4000 ;DPTR = $4000
CLR A ;@A = 0
MOVC A,@A+DPTR ;A <– (DPTR+@A)
Urutan program di atas adalah :
  1. load/isi data pointer dengan #4000
  2. set accumulator A = 0 sebagai offset
  3. load/isi accumulator A dengan data di alamat 4000+offset
Bandingkan dengan instruksi 68HC11 yang cukup dengan satu instruksi LDAA $4000.

Perbedaan Von Noumann dan Harvard
Arsitektur Harvard dan Von Neuman keduanya memiliki kelebihan sekaligus juga kekurangan. Dalam memilih prosesor tentu saja tidak hanya dengan mempertimbangkan arsitekturnya. Motorola dengan varian singlechip-nya ada yang dilengkapi dengan konventer A/D dan D/A, PWM control, port I/O, EEPROM dan sebagainya. Tetapi tidak ketinggalan juga keluarga Intel 80C51 dan klonnya, memperkenalkan bus serial I2C yang sangat praktis untuk penambahan devais eksternal. Intel based MCS-51 adalah arsitektur yang paling banyak diadopsi misalnya oleh Philips dan Atmel, sehingga kompatibilitas diantaranya semakin besar.
Arsitektur Havard menggunakan memori terpisah untuk program dan data dengan alamat dan bus data yang berdiri sendiri. Karena dua perbedaan aliran data dan alamat, maka tidak diperlukan multiplexing alamat dan bus data.

Minggu, 20 September 2015

SISTEM MEMORI

SISTEM MEMORI

Klasifikasi memori
Utama
1. RAM (Random Access Memori)
RAM diakses melalui alamat, semua lokasi yang dapat dialamati dapat diakses secara acak (random) dan membutuhkan waktu akses yang sama tanpa tergantung pada lokasi fisiknya di dalam memori. Terdapat dua jenis RAM, statik
dan dinamik.
RAM dinamik tersusun oleh sel-sel yang menyimpan data sebagai muatan Iistrik pada kapasitor.
RAM statik menyimpan nilai-nilai biner dengan menggunakan konfigurasi gerbang logika flipflop.
2. CAM (Content Addressable Memory)
Pada CAM, memori diakses berdasarkan isi, bukan alamat. Pencarian data dilakukan secara simultan dan paralel dengan basis isi memori. CAM disebut juga sebagai memori Asosiatif.
3. MEMORI CACHE
Memori utama yang digunakan sistem komputer pada awalnya dirasakan masih lambat kerjanya dibandingkan dengan kerja CPU, sehingga perlu dibuat sebuah memori yang dapat membantu kerja memori utama tersebut. Sebagai perbandingan waktu akses memori cache lebih cepat 5 sampai 10 kali dibandingkan memori utama.

Implementasi Memori Utama
1. Memori Stack
Memori Stack merupakan struktur data tidak tetap yang digunakan untuk menyimpan alamat kembali dan parameter yang dilalui dalam subroutine call dan return, memanipulasi alamat serta operasi aritmatika.


Pada gambar diatas, perintah PUSH berguna untuk memanipulasi data pada stack.
2. Memori Modular
Dalam memori modular, RAM dipisah menjadi modul modul yang berbeda, yaitu MAR dan MBR. Penggunaan memori modular biasanya pada sistem dengan prosesor pipeline dan prosesor array.


3. Memori Virtual
Prinsip dasar kemampuan untuk penyimpanan logikal lebih besar daripada ruang penyimpanan riil.

Memori pembantu (auxiliary memory)
- Bersifat non-volatile, yaitu jika tidak ada listrik, maka isi memori tidak hilang.
- Tidak mempengaruhi langsung fungsi CPU. Yang termasuk memori ini adalah:
• Pita Magnetik
- Merupakan suatu lajur plastik tipis, lebar 1/2 inci, yang dilapisi dengan perekaman magnetik.
- Biasa terbagi menjadi 7/9 track searah panjang pita
- Kerapatan rekaman (bpi) yaitu 800, 1600, dan 6250 bpi.
-  Terdapat satu bit paritas untuk pendeteksian kesalahan.
- Merupakan sistem SAM (Sequential Access Memory) yaitu data ditulis sesuai urutan pemunculannya.

• Disk Magnetik
- Merupakan sebuah lembaran datar (platter)
- Terdiri atas : sebuah disk drive, sebuah kendali disk (interface), dan satu atau lebih disk (platter).
- Proses penulisan ke disk yaitu disk drive akan menimbulkan kemagnetan pada titik di atas
permukaan disk yang secara langsung di bawah head.
- Proses pembacaan dan disk, head diatur agar dapat mendeteksi perubahan arah kernagnetan.
- Terbagi secara logikal dikenal sebagai organisasi disk yaitu:
Track :Sejumlah lingkaran yang konsentris
Sektor :Pembagian permukaan disk secara belahan yang mempunyal ukuran yang sama.
Silinder :Dibentuk oleh track-track yang ber hubungan pada setiap permukaan.

• Floppy disk
- Merupakan lembaran datar yang tipis dan fleksibel.
- Hampir sama dengan harddisk, tetapi kapasitas penyimpanan lebih rendah.

Organisasi Disk
Telah dijelaskan diawal bahwa masalah utama sistem memori adalah mengimbangi lajukecepatan CPU. Beberapa teknologi dicoba dan dikembangkan, diantaranya menggunakankonsep akses paralel pada disk.
RAID (Redundancy Array of Independent Disk) merupakan organisasi disk memori yangmampu menangani beberapa disk dengan sistem akses paralel dan redudansi ditambahkan untukmeningkatkan reliabilitas. Karena kerja paralel inilah dihasilkan resultan kecepatan disk yanglebih cepat. Teknologi database sangatlah penting dalam model disk ini karena pengontrol diskharus mendistribusikan data pada sejumlah disk dan juga membacaan kembali. Karakteristikumum disk RAID :
• RAID adalah sekumpulan disk drive yang dianggap sebagai sistem tunggal disk.
•Data didistribusikan ke drive fisik array.
• Kapasitas redudant disk digunakan untuk menyimpan informasi paritas, yang menjamin recoveribility data ketika terjadi masalah atau kegagalan disk.
Jadi RAID merupakan salah satu jawaban masalah kesenjangan kecepatan disk memoridengan CPU dengan cara menggantikan disk berkapasitas besar dengan sejumlah disk – disk berkapasitas kecil dan mendistribusikan data pada disk – disk tersebut sedemikian rupa sehingga nantinya dapat dibaca kembali.
DESIGN MEMORI
  • Kecepatan Memori lawan kecepatan CPU :
§ Awal tahun 1960 – 1980, kecepatan memori dan CPU meningkat, namun rasio keseluruhan antara keduanya relatif.
§ Pada era ini kecepatan memori biasanya kurang lebih 10 kali lebih lambat dari kecepatan CPU.
§ CDC:6600, 7600, CRAY 1 dan CRAY X-MP untuk super komputer waktu akses memorinya 10 sampai 14 waktu siklus CPU.
§ VAX 11/780, 8600 dan 8700 untuk mini computer waktu akses memorinya 4 sampai 7 kali siklus CPU
§ Pertengahan tahun 1980, kecepatan CPU jauh lebih meningkat hingga 50 kali kecepatan memori, contoh CRAY
§ Keuntungan dari perubahan ini adalah :
§ Memori besar umumnya memerlukan hardware khusus untuk mendeteksi dan mengoreksi kesalahan, yang menambah waktu akses memori efektif.
§ CPU yang paling cepat merupakan pipelined.