Sunday, December 24, 2017

Pipeline, RISC, dan Prosesor Paralel

1. Pipeline & RISC
Dalam bidang komputasi, pipeline adalah set dari elemen pemroses data yang dihubungkan secara seri, dimana output dari sebuah elemen adalah input bagi elemen selanjutnya. Elemen dari sebuah pipeline seringkali dieksekusi dalam parallel, dan bila demikian maka beberapa buffer storage diletakkan diantara tiap elemen. Pipeline dapat digunakan untuk CPU maupun mengakses memory (DRAM)

Contoh pipeline:

-Instruction pipeline, termasuk RSIC, dimana digunakan dalam CPU untuk membolehkan pengeksekusian bertumpuk berbagai instruksi dalam sebuah rangkaian sirkuit. Rangkaian biasanya dibagi menjadi beberapa bagian seperti: instruction decode, aritmatika/logic, dan register fetch

-Graphic pipeline, ditemukan dalam GPU yang berisi banyak unit aritmatika ataupun CPU lengkap, yang mengimplementasikan berbagai tahap dari rendering seperti: proyeksi perspektif, window clipping, penghitungan warna dan cahaya, dll.)

-Software pipelines, dimana perintah dapat diberikan dan output dari sebuah operasi diberikan sebagai input secara otomatis ke perintah berikutnya. Contoh dari pipeline ini adalah Unix system call pipe.

-HTTP pipelining, dimana berbagai request dikirimkan tanpa menunggu hasil dari request pertama.
Implementasi:
-Buffered synchronous pipelines
-Buffered asynchronous pipelines

RISC
Dalam sejarah perangkat keras komputer, beberapa RISC CPU (Reduce Introduction Set Computer Central Processing Unit) menggunakan solusi arsitektur yang mirip, yang sekarang dinamakan classic RISC pipeline. Diantara CPU tersebut adalah: MIPS, SPARC, Motorola 88000, dan kemudian CPU DLX yang dikembangkan untuk edukasi.







5 tahap dasar dalam sebuah mesin RSIC:
IF= Instruction Fetch
ID= Instruction Decode
EX= Execute
MEM= Memory Access
WB= Register write back

2. Prosesor Paralel
Dalam komputer, parallel processing adalah pemrosesan instruksi program dengan membagi mereka diatara banyak prosesor dengan tujuan untuk menjalankan suatu program dengan waktu yang lebih singkat. Bentuk awal suatu pemrosesan parallel adalah menjalankan dua program secara bersamaan. Komputer akan menjalankan sebuah operasi I/O, dan sambil menunggu program selesai akan menjalankan processor-intensive program.
Perkembangan berikutnya adalah multiprogramming. Dalam sistem multiprogramming, beberapa program yang di-submit oleh user menggunakan prosesor untuk beberapa saat. Dari sisi pengguna, terlihat bahwa program berjalan secara bersamaan. Masalah yang dihadapi oleh sistem ini adalah deadlock dan critical section routine.
Kemudian, diperkenalkan vector processing sebagai usaha untuk menambahkan performa dengan melakukan lebih dari satu hal pada satu waktu. Mesin menjadi dapat melakukan satu instruksi (termauk membagi, mengkali, ataupun memanipulasi) dua array angka. Langkah berikutnya adalah multiprocessing, dalam sistem ini dua atau lebih prosesor membagi pekerjaan dan dihubungkan dengan konfigurasi master-slave.
Komputer parallel kurang lebih dapat diklasifikasikan menurut hardware:
- Multi-core dan Multi-processor memiliki berbagai processing element dalam satu mesin, dan
- Clusters, MPP, dan grid menggunakan beberapa komputer untuk menjalankan suatu tugas.

Jaringan Interkoneksi
Internet (Interconnected Network) merupakan jaringan global yang menghubungkan komputer yang satu dengan lainnya diseluruh dunia. Dengan Internet, komputer dapat saling terhubung untuk berkomunikasi, berbagi dan memperoleh informasi.  Dengan begitu maraknya informasi dan kegiatan di Internet, menjadikan Internet seakan-akan sebagai dunia tersendiri yang tanpa batas. Dunia didalam Internet disebut juga dengan dunia maya (cyberspace). Informasi dalam Internet umumnya disebarkan melalui suatu halaman website yang dibuat dengan format bahasa pemrograman HTML (Hypertext Markup Languange).

Mesin SIMD

SIMD (Single Instruction, Multiple Data) adalah sebuah kelas dari komputer parallel dalam Flynn’s taxonomy. Menjelaskan tentang komputer dengan beberapa elemen pemrosesan yang menjalankan satu operasi yang sama di berbagai data point secara bersamaan. Ada beberapa komputasi yang berjalan secara bersamaan, namun hanya satu proses/ instruksi yang diberikan.
SIMD umumnya digunakan dalam beberapa tugas umum seperti mengatur kontras pada sebuah gambar digital maupun volume dalam sebuah audio digital. Penggunaan SIMD pertamakali adalah pada tahun awal 1970 oleh vector supercomputer seperti CDC Star-100 dan Texas Instruments ASC.

Mesin MIMD

MIMD (Multiple Instruction, Multiple Data) adalah teknik yang dipakai untuk mencapai paralelisme. Mesing yang menggunakan MIMD memiliki beberapa prosesor yang berfungsi secara asinkronus dan independen. Setiap prosesor menjalankan tugas yang berbeda-beda di berbagai bagian data. Arsitektur MIMD digunakan pada desain dengan bantuan komputer/proses manufaktur dengan bantuan komputer, simulasi, dan modeling. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.

Arsitektur Pengganti
Dalam bidang teknik komputer, arsitektur pengganti merupakan konsep perencanaan atau struktur pengoperasian dasar dalam komputer atau bisa dikatakan rencana cetak biru dan deskripsi fungsional kebutuhan dari perangkat keras yang didesain secara langsung atau ridak langsung.

Sumber:
https://en.wikipedia.org/wiki/Pipeline_(computing)
https://techterms.com/definition/pipeline
https://en.wikipedia.org/wiki/Classic_RISC_pipeline

https://en.wikipedia.org/wiki/Parallel_computing
https://en.wikipedia.org/wiki/SIMD
https://en.wikipedia.org/wiki/MIMD

http://searchdatacenter.techtarget.com/definition/parallel-processing

Memori dan Arsitektur IBM PC

1. Memori

 

Komputer memiliki dua jenis peralatan penyimpanan: internal dan external. Meskipun keduanya menyimpan dang mengakses file data, namun mereka bekerja dengan cara yang berbeda. Peralatan penyimpanan internal dan external memiliki bentuk fisik dan operasional yang berbeda.

-Memory Internal
 Adalah memori yang dapat diakses secara langsung oleh prosesor. Dalam hal ini yang disimpan di dalam memori utama dapat berupa data atau program. Fungsi dari memori utama sendiri adalah :
1. Menyimpan data yang berasal dari peranti masukan sampai data dikirim ke ALU (Arithmetic and Logic Unit) untuk diproses.
2. Menyimpan daya hasil pemrosesan ALU sebelum dikirimkan ke peranti keluaran Menampung program/instruksi yang berasal dari peranti masukan atau dari peranti pengingat sekunder.
Contoh:
-RAM (DRAM,SRAM,EDORAM,SDRAM)
-ROM (PROM,EPROM,EEPROM)
-Cache Memory
-Memori Utama

-Memory Eksternal
External memory ataupun external storage ataupun secondary storage ataupun backing storage adalah suatu tempat atau sarana yang bisa digunakan komputer untuk menyimpan data ataupun program. Dengan demikian, external memory mempunyai fungsi yang hampir sama dengan internal memory. Hanya bedanya, internal memory terletak didalam CPU, external memory berada diluar CPU.
Contoh:
-Harddisk
-CD-ROM
-USB
-Disket

Memori Internal akan selalu mendapatkan tenaga dari alat yang di dalam, entah itu sebuah PC, tablet, ataupun handphone. Sementara beberapa perangkat external memiliki sumber daya sendiri. Kebanyakan perangkat seperti RAID, JBOD, eSATA, dan NAS memiliki daya sendiri, dikarenakan koneksi data tidak memberi daya ataupun jumlah yang dibutuhkan lebih besar daripada perangkat internal. Pada intinya, perbedaan external dan internal terletak pada lokasi, packaging, dan (mungkin) intermediate interface.


2. Arsitektur Family Computer IBM PC



IBM Personal Computer, atau lebih dikenal sebagai IBM PC, adalah versi original dan asal mula dari IBM PC Compatible platform hardware. Bernomor model 5150 dan diperkenalkan pada tanggal 12 Agustus 1981. Dibuat oleh teknisi dan desainer dibawah pengarahan Don Estridge oleh IBM Entry System Division di Boca Raton, Florida.
Sejak diluncurkan oleh IBM, IBM PC memiliki beberapa keluarga antara lain:
  • IBM 4860 PCjr
  • IBM 5140 Convertible Personal Computer (laptop)
  • IBM 5150 Personal Computer (PC yang asli)
  • IBM 5155 Portable PC (sebenarnya merupakan PC XT yang portabel)
  • IBM 5160 Personal Computer/eXtended Technology
  • IBM 5162 Personal Computer/eXtended Technology Model 286 (sebenarnya merupakan PC AT)
  • IBM 5170 Personal Computer/Advanced Technology
KOMPONEN IBM PC:
  • Sistem Kontrol BUS
  • Sistem Kontrol Intrerrupt
  • Sistem Kontrol RAM dan ROM
  • Sistem Kontrol DMA
  • Timer
  • SistemKontrol I/O
SISTEM SOFTWARE:
  • Penetapan Alamat Port I/O
  • Penetapan Vector Interrupt
  • ROM BIOS
  • Penetapan Alamat Memori
MANFAAT ARSITEKTURAL ARSITEKTUR PC:
  • Kemudahaan penggunaan
  • Daya Tempa
  • Daya Kembang
  • Expandibilitas

Sumber:

https://itstillworks.com/difference-between-internal-external-computer-memory-2003.html
https://www.academia.edu/9145726/Memory_Internal_dan_Eksternal
http://www.perangkatkeras.net/wp-content/uploads/2015/08/Memori-Internal-komputer-berbeda-dengan-memori-eksternal.jpg
https://www.quora.com/What-is-the-difference-between-internal-and-external-storage

https://en.wikipedia.org/wiki/IBM_Personal_Computer
http://icikomputer.blogspot.co.id/2015/09/arsitektur-famili-komputer-ibm.html


Sunday, October 22, 2017

CPU

CPU
Unit Pemroses Sentral (UPS) (bahasa InggrisCentral Processing Unit/ProcessorCPU), 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. 
Sistem Bus
System bus atau bus sistem, dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya. Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir dalam komputer. Jalur-jalur ini digunakan untuk komunikasi dan dapat dibuat antara dua elemen atau lebih. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi oleh CPU melalui perantara sistem bus.
Sebuah komputer memiliki beberapa bus, agar dapat berjalan. 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 AGPbus PCIbus USBbus ISA (yang digunakan oleh keyboard dan mouse), dan bus-bus lainnya.
Bus disusun secara hierarkis, karena setiap bus yang memiliki kecepatan rendah akan dihubungkan dengan bus yang memiliki kecepatan tinggi. Setiap perangkat di dalam sistem juga dihubungkan ke salah satu bus yang ada.
Berdasar jenis busnya, bus dapat dibedakan menjadi bus yang khusus menyalurkan data tertentu, contohnya paket data saja, atau alamat saja, jenis ini disebut dedicated bus. Namun apabila bus yang dilalui informasi yang berbeda baik data, alamat, dan sinyal kontrol dengan metode multipleks data maka bus ini disebut multiplexed bus. Kekurangan multiplexed bus adalah hanya memerlukan saluran sedikit sehingga menghemat tempat tetapi kecepatan transfer data menurun dan diperlukan mekanisme yang komplek untuk mengurai data yang telah dimultipleks. Sedangkan untuk dedicated bus merupakan kebalikan dari multipexed bus.
                                      
ALU

 Arithmatic Logical Unit (ALU), adalah salah satu bagian/komponen dalam sistem di dalam sistem komputer yang berfungsi melakukan operasi/perhitungan aritmatika dan logika (Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. ALU bekerja besama-sama memori, di mana hasil dari perhitungan di dalam ALU di simpan ke dalam memori.
 Perhitungan dalam ALU menggunakan kode biner, yang merepresentasikan instruksi yang akan dieksekusi (opcode) dan data yang diolah (operand). ALU biasanya menggunakan sistem bilangan biner two’s complement. ALU mendapat data dari register. Kemudian data tersebut diproses dan hasilnya akan disimpan dalam register tersendiri yaitu ALU output register, sebelum disimpan dalam memori.

CLU
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.

Tugas dari CU adalah sebagai berikut:
1.Mengatur dan mengendalikan alat-alat input dan output.
 2.Mengambil instruksi-instruksi dari memori utama.
3.Mengambil data dari memori utama kalau diperlukan oleh proses.
4.Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja.
5.Menyimpan hasil proses ke memori utama.

Set Register
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.
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 phinulltruefalse 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.

Memori

Memori komputer bertanggung jawab untuk menyimpan data dan aplikasi secara sementara atau secara permanen. Memori memungkinkan seseorang untuk menyimpan informasi yang tersimpan di komputer.
Memori komputer dapat diklasifikasikan menjadi dua jenis: Memori primer dan Memori Sekunder.

-Memori primer
Memori primer (juga disebut memori utama), digunakan untuk akses langsung data oleh prosesor. Karena penyimpanan memori utama menunjukkan kemampuan proses yang lebih cepat, sangat mahal dan karenanya tidak sebagian besar digunakan untuk penyimpanan data.

Contoh: RAM dan ROM

-Memori Sekunder
Memori sekunder tersedia pada perangkat penyimpanan massal untuk penyimpanan data permanen. Data yang tersimpan pada perangkat sekunder dipertahankan bahkan ketika tidak diberikan power. Data ini dapat dikirimkan pada umumnya, terlihat dan muncul sama pada mesin apapun, terlepas dari mana data pertama disalin ke perangkat penyimpanan sekunder.









Sumber:
-https://id.wikipedia.org/wiki/Unit_Pemroses_Sentral
-https://id.wikipedia.org/wiki/Bus_sistem
-https://id.wikipedia.org/wiki/Register_prosesor

-http://www.sridianti.com/pengertian-memori-komputer-jenis-memori-komputer.html

Arsitektur Set Instruksi

Arsitektur Set Instruksi

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 registermode pengalamatanarsitektur memori, penanganan interupsieksepsi, dan operasi I/O eksternalnya (jika ada).

Set Instruksi 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 registermode pengalamatanarsitektur memori, penanganan interupsieksepsi, 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 prosesortertentu. Kumpulan opcode tersebut, umumnya disebut sebagai bahasa mesin (machine language) untuk ISA yang bersangkutan. ISA yang populer digunakan adalah set instruksi untuk chip Intel x86IA-64IBM PowerPCMotorola 68000Sun SPARCDEC Alpha, dan lain-lain.

Teknik Pengalamatan

Digunakan untuk menentukan suatu alamat tempat  untuk dimana operand akan di fetch. Dapat meningkatkan kecepatan pelaksanaan instruksi dengan menurunkan jumlah referensi pada memori utama dan meningkatkan jumlah referensi pada register kecepatan tinggi. Mode pengalamatan ini menjabarkan suatu aturan untuk menginterpresetasikan atau memodifikasi field alamat dari instruksi sebelum operand di referensikan Pada semua mode pengalamatan lainnya, operand yang sesungguhnya tidak disimpan pada field alamat tetapi beberapa nilai di jabarkan dan di gunakan untuk menentukan operasi operand.

Teknik pengalamatan yang umum dipergunakan adalah :

a)    Immediate Addressing (OPERAND = A)
Digunakan untuk menentukan dan menggunakan konstanta atau nilai-nilai variabel awal. Tidak terdapat referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand. Cara seperti ini dapat menghemat siklus memori atau cache dalam siklus instruksi. Kerugian dari immediate addressing adalah ukuran bilangan dibatasi oleh ukuran field alamat. Bentuk pengalamatan ini yang paling sederhana. Operand benar – benar ada dalam instruksi atau bagian dari instruksi=Operand sama dengan field alamat.  Umumnya bilangan akan disimpan dalam bentuk komplemen dua.  Bit paling kiri sebagai bit tanda. Ketika operand dimuatkan ke dalam register data, bit tanda akan digeser ke kiri hingga maksimum word data.
Contoh :  ADD 5 ; tambahkan 5 pada akumulator

Keuntungan:
·         Mode ini adalah tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand.
·         Menghemat siklus instruksi sehingga proses keseluruhan akan cepat.
Kerugiannya:
·         Ukuran bilangan dibatasi oleh ukuran field alamat

b)   Direct Addressing (EA = A)
Merupakan mode pengalamatan yang sederhana yang hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulasi khusus. Memiliki keterbatasan ruang alamat.

Kelebihan :
·         Field alamat berisi efektif address sebuah operand.
·         Teknik ini banyak digunakan pada komputer lama dan komputer kecil.
·         Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulasi khusus.
Kelemahan :
·         Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word
Contoh : ADD A ; tambahkan isi pada lokasi alamat A  ke akumulator.

c)    Indirect Addressing (EA = (A))
Field alamat mengacu pada alamat word di dalam memori, sehingga membuat alamat operand menjadi lebih panjang. Untuk setiap panjang word sebesar N, dapat digunakan sebuah ruang alamat 2N. Sedangkan kerugiannya adalah bahwa eksekusi instruksi memerlukan dua referensi memori untuk mengambil operand, sebuah referensi memori untuk mengambil alamat dan referensi lainnya untuk mendapatkan nilainya. Mode pengalamatan tak langsung dimana field alamat mengacu pada alamat word di dalam memori, yang pada gilirannya akan berisi alamat operand yang panjang
Contoh : ADD (A) ; tsmbahkan isi yang ditunjuk oleh isi alamat A ke akumulator

Keuntungan:
·         Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi.
Kerugian :
·         Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi.

d)   Register Addressing (EA = R)
Memerlukan field alamat berukuran kecil dalam instruksi dan tidak memerlukan referensi memori. Metode pengalamatan register mirip dengan mode pengalamatan langsung. Perbedaannya terletak pada field alamat yang mengacu  pada register, bukan pada memori utama. Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 atau 16 register  general purpose.

Keuntungan :
·         Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi memori.
·         Akses ke register lebih cepat daripada akses ke memori, sehingga proses eksekusi akan lebih cepat.
Kerugian :
·         Ruang alamat menjadi terbatas

e)    Indirect Register Addressing (EA = (R))
Keterbatasan ruang alamat dapat diatasi dengan membiarkan field alamat mereferensi lokasi panjang word di dalam register yang berisi sebuah alamat. Hanya saja untuk eksekusi instruksi, menggunakan satu referensi memori yang lebih sedikit dibandingkan dengan Indirect Addressing. Metode pengalamatan register tidak langsung mirip dengan mode pengalamatan tidak langsung.  Perbedaannya adalah field alamat mengacu pada alamat register. Letak operand berada pada memori yang ditunjuk oleh isi register.  Keuntungan dan keterbatasan pengalamatan register tidak langsung pada dasarnya sama dengan pengalamatan tidak langsung. Keterbatasan field alamat diatasi dengan pengaksesan memori yang tidak langsung sehingga alamat yang dapat direferensi makin banyak. Dalam satu siklus pengambilan dan penyimpanan, mode pengalamatan register tidak langsung hanya menggunakan satu referensi memori utama sehingga lebih cepat daripada mode pengalamatan tidak langsung.
f)     Displacement Addressing (EA =A + (R))
Mode pengalamatan yang fleksibel yang mampu mengkombinasikan Direct Addressing dan Indirect Register Addressing.  Diplacement Addressing yang kompleks mensyaratkan instruksi untuk memiliki dua buah field alamat, dan sedikitnya sebuah field yang eksplisit. Nilai A yang eksplisit digunakan secara direct sedangkan (R) merupakan referensi implisit yang berdasarkan opcode, mengacu ke register yang isinya ditambahkan ke A sehingga memperoleh Effective Address. Menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsung. Mode ini mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit. Field eksplisit bernilai A dan field implisit mengarah pada register.  Operand berada pada alamat A ditambah isi register.

Tiga model displacement :
a.    Relative addressing, register yang direferensi secara implisit adalah program counter (PC).
b.    Base register addressing, register yang direferensikan berisi sebuah alamat memori, dan field alamat berisi perpindahan dari alamat itu.
c.    Indexing adalah field alamat mereferensi alamat memori utama, dan register yang direferensikan berisi pemindahan positif dari alamat tersebut.

g)   Stack Addressing (EA = puncak stack)
Stack adalah array lokasi yang linear, yang merupakan blok lokasi yang terbalik, sehingga sering disebut juga Last In First Out Queue. Tidak ada referensi memori di dalam Stack Addressing di mana aplikasi memori yang dimilikinya terbatas. Stack addressing merupakan bentuk implied addressing. Instruksi-instruksi mesin tidak perlu memiliki referensi memori namun secara implisit beroperasi pada bagian paling atas stack. Stack adalah array lokasi yang linier=pushdown list=last-in-firstout-queue. Stack merupakan blok lokasi yang terbalik. 

Design 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 – 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 
- Addressing: Mode pengalamatan untuk operand 



Sumber:
- https://id.wikipedia.org/wiki/Set_instruksi
- http://siskommbawawa.blogspot.co.id/
- https://taufikrmd.blogspot.co.id/2014/11/makalah-set-intruksi-teknik-pengalamatan.html

Saturday, September 30, 2017

Organisasi Komputer Dasar

Organisasi Komputer adalah hal-hal yang berkaitan dengan unit operasional komputer dan berhubungan dengan komponen sistem komputer, contohnya: hardware, interface, sinyal control, dan teknologi memori. Organisasi dasar komputer adalah bagaimana fitur-fitur pada sebuah komputer diimplementasikan.

Mikroprosessor  

Rangkaian terpadu tunggal yang mengandung ribuan gerbang digital yang dapat melakukan operasi aritmatika, logika, dan kontrol dari komputer general purpose. Mikroprosesor tergolong LSI. Semua komponen dipadukan dalam satu chip yang disebut single chip microcomputer.

Unit aritmatika dan kontrol  

Adalah proses operasi aritmatika secara built-in (didalam komputer dan ada sejak awal). Proses berlangsung secara cepat dan sekuensial. Isi memori berupa instruksi dan data, diletakkan secara kombinasi atau dipisah.

Unit masukan dan keluaran  

Penghubung komputer dengan dunia luar. Disebut juga sebagai peripheral. Dengan menggunakan ini, komputer dapat berkomunikasi secara realtime.

Bentuk komunikasi :  
- Serial  
- Pararel

Elemen Fungsi Utama Komputer



CPU mengendalikan urutan dari semua pertukaran informasi dalam komputer dan dengan dunia luar melalui unit I/O. Sedangkan unit memori terdiri dari sejumlah besar lokasi yang menyimpan program dan data yang sedang aktif digunakan CPU. Ketiga unit tersebut dihubungkan dengan berbagai macam bus.
Bus adalah sekelompok kawat atau sebuah jalur fisik yang berfungsi menghubungkan register-resgister dengan unit-unit fungsional yang berhubungan dengan tiap-tiap modul. Informasi saling dipertukarkan di antara modul dengan melalui bus.

Jenis Storage:  

-Volatile (Off = Hilang)  
-RAM  
-FlipFlop  
-NonVolatile (Off = Tidak Hilang)  
-ROM  
-PROM  
-EPROM  
-EEPROM

- Magnetic Disk

Evolusi Arsitektur Komputer

Pengertian

Arsitektur komputer adalah konsep perencanaan dan struktur pengoperasian dasar dari suatu sistem komputer. Arsitektur komputer ini merupakan rencana cetak-biru dan deskripsi fungsional dari kebutuhan bagian perangkat keras yang didesain (kecepatan proses dan sistem interkoneksinya). 

Dapat juga didefinisikan dan dikategorikan sebagai ilmu dan sekaligus seni mengenai cara interkoneksi komponen-komponen perangkat keras untuk dapat menciptakan sebuah komputer yang memenuhi kebutuhan fungsional, kinerja, dan target biayanya.

Arsitektur komputer ini mengandung 3 (tiga) sub-kategori, diantaranya meliputi:
  • Set intruksi (ISA).
  • Arsitektur mikro dari ISA, dan juga
  • Sistem desain dari semua atau seluruh komponen dalam perangkat keras (hardware) komputer ini.

Evolusi

Charles Babbage (1792-1871), penemu speedometer, merancang dan membangun Difference Engine. Peranti mekanis ini, yang mirip dengan buatan Pascal hanya mampu menjumlah dan mengurangkan, dirancang untuk menghitung tabel angka-angka yang sangat bermanfaat bagi navigasi laut. Keseluruhan konstruksi mesin dirancang untuk menjalankan algoritma tunggal, yakni metode differensial berhingga menggunakan polynomial. Bagian menarik dari peranti ini adalah metode keluarannya: ia melubangi pelat tembaga tipis,sehingga dapat dibayangkan seperti peranti penyimpan data yang hanya dapat ditulisi sekali,misalnya kartu berlubang dan CD ROM yang muncul belakangan.



Dengan terjadinya Perang Dunia Kedua, negara-negara yang terlibat dalam perang tersebut berusaha mengembangkan komputer untuk mengeksploit potensi strategis yang dimiliki komputer. Hal ini meningkatkan pendanaan pengembangan komputer serta mempercepat kemajuan teknik komputer. Pada tahun 1941, Konrad Zuse, seorang insinyur Jerman membangun sebuah komputer, Z3, untuk mendesain pesawat terbang dan peluru kendali.

Pihak sekutu juga membuat kemajuan lain dalam pengembangan kekuatan komputer.

Tahun 1943, pihak Inggris menyelesaikan komputer pemecah kode rahasia yang dinamakan Colossus untuk memecahkan kode rahasia yang digunakan Jerman. Dampak pembuatan Colossus tidak terlalu memengaruhi perkembangan industri komputer dikarenakan dua alasan. Pertama, Colossus bukan merupakan komputer serbaguna(general-purpose computer), ia hanya didesain untuk memecahkan kode rahasia. Kedua, keberadaan mesin ini dijaga kerahasiaannya hingga satu dekade setelah perang berakhir.

Usaha yang dilakukan oleh pihak Amerika pada saat itu menghasilkan suatu kemajuan lain. Howard H. Aiken (1900-1973), seorang insinyur Harvard yang bekerja dengan IBM, berhasil memproduksi kalkulator elektronik untuk US Navy. Kalkulator tersebut berukuran panjang setengah lapangan bola kaki dan memiliki rentang kabel sepanjang 500 mil. The Harvard-IBM Automatic Sequence Controlled Calculator, atau Mark I, merupakan komputer relai elektronik. Ia menggunakan sinyal elektromagnetik untuk menggerakkan komponen mekanik. Mesin tersebut beropreasi dengan lambat (ia membutuhkan 3-5 detik untuk setiap perhitungan) dan tidak fleksibel (urutan kalkulasi tidak dapat diubah). Kalkulator tersebut dapat melakukan perhitungan aritmatik dasar dan persamaan yang lebih kompleks.

Perkembangan komputer lain pada masa kini adalah Electronic Numerical Integrator and Computer (ENIAC), yang dibuat oleh kerjasama antara pemerintah Amerika Serikat dan University of Pennsylvania. Terdiri dari 18.000 tabung vakum, 70.000 resistor, dan 5 juta titik solder, komputer tersebut merupakan mesin yang sangat besar yang mengonsumsi daya sebesar 160kW.

Pada tahun 1948, penemuan transistor sangat memengaruhi perkembangan komputer. Transistor menggantikan tube vakum di televisi, radio, dan komputer. Akibatnya, ukuran mesin-mesin elektrik berkurang drastis. Transistor mulai digunakan di dalam komputer mulai pada tahun 1956. Penemuan lain yang berupa pengembangan memori inti-magnetik membantu pengembangan komputer generasi kedua yang lebih kecil, lebih cepat, lebih dapat diandalkan, dan lebih hemat energi dibanding para pendahulunya.

 Mesin pertama yang memanfaatkan teknologi baru ini adalah superkomputer. IBM membuat superkomputer bernama Stretch, dan Sprery-Rand membuat komputer bernama LARC. Komputer-komputer ini, yang dikembangkan untuk laboratorium energi atom, dapat menangani sejumlah besar data, sebuah kemampuan yang sangat dibutuhkan oleh peneliti atom. Mesin tersebut sangat mahal dan cenderung terlalu kompleks untuk kebutuhan komputasi bisnis, sehingga membatasi kepopulerannya.

Hanya ada dua LARC yang pernah dipasang dan digunakan: satu di Lawrence Radiation Labs di Livermore, California, dan yang lainnya di US Navy Research and Development Center di Washington D.C. Komputer generasi kedua menggantikan bahasa mesin dengan bahasa assembly. Bahasa assembly adalah bahasa yang menggunakan singkatan-singakatan untuk menggantikan kode biner.

Bahasa pemrograman Common Business-Oriented Language (COBOL) dan Formula Translator (FORTRAN) mulai umum digunakan. Bahasa pemrograman ini menggantikan kode mesin yang rumit dengan kata-kata, kalimat, dan formula matematika yang lebih mudah dipahami oleh manusia. Hal ini memudahkan seseorang untuk memprogram dan mengatur komputer. Berbagai macam karier baru bermunculan (programmer, analis sistem, dan ahli sistem komputer). 

Setelah IC, tujuan pengembangan menjadi lebih jelas: mengecilkan ukuran sirkuit dan komponen-komponen elektrik. Large Scale Integration (LSI) dapat memuat ratusan komponen dalam sebuah chip. Pada tahun 1980-an, Very Large Scale Integration (VLSI) memuat ribuan komponen dalam sebuah chip tunggal.

Ultra-Large Scale Integration (ULSI) meningkatkan jumlah tersebut menjadi jutaan. Kemampuan untuk memasang sedemikian banyak komponen dalam suatu keping yang berukurang setengah keping uang logam mendorong turunnya harga dan ukuran komputer. Hal tersebut juga meningkatkan daya kerja, efisiensi dan keterandalan komputer. Chip Intel 4004 yang dibuat pada tahun 1971membawa kemajuan pada IC dengan meletakkan seluruh komponen dari sebuah komputer (central processing unit, memori, dan kendali input/output) dalam sebuah chip yang sangat kecil. 

Sebelumnya, IC dibuat untuk mengerjakan suatu tugas tertentu yang spesifik. Sekarang, sebuah mikroprosesor dapat diproduksi dan kemudian diprogram untuk memenuhi seluruh kebutuhan yang diinginkan. Tidak lama kemudian, setiap piranti rumah tangga seperti microwave, oven, televisi, dan mobil dengan electronic fuel injection (EFI) dilengkapi dengan mikroprosesor.

Masa Depan Arsitektur Komputer

Arsitektur komputer akan selalu dipengaruhi oleh tren serta kemampuan dari teknologi perangkat keras dan lunak. Mulai dari elektromekanikal relay, tabung hampa, transistor, kemudian IC untuk perangkat keras , ataupun dari bahasa mesin, assembly, bahasa tingkat tinggi dan object-oriented language untuk perangkat lunak, semuanya mempengaruhi bentuk dan perubahan arsitektur komputer.

Muncul sebuah pertanyaan: Kemanakah arah evolusi arsitektur komputer?

Apabila kita melihat sejarah, kunci perubahan arsitektur komputer adalah kerapatan dan kecepatan digital switch, serta kerapatan dan kecepatan penyimpanan digital. Gambar dibawah menunjukkan bahwa kapasitas data memiliki perkembangan lebih cepat daripada kecepatan untuk mengakses data.

  
Arsitektur komputer telah berevolusi untuk mengoptimalkan pemanfaatan software dan hardware demi mendapatkan peningkatan performa. Peningkatan performa ini didapat melalui penggunaan replikasi dan spekulasi dalam system yang memanfaatkan sifat paralel.

Sudah ada tiga sifat paralel yang dimanfaatkan:
-      - Instruction-level parallelism
-      -Task/process-level parallelism
-      - Algorithmic parallelism

Ketiga sifat ini tidak ekskusif sendiri-sendiri, dan kemungkinan dimanfaatkan secara bersamaan dan berkesinambungan untuk meningkatkan performa komputer.

Batas dari pendekatan dengan cara ini adalah penghitungan segala kejadian secara bersamaan, kemudian memilih hasil yang tepat dan “membuang” hasil yang lain. Ini dapat dianalogikan sebagai DNA, yang menghitung secara parallel bersamaan dan hanya memilih hasil yang “terbaik”. Kedepan, dapat diharapkan bahwa perkembangan arsitektur komputer kearah pemanfaatan kepadatan data dibandingkan dengan raw performance.

Sumber:

Wikipedia.org
https://www.scribd.com/doc/99061866/Perkembangan-Arsitektur-Komputer

http://himatro.ee.unila.ac.id/sejarah-perkembangan-arsitektur-komputer/