Pages

Central Processing Unit (CPU) dan Memory

Minggu, 05 November 2017
A.   Pengertian CPU
Central Processing Unit (CPU), merujuk kepada perangkat keras komputer yang memahami dan melaksanakan perintah dan data dari perangkat lunak. Istilah lain, pemroses/prosesor (processor), sering digunakan untuk menyebut CPU. Adapun mikroprosesor adalah CPU yang diproduksi dalam sirkuit terpadu, seringkali dalam sebuah paket sirkuit terpadu-tunggal. Sejak pertengahan tahun 1970-an, mikroprosesor sirkuit terpadu-tunggal ini telah umum digunakan dan menjadi aspek penting dalam penerapan CPU. CPU Merupakan bagian utama dari komputer karena processor berfungsi untuk mengatur semua aktifitas yang ada pada komputer. Kecepatan eksekusi processor tergantung apalagi pada frekuensinya, satuan adalah MHz (MegaHertz) atau GHz (1 GigaHertz = 1000 MegaHertz).

B.   Komponen CPU
Komponen CPU terbagi menjadi beberapa macam, yaitu sebagai berikut:
1.      Unit kontrol yang mampu mengatur jalannya program. Komponen ini sudah pasti terdapat dalam semua CPU. CPU bertugas mengontrol komputer sehingga terjadi sinkronisasi kerja antarkomponen dalam menjalankan fungsi-fungsi operasinya. termasuk dalam tanggung jawab unit kontrol adalah mengambil intruksi-intruksi dari memori utama dan menentukan jenis instruksi tersebut. Bila ada instruksi untuk perhitungan aritmetika 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. Dengan demikian tugas dari unit kendali ini adalah:
·         Mengatur dan mengendalikan alat-alat masukan (input) dan keluaran (output).
·         Mengambil instruksi-instruksi dari memori utama.
·         Mengambil data dari memori utama (jika diperlukan) untuk diproses.
·         Mengirim instruksi ke ALU bila ada perhitungan aritmetika atau perbandingan logika serta mengawasi kerja dari ALU.
·         Menyimpan hasil proses ke memori utama.

2.    Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan/atau instruksi yang sedang diproses. Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat di olah ataupun data untuk pengolahan selanjutnya. Secara analogi, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.

3.    ALU unit yang bertugas untuk melakukan operasi aritmetika dan operasi logika berdasar instruksi yang ditentukan. ALU sering di sebut mesin bahasa karena bagian ini ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri. Tugas utama dari ALU adalah melakukan semua perhitungan aritmetika yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmetika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder.

Tugas lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (¹ ), kurang dari (<), kurang atau sama dengan (£ ), lebih besar dari (>), dan lebih besar atau sama dengan (³ ).

4.     CPU Interconnections adalah sistem koneksi dan bus yang menghubungkan komponen internal CPU, yaitu ALU, unit kontrol dan register-register dan juga dengan bus-bus eksternal CPU yang menghubungkan dengan sistem lainnya, seperti memori utama, peranti masukan /keluaran.

C.   Memori
Memori (atau lebih tepat disebut memori fisik) merupakan istilah generik yang merujuk pada media penyimpanan data sementara pada komputer. Setiap program dan data yang sedang diproses oleh prosesor akan disimpan di dalam memori fisik. Data yang disimpan dalam memori fisik bersifat sementara, karena data yang disimpan di dalamnya akan tersimpan selama komputer tersebut masih dialiri daya (dengan kata lain, komputer itu masih hidup). Ketika komputer itu direset atau dimatikan, data yang disimpan dalam memori fisik akan hilang. Oleh karena itulah, sebelum mematikan komputer, semua data yang belum disimpan ke dalam media penyimpanan permanen (umumnya berbasis disk, semacam hard disk atau floppy disk), sehingga data tersebut dapat dibuka kembali di lain kesempatan. Memori fisik umumnya diimplementasikan dalam bentuk Random Access Memory (RAM), yang bersifat dinamis (DRAM). Mengapa disebut Random Access, adalah karena akses terhadap lokasi-lokasi di dalamnya dapat dilakukan secara acak (random), bukan secara berurutan (sekuensial). Meskipun demikian, kata random access dalam RAM ini sering menjadi salah kaprah. Sebagai contoh, memori yang hanya dapat dibaca (ROM), juga dapat diakses secara random, tetapi ia dibedakan dengan RAM karena ROM dapat menyimpan data tanpa kebutuhan daya dan tidak dapat ditulisi sewaktu-waktu. Selain itu, hard disk yang juga merupakan salah satu media penyimpanan juga dapat diakses secara acak, tapi ia tidak digolongkan ke dalam Random Access Memory.

1.   Cache Memory
Cache memory merupakan memori sekunder berkecepatan tinggi yang digunakan untuk meningkatkan kinerja komputer, yaitu meningkatkan efisiensi kerja CPU dan mengurangi waktu yang terbuang. Dalam istilahnya yang paling sederhana, cache memory adalah memory buffer berkecepatan tinggi yang secara temporer menyimpan data yang diperlukan oleh procesor, membuat prosesor dapat memanggil kembali data tersebut dengan lebih cepat ketimbang jika data itu datang dari memoy utama, namun ada satu fitur tambahan pada sebuah cache, melebihi buffer sederhana, cache adalah buffer dilengkapi dengan otak.

Buffer menyimpan data acak (random data), biasanya pada basis yang pertama kali masuk adalah yang pertama kali keluar (first in first out), atau yang pertama kali masuk adalah yang terakhir keluar (first in last out). Cache, di lain pihak, menyimpan data yang kemungkinan besar diperlukan oleh prosesor sebelum data itu diperlukan secara aktual. Hal ini membuat prosesor dapat melanjutkan bekerja pada kecepatan penuh atau mendekati kecepatan penuhnya tampa harus menunggu data diambil dari memory utama yang lebih lambat. Cache memory biasanya dibuat dari chip static RAM (SRAM) yang diinstall pada motherboar atau built in pada prosesor.

Cache memory adalah tipe RAM tercepat yang ada, dan digunakan oleh CPU, hard drive, dan beberapa komponen lainnya. Seperti halnya RAM, lebih banyak cache memory adalah lebih baik, akan tetapi biasanya cache pada CPU dan hard drive tidak dapat diupgrade menjadi lebih banyak. Contoh yang dapat dilihat misalnya adalah pada CPU Pentium II terdapat 512 KiloByte cache, dan pada hard drive IBM 9LZX SCSI terdapat 4 MegaBytes cache. Seperti halnya RAM, pada umumnya data akan dilewatkan dulu pada cache memory sebelum menuju komponen yang akan menggunakannya (misalnya CPU). Selain itu cache memory menyimpan pula sementara data untuk akses cepat. Kecepatan cache memory juga menjadi unsur yang penting. Sebagai contoh, CPU Pentium II memilki cache sebesar 12 k, dan CPU Celeron memiliki cache sebesar 128 k, akan tetapi cache pada Pentium II berjalan pada 1/2 kali kecepatan CPU, sementara cache pada Celeron berjalan dengan kecepatan sama dengan kecepatan CPU. Hal ini merupakan tradeoff yang membuat kecepatan Celeron dalam hal-hal tertentu kadang-kadang malah bisa mengalahkan Pentium II.

2.   Virtual Memori
Dalam ilmu komputer, memori virtual adalah teknik manajemen memori yang dikembangkan untuk kernel multitugas. Teknik ini divirtualisasikan dalam berbagai bentuk arsitektur komputer dari komputer penyimpanan data (seperti memori akses acak dan cakram penyimpanan), yang memungkinkan sebuah program harus dirancang seolah-olah hanya ada satu jenis memori, memori "virtual", yang bertindak secara langsung beralamat memori baca/tulis (RAM).

Sebagian besar sistem operasi modern yang mendukung memori virtual juga menjalankan setiap proses di ruang alamat khususnya sendiri. Setiap program dengan demikian tampaknya memiliki akses tunggal ke memori virtual. Namun, beberapa sistem operasi yang lebih tua (seperti OS/VS1 dan OS/VS2 SVS) dan bahkan yang modern yang (seperti IBM i) adalah sistem operasi ruang alamat tunggal yang menjalankan semua proses dalam ruang alamat tunggal yang terdiri dari memori virtual.

Memori virtual membuat pemrograman aplikasi lebih mudah oleh fragmentasi persembunyian dari memori fisik; dengan mendelegasikan ke kernel beban dari mengelola hierarki memori (sehingga menghilangkan keharusan untuk program dalam mengatasi hamparan secara eksplisit); dan, bila setiap proses berjalan dalam ruang alamat khususnya sendiri, dengan menghindarkan kebutuhan untuk merelokasi kode program atau untuk mengakses memori dengan pengalamatan relatif.

3.   Memori Pembantu (Auxiliary Memori)
Bersifat mom-volatile yaitu jika tidak ada listrik, maka isi memori tidak hilang. Tidak mempengaruhi langsung fungsi CPU. Yang termasuk memori pembantu adalah;

a.      Pita Magnetik
Merupakan suatu lajur plastik tipis, lebar ½ inchi, yang dilapisi dengan medium perekaman magnetic. Biasa terbagi menjadi 7/9 track panjang pita. Kerapatan rekaman (bpi) yaitu 800,1600 dan 6250 bpi. Terdapat satu bit paritas untuk pendeteksian kesalahan.

b.     Disk Magnetik
Merupakan sebuah lembaran platter. Terdiri atas 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 kemagnetan. 
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.

c.    Floppy Disk
Merupakan lembaran datar yang tipis dan fleksibel. Hampiran sama dengan harddisk tetapi kapasitas penyimpanannya lebih rendah. Organisasi disk yaitu;
·         Track      : sejumlah lingkaran yang konsentris
·         Sektor     : pembagian permukaan disk secara belahan yang mempunyai ukuran yang sama

·         Silinder   : dibentuk oleh track-track yang berhubungan pada setiap permukaan

Sumber
https://id.wikipedia.org/wiki/Unit_Pemroses_Sentral
http://abuadam31.blogspot.co.id/2014/10/memori-pembantu-auxuliary-memory.html
https://id.wikipedia.org/wiki/Memori_(komputer)
https://id.wikipedia.org/wiki/Tembolok_(komputer)
https://id.wikipedia.org/wiki/Memori_virtual
Read more ...

Arsitektur Set Instruksi

Minggu, 05 November 2017
A.    Pengertian
Set Instruksi (bahasa Inggris: Instruction Set, atau Instruction Set Architecture (ISA)) didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram. Secara umum, ISA ini mencakup jenis data yang didukung, jenis instruksi yang dipakai, jenis register, mode pengalamatan, arsitektur memori, penanganan interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada). ISA merupakan sebuah spesifikasi dari Pullman semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesor tertentu. Kumpulan opcode tersebut, umumnya disebut sebagai bahasa mesin (machine language) untuk ISA yang bersangkutan. ISA yang populer digunakan adalah set instruksi untuk chip Intel x86, IA-64, IBM PowerPC, Motorola 68000, Sun SPARC, DEC Alpha, dan lain-lain.

Sebuah ISA juga dapat diemulasikan dalam bentuk perangkat lunak oleh sebuah interpreter. Karena terjadi translasi tambahan yang dibutuhkan untuk melakukan emulasi, hal ini memang menjadikannya lebih lambat jika dibandingkan dengan menjalankan program secara langsung di atas perangkat keras yang mengimplementasikan ISA tersebut. Akhir-akhir ini, banyak vendor ISA atau mikroarsitektur yang baru membuat perangkat lunak emulator yang dapat digunakan oleh para pengembang perangkat lunak sebelum implementasi dalam bentuk perangkat keras dirilis oleh vendor.

B.     Jenis-Jenis Instruksi
1.      Data procecessing: Arithmetic dan Logic Instructions
Data processing adalah jenis pemrosesan yang dapat mengubah data menjadi informasi atau pengetahuan. Pemrosesan data ini sering menggunakan komputer sehingga bisa berjalan secara otomatis. Setelah diolah, data ini biasanya mempunyai nilai yang informatif jika dinyatakan dan dikemas secara terorganisir dan rapi, maka istilah pemrosesan data sering dikatakan sebagai sistem informasi. Kedua istilah ini mempunyai arti yang hampir sama, pemrosesan data mengolah dan memanipulasi data mentah menjadi informasi (hasil pengolahan), sedangkan sistem informasi memakai data sebagai bahan masukan dan menghasilkan informasi sebagai produk keluaran.

2.     Data storage: Memory instructions
Sering disebut sebagai memori komputer, merujuk kepada komponen komputer, perangkat komputer, dan media perekaman yang mempertahankan data digital yang digunakan untuk beberapa interval waktu. Penyimpanan data komputer menyediakan salah satu tiga fungsi inti dari komputer modern, yakni mempertahankan informasi. Ia merupakan salah satu komponen fundamental yang terdapat di dalam semua komputer modern, dan memiliki keterkaitan dengan mikroprosesor, dan menjadi model komputer yang digunakan semenjak 1940-an.
Dalam penggunaan kontemporer, memori komputer merujuk kepada bentuk media penyimpanan berbahan semikonduktor, yang dikenal dengan sebutan Random Access Memory (RAM), dan kadang-kadang dalam bentuk lainnya yang lebih cepat tapi hanya dapat menyimpan data secara sementara. Akan tetapi, istilah “computer storage” sekarang secara umum merujuk kepada media penyimpanan massal, yang bisa berupa cakram optis, beberapa bentuk media penyimpanan magnetis (seperti halnya hard disk) dan tipe-tipe media penyimpanan lainnya yang lebih lambat ketimbang RAM, tapi memiliki sifat lebih permanen, seperti flash memory.

3.     Data Movement: I/O instructions
Proses data movement ini adalah memindahkan (dapat diakatakan membackup juga) data – data dari database yang berupa data, indeks, grand, schema, dan lain – lain ketempat baru. Tempat baru ini bisa ke dalam database baru atau memang untuk dibackup saja.

Data movement terdiri dari 2 bagian besar yaitu :
• Load & Upload [difokuskan untuk memindahkan data yang berupa indeks atau data itu sendiri alias isi dari database tersebut]
• Export & Import [memindahkan data secara lengkap, mulai dari grand, schema, dan seluruhnya]

Jika dilihat, load tersebut behubungan dengan import dan upload berhubungan dengan export

Load berfungsi untuk memasukan data / transaksi ke sebuah table. Dapat dikatakan juga insert, replace, atau update. Sedangkan upload berfungsi untuk membuat dari data table ke fisik / file. Kelemahan load adalah dalam prosesnya bisa saja terjadi data yang tidak berpindah secara sempurna.

Upload Parameter
• Limit [membatasi beberapa record]
• Sample [mencari sample yang telah ditentukan]
• When [berdasarkan kondisi]

Dan pada upload, hanya satu parameter saja yang dapat berjalan alias tak bisa berjalan bersamaan apabila parameternya lebih dari 1.

Bulk Data Movement (Software Pendukung)
• ETL [Extrat Transform Load], software yang focus terhadap data warehouse
• Replication and Propagation, software yang memonitoring source database dan target, dan yang dihasilkan oleh software ini adalah pencatatatn log.

Perlu diperhatikan juga hak akses dalam load & unload, import & export minimal adalah akses select.

Distribution Database
Dalam distribution database terdapat 3 istilah yaitu :
• Autonomi [idependent], untuk tabel umum akses yang diberikan berbeda dari setiap user.
• Isolation [stand alone], untuk tabel khusus (privacy) itu terpisah dari user.
• Transparancy [all user], akses tabel terpisah dari user tetapi user masih dapat mengaksesnya.

Lawan dari database terdistribusi adalah database terpusat. Server yang terpusat memang diuntungkan dalam sisi maintenance sedangkan server terdistribusi lebih rumit dalam proses integrasinya.

Jika database terdistribusi paling tidak membutuhkan Sumber Daya Manusia [SDM] yang baik, network yang lebih baik karena permasalahan network itu sangat fatal dan biasanya permasalahannya tidak jauh – jauh dari permasalahan traffic network. Dan yang tidak boleh dilupakan adalah request dan respon.

4.     Control: Test and branch instructions
Unit kendali (bahasa Inggris: Control Unit – CU) adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan/kendali/ kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut.

Pada awal-awal desain komputer, CU diimplementasikan sebagai ad-hoc logic yang susah untuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store). Beberapa word dari microprogram dipilih oleh microsequencer dan bit yang datang dari word-word tersebut akan secara langsung mengontrol bagian-bagian berbeda dari perangkat tersebut, termasuk di antaranya adalah register, ALU, register instruksi, bus dan peralatan input/output di luar chip. Pada komputer modern, setiap subsistem ini telah memiliki kontrolernya masing-masing, dengan CU sebagai pemantaunya (supervisor).

C.     Teknik Pengalamatan
Untuk menyimpan data ke dalam memori komputer, tentu memori tersebut diberi identitas (yang disebut dengan alamat/ address) agar ketika data tersebut diperlukan kembali, komputer bisa mendapatkannya sesuai dengan data yang pernah diletakkan di sana. Teknik pengalamatan ini hampir sudah tidak diperlukan lagi oleh pemakai komputer saat ini karena hampir seluruh software yang beredar di pasaran tidak mengharuskan si pemakai menentukan di alamat mana datanya akan disimpan (semua sudah otomatis dilakukan oleh si software).

Jadi, yang kita pelajari adalah bagaimana kira-kira si software tersebut melakukan teknik pengalamatannya, sehingga data yang sudah kita berikan dapat disimpan di alamat memori tertentu dan dapat diambil kembali dengan tepat.

Ada tiga teknik dasar untuk pengalamatan, yakni:
·           Pemetaan langsung (direct mapping) yang terdiri dari dua cara yakni Pengalamatan Mutlak (absolute addressing) dan Pengalamatan relatif (relative addressing),
·           Pencarian Tabel (directory look-up), dan
·           Kalkulasi (calculating).

1.      Pemetaan Langsung
Teknik ini dapat dijuluki dengan device dependent (tergantung pada peralatan rekamnya), artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena mungkin saja di komputer lainnya itu menggunakan alat rekam yang berbeda spesifikasinya.

Teknik ini juga dapat dijuluki dengan address space dependent (tergantung pada alamat-alamat yang masih kosong), artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena mungkin saja di komputer lainnya itu alamat-alamat yang dibutuhkan sudah tidak tersedia lagi.

2.     Teknik Pencarian Tabel
Teknik ini dilakukan dengan cara, mengambil seluruh kunci atribut dan alamat memori yang ada dan dimasukkan ke dalam tabel tersendiri. Jadi tabel itu (misal disebut dengan tabel INDEX) hanya berisi kunci atribut (misalkan NIM) yang telah disorting (diurut) dan alamat memorinya.

Pencarian yang dilakukan di tabel INDEX akan lebih cepat dilakukan dengan teknik pencarian melalui binary search (dibagi dua-dua, ada di mata kuliah Struktur dan Organisasi Data 2 kelak) ketimbang dilakukan secara sequential.

Nilai key field (kunci atribut) bersifat address space independent (tidak terpengaruh terhadap perubahan organisasi file-nya), yang berubah hanyalah alamat yang ada di INDEX-nya.

3.     Teknik Kalkulasi Alamat
Perhitungan (kalkulasi) terhadap nilai kunci atribut untuk mendapatkan nilai suatu alamat disebut dengan fungsi hash.

Bisa juga fungsi hash digabungkan dengan teknik pencarian seperti tabel di atas, tetapi akan menjadi lebih lama pengerjaannya dibanding hanya dengan satu jenis saja (fungsi hash saja atau pencarian tabel saja).

D.    Desain Set Instruksi
Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya adalah:

Kelengkapan set instruksi
·         Ortogonalitas (sifat independensi instruksi)
·         Kompatibilitas : Source code compatibility dan
·         Object code Compatibility
·          
Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut:
·         Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya .
·         Data Types: tipe/jenis data yang dapat olah Instruction Format: panjangnya, banyaknya alamat, dsb.

·         Register: Banyaknya register yang dapat digunakan 4.Addressing: Mode pengalamatan untuk operand.

Sumber:
https://id.wikipedia.org/wiki/Set_instruksi
https://sanusiadam79.wordpress.com/2015/12/30/set-instruksi-program-dan-jenis-jenis-instruksi/
http://lyamarsadyy.blogspot.co.id/2015/01/set-instruksi-dan-teknik-pengalamatan.html
Read more ...