Jumat, 09 November 2018

Tugas 3 Arsitektur Set-Instruksi

ARSITEKTUR SET INSTRUKSI

PENGERTIAN SET INSTRUKSI
Set instruksi (instruction set) merupakan sekumpulan lengkap instruksi yang dapat dimengerti oleh sebuah CPU Instruksinya berbentuk machine code (bahasa mesin), aslinya seluruhnya dalam bilangan biner. Untuk programmer, biasanya digunakan representasi yang lebih mudah dimengerti  bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. Dengan sebuah kamus berisi daftar perintah apa saja yang dapat dilakukan (didukung) oleh sebuah prosesor, dan biasanya terikat dengan sebuah keluarga arsitektur prosesor tertentu (misal x86, x64).

KARAKTERISTIK DAN FUNGSI SET INSTRUKSI
Operasi dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin (mechine instructions) atau instruksi komputer (computer instructions). Kumpulan dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set Instruksi (Instruction Set).
Jenis – jenis instruksi
CISC (Complex Instruction set computer
CISC merupakan instruksi satuan dari komputer yang dapat mengeksekusi beberapa operasi level rendah (low level). Seperti pemuatan memori, operasi arithmetic, dan penjelajahan memori. Dan juga mampu memproses beberapa mode pengalamatan dan operasi multi step dengan satu instruksi. Sebagai contoh arsitektur set instruksi CISC adalah Sistem / 360 melalui z / Arsitektur, PDP-11, VAX, Motorola 68k, dan x86.
RISC (Reduced instruction set computing)
RISC adalah strategi perancangan CPU berdasarkan instruksi pengalamatan sebelumnya yang disederhanakan (sebagai penyederhanaan dari CISC) instruksi dapat memberikan kinerja yang lebih tinggi yang memungkinkan eksekusi yang lebih cepat dan lebih simple dari setiap instruksi. Keluarga RISC yang terkenal termasuk DEC Alpha, AMD 29k, ARC, ARM, Atmel AVR, Blackfin, Intel i860 dan i960, MIPS, Motorola 88000, PA-RISC, Power (termasuk PowerPC), SuperH, dan SPARC. Pada abad ke-21, penggunaan prosesor arsitektur ARM di ponsel pintar dan komputer tablet seperti tablet iPad dan Android menyediakan basis pengguna yang luas untuk sistem berbasis RISC.
Set Instruksi Spesifik
Meskipun termasuk dalam satu golongan  RISC atau CISC (dari segi jenis instruksinya), atau sama-sama dalam keluarga x86 (golongan arsitekturnya) tiap prosesor bisa memiliki set instruksi spesifik yang berbeda. Sebagai contoh, Intel Pentium dan AMD Athlon menerapkan versi set instruksi x86 yang hampir identik, namun memiliki desain internal yang berbeda secara relevan. Pada intel ada ekstensi instruksi MMX, SSE2, SSE3 dan seterusnya untuk menambah kemampuan multimedia.

ELEMEN-ELEMEN DARI INSTRUKSI MESIN (SET INSTRUKSI)
-          Operation Code (opcode) : menentukan operasi yang akan dilaksanakan
-          Source Operand Reference : merupakan input bagi operasi yang akan dilaksanakan
-          Result Operand Reference : merupakan hasil dari operasi yang dilaksanakan
-          Next instruction Reference : memberitahu CPU untuk mengambil (fetch) instruksi berikutnya setelah instruksi yang dijalankan selesai.
Semua instruksi deksekusi di dalam CPU, jadi Sebuah operasi hanya membutuhkan register sebagai tempat membaca / menyimpan operand sementara.Adakalanya juga operand disimpan di lokasi lain melalui register yang berisi alamat tempat penyimpanan tersebut (memory, cache, modul I/O)  cara memanggil ada di minggu depan pada mode pengalamatan
Representasi Instruksi
Pada bahasa mesin, setiap instruksi  berbentuk pola bit biner yang unik. Agar dapat dimengerti manusia, dibuatlah representasi simbolik instruksi, biasanya berupa singkatan (disebut mnemonic) misal ADD, SUB, LOADSedangkan alamat operand direpresentasikan sebagai berikut:
ADD A,B
Ada beberapa jenis representasi instruksi, yang dibedakan oleh jumlah alamatoperand yang dapat diterima oleh satu baris instruksi.



 

FORMAT DAN TEKNIK PENGALAMATAN SET INSTRUKSI
·         Immediate Addressing
- Pengalamatan yang paling sederhana.
- Operand benar-benar ada dalam instruksi atau bagian dari intsruksi
- Operand sama dengan field alamat
- Umumnya bilangan akan disimpan dalam bentuk complement dua
- Bit paling kiri sebagai bit tanda
- Ketika operand dimuatkan ke dalam register data, bit tanda digeser ke kiri hingga maksimum word data
Keuntungan :
- Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand
- Menghemat siklus instruksi sehingga proses keseluruhanakan akan cepat
Kekurangan :
- Ukuran bilangan dibatasi oleh ukuran field
Contoh :
- ADD 7 ; tambahkan 7 pada akumulator
·         Direct Addressing
- Teknik ini banyak digunakan pada komputer lama dan komputer kecil
- Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulus khusus
Kelebihan :
- Field alamat berisi efektif address sebuah operand
Kekurangan :
- Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word
Contoh :
- ADD A ; tambahkan isi pada lokasi alamat A ke akumulator
Indirect Addressing
- Merupakan mode pengalamatan tak langsung
- Field alamat mengacu pada alamat word di alamat memori, yang pada gilirannya akan berisi alamat operand yang panjang
Kelebihan :
- Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi
Kekurangan :
- Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi
Contoh :
- ADD (A) ; tambahkan isi memori yang ditunjuk oleh isi alamat A ke akumulatorRegister Addressing
- Metode pengalamatan register mirip dengan mode pengalamatan langsung
- Perbedaanya 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
·          Register 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 dituju 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
Displacement Addressing
- Menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsung
- Mode ini mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit
- Operand berada pada alamat A ditambahkan isi register
·         Tiga model displacement
- Relative addressing : register yang direferensi secara implisit adalah Program Counter (PC)
- Alamat efektif didapatkan dari alamat instruksi saat itu ditambahkan ke field alamat
- Memanfaatkan konsep lokalitas memori untuk menyediakan operand-operand berikutnya
Base register addressing : register yang direferensi berisi sebuah alamat memori dan field alamat berisi perpindahan dari alamat itu
- Referensi register dapat eksplisit maupun implisit
- Memanfaatkan konsep lokalitas memori
Indexing  : field alamat mereferensi alamat memori utama, dan register yang direferensikan berisi pemindahan positif dari alamat tersebut
- Merupakan kebalikan dari mode base register
- Field alamat dianggap sebagai alamat memori dalam indexing
- Manfaat penting dari indexing adalah untuk eksekusi program-pprogram iteratif
Contoh :
- Field eksplisit bernilai A dan field imlisit mengarah pada register
·         Stack Addressing
- Stack adalah array lokasi yang linier = pushdown list = last-in-firs-out
- Stack merupakan blok lokasi yang terbaik
- Btir ditambahkan ke puncak stack sehingga setiap blok akan terisi secara parsial
- Yang berkaitan dengan stack adalah pointer yang nilainya merupakan alamat bagian paling atas stack
- Dua elemen teratas stack dapat berada di dalam register CPU, yang dalam hal ini stack pointer mereferensi ke elemen ketiga stack
- Stack pointer tetap berada dalam register
- Dengan demikian, referensi-referensi ke lokasi stack di dalam memori pada dasarnya merupakan pengalamatan register tidak langsung.
Misal Instruksi dengan 2 Alamat Operand:
ADD A, B  A & B suatu alamat register
ADD                   A                           B
(dalam bentuk biner tentunya)
Contoh Simbolik Instruksi
ADD: Add (Jumlahkan)
SUB: Subtract (Kurangkan)
MPY/MUL: Multiply (Kalikan)
DIV: Divide (Bagi)
LOAD: Load data dari register/memory
STOR: Simpan data ke register/memory
MOVE: pindahkan data dari satu tempat ke tempat lain
SHR: shift kanan data  SHL: shift kiri data dan lain-lain
Cakupan Jenis Instruksi
Data processing: Aritmetik (ADD, SUB, dsb); Logic (AND, OR, NOT, SHR, dsb); konversi data
Data storage (memory): Transfer data
(STOR, LOAD, MOVE, dsb)
Data movement: Input dan Output ke modul I/O
Program flow control: JUMP, HALT, dsb.
Set Instruksi lengkap bisa dilihat di kitabnya William Stallings
Format Instruksi 3 Alamat
Bentuk umum: [OPCODE] [AH], [AO1], [AO2]
Satu alamat hasil, dua alamat operand
Misal: SUB Y, A, B
-           Bentuk algoritmik: Y  A – B
-           Arti: Kurangkan isi Reg A dengan isi Reg B, kemudian simpan hasilnya di Reg Y.  Mengoperasikan banyak register sekaligus
Program lebih pendek
AH: Alamat Hasil, AO1: Alamat Asal Operand 1, AO2: Alamat Asal Operand 2
Format Instruksi 2 Alamat
Bentuk umum: [OPCODE] [AH], [AO] 
Satu alamat hasil merangkap operand, satu alamat operand
Misal: SUB Y, B
-           Bentuk algoritmik: Y  Y – B
-           Arti: Kurangkan isi Reg Y dengan isi Reg B, kemudian simpan hasilnya di Reg Y.
Bentuk ini masih digunakan di komputer sekarang
Mengoperasikan lebih sedikit register, tapi panjang program tidak bertambah terlalu
banyak AH: Alamat Hasil, AO: Alamat Asal Operand
Format Instruksi 1 Alamat
Bentuk umum: [OPCODE] [AO] 
Satu alamat operand, hasil disimpan di accumulator
 Misal: SUB B
-           Bentuk algoritmik: AC  AC – B
-           Arti: Kurangkan isi Acc. dengan isi Reg B, kemudian simpan hasilnya di Acc.
Hanya mengoperasikan satu register, tapi program menjadi bertambah panjang
AO: Alamat Asal Operand
Format Instruksi 0 Alamat
Bentuk umum: [OPCODE] [O]
Semua alamat operand implisit, disimpan dalam bentuk stack. Operasi yang biasanya membutuhkan 2 operand, akan mengambil isi stack paling atas dan di bawahnya.
Misal: SUB
-           Bentuk algoritmik: S[top]  S[top-1] – S[top]
-           Arti: Kurangkan isi Stack no.2 dari atas dengan isi Stack paling atas,kemudian simpan hasilnya di Stack paling atas
Ada instruksi khusus Stack: PUSH dan POP yang dapat diberi alamat
Contoh Format Instr 3 Alamat
 A, B, C, D, E, T, Y adalah register
 Program: Y = (A – B) / ( C + D × E)
SUB    Y, A, B           Y  A – B
MPY   T, D, E T  D × E
ADD   T, T, C T  T + C
DIV     Y, Y, T            Y  Y / T
Memerlukan 4 operasi
Contoh Format Instr 2 Alamat
 A, B, C, D, E, T, Y adalah register
 Program: Y = (A – B) / ( C + D × E)
MOVE            Y, A    Y  A
SUB    Y, B    Y  Y - B
MOVE            T, D     T  D
MPY   T, E     T  T × E
ADD   T, C     T  T + C
DIV     Y, T     Y  Y / T
Memerlukan 6 operasi
Contoh Format Instr 1 Alamat
A, B, C, D, E, Y adalah register
Program: Y = (A – B) / ( C + D × E)
LOAD D         AC  D
MPY   E          AC  AC × E
ADD   C         AC  AC + C
STOR  Y         Y  AC
LOAD A         AC  A
SUB    B         AC  AC – B
DIV     Y         AC  AC / Y
STOR  Y         Y  AC
Memerlukan 8 operasi
Contoh Format Instr 0 Alamat
 A, B, C, D, E, Y adalah register
Program: Y = (A – B) / ( C + D × E)
            PUSH A          S[top]  A
            PUSH B          S[top]  B
            SUB    S[top]  A - B
            PUSH C          S[top]  C
            PUSH D          S[top]  D
            PUSH E          S[top]  E
            MPY   S[top]  D × E
            ADD   S[top]  C + S[top]
            DIV     S[top]  (A - B) / S[top]
            POP Y Out  S[top]
Memerlukan 10 operasi
Dari alamat – alamat diatas yang Perlu Diperhatikan adalah semakin banyak register yang diolah dalam satu instruksi  semakin lambat. Semakin banyak baris operasi untuk mengeksekusi sebuah program  juga semakin lambat. Komputer sekarang karena menggunakan CISC dan RISC, maka menggunakan format instruksi 3 atau 2 alamat.

DESAIN SET INSTRUKSI
Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya adalah:
1. Kelengkapan set instruksi
2. Ortogonalitas (sifat independensi
     instruksi)
3. Kompatibilitas :      
    -  Source code compatibility
    - Object code Compatibility
Selain ketiga aspek tersebut juga melibatkan
hal-hal sebagai berikut:
1. Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya
2. Data Types: tipe/jenis data yang dapat olah. Instruction Format: panjangnya, banyaknya alamat, dsb.
3. Register: Banyaknya register yang dapat digunakan
4.Addressing: Mode pengalamatan untuk operand
Suatu instruksi terdiri dari beberapa field yang sesuai dengan elemen dalam instruksi tersebut. Layout dari suatu instruksi sering disebut sebagai Format Instruksi (Instruction Format).

Kamis, 18 Oktober 2018

Tugas 2 Organisasi Komputer Dasar

Rahmat Kurniawan
17415724
4IB03

Organisasi Komputer Dasar

A. KOMPONEN SISTEM
Sebuah komputer moderen/digital dengan program yang tersimpan di dalamnya merupakan sebuah system yang memanipulasi dan memproses informasi menurut kumpulan instruksi yang diberikan. Sistem tersebut dirancang dari modul-modul hardware seperti :
1. Register
2. Elemen aritmatika dan logika
3. Unit pengendali
4. Unit memori
5. Unit masukan/keluaran (I/O)

Komputer dapat dibagi menjadi 3 bagian utama, yaitu :
1. Unit pengolahan pusat (CPU)
2. Unit masukan/keluaran (I/O)
3. Unit memori

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.

B. OPERASI MIKRO
Operasi mikro adalah operasi tingkat rendah yang dapat dilakukan oleh komputer atau CPU sehingga fungsi-fungsi operasi akan dihasilkan untuk memindahkan data antar register. Salah satu cara dalam melakukan operasi mikro tersebut dengan menggunakan bahasa transfer register / Register Transfer Language (RTL). RTL adalah sebuah bahasa yang digunakan untuk menjabarkan atau melaksanakan operasi mikro. Untuk mengungkapkan bahasa RTL ini dapat digunakan notasi RTL yang merupakan aturan penulisan pemberian instruksi RTL.

Suatu sistem komputer terdiri dari lima unit struktur dasar, yaitu:
Unit kontrol (Control Unit)
Unit logika dan aritmatika (Arithmetic & Logical Unit / ALU)
Unit memori/penyimpanan (Memory / Storage Unit)
Unit keluaran (Output Unit)
Control Unit dan ALU membentuk suatu unit tersendiri yang disebut Central Processing Unit (CPU).

Fungsi Utama dari masing-masing Unit akan dijelaskan berikut ini:
   l Unit Masukan (Input Unit)
       Berfungsi untuk menerima masukan (input) kemudian membacanya dan diteruskan ke Memory / penyimpanan. Dalam hubungan ini dikenal istilah peralatan masukan (input device) yaitu alat penerima dan pembaca masukan serta media masukan yaitu perantaranya.


Unit Kontrol (Control Unit)
Berfungsi untuk melaksanakan tugas pengawasan dan pengendalian seluruh sistem komputer. Ia berfungsi seperti pengatur rumah tangga komputer, memutuskan urutan operasi untuk seluruh sistem, membangkitkan dan mengendalikan sinyal-sinyal kontrol untuk menyesuaikan operasi-operasi dan arus data dari bus alamat (address bus) dan bus data (data bus), serta mengendalikan dan menafsirkan sinyal-sinyal kontrol pada bus kontrol (control bus) dari sistem komputer. Pengertian mengenai bus dapat dilihat di bagian bawah halaman ini.


Unit Logika & Aritmatika (Arithmetical & Logical Unit)
Berfungsi untuk melaksanakan pekerjaan perhitungan atau aritmatika & logika seperti menambah, mengurangi, mengalikan, membagi dan memangkatkan. Selain itu juga melaksanakan pekerjaan seperti pemindahan data, penyatuan data, pemilihan data, membandingkan data, dll, sehingga ALU merupakan bagian inti dari suatu sistem komputer. Pada beberapa sistem komputer untuk memperingan dan membantu tugas ALU dari CPU ini diberi suatu peralatan tambahan yang disebut coprocessor sehingga khususnya proses perhitungan serta pelaksanaan pekerjaan pada umumnya menjadi lebih cepat. Pengertian mengenai coprocessor dapat dilihat di bagian bawah halaman ini.


Unit Memori / Penyimpan (Memory / Storage unit)
Berfungsi untuk menampung data/program yang diterima dari unit masukan sebelum diolah oleh CPU dan juga menerima data setelah diolah oleh CPU yang selanjutnya diteruskan ke unit keluaran. Pada suatu sistem komputer terdapat dua macam memori, yang penamaannya tergantung pada apakah alat tersebut hanya dapat membaca atau dapat membaca dan menulis padanya. Bagian memori yang hanya dapat membaca tanpa bisa menulis padanya disebut ROM (Read Only Memory), sedangkan bagian memori yang dapat melaksanakan membaca dan menulis disebut RAM (Random Access Memory).


Unit Keluaran (Output Unit)
Berfungsi untuk menerima hasil pengolahan data dari CPU melalui memori. Seperti halnya pada unit masukan maka pada unit keluaran dikenal juga istilah peralatan keluaran (Output device) dan media keluaran (Output media).

Pengertian BUS
Bus adalah sekelompok lintasan sinyal yang digunakan untuk menggerakkan bit-bit informasi dari satu tempat ke tempat lain, dikelompokkan menurut fungsinya Standar bus dari suatu sistem komputer adalah bus alamat (address bus), bus data (data bus) dan bus kontrol (control bus). Komputer menggunakan suatu bus atau saluran bus sebagaimana kendaraan bus yang mengangkut penumpang dari satu tempat ke tempat lain, maka bus komputer mengangkut data. Bus komputer menghubungkan CPU pada RAM dan periferal. Semua komputer menggunakan saluran busnya untuk maksud yang sama.
Pengertian Coprocessor
Coprocessor adalah Mikroprosesor tambahan (auxiliary processor) untuk membantu tugas dari prosesor utama (CPU). Sebenarnya latar belakang adanya coprocessor ini dimaksudkan untuk menutupi kelemahan dalam perhitungan matematika dan aritmatika pada prosesor Intel 8088. Tugas utamanya untuk melaksanakan perhitungan matematika dan aritmatika sehingga tidak menjadi beban prosesor Intel 8088.


PENGERTIAN DAN PERBEDAAN ORGANISASI KOMPUTER DENGAN ARSITEKTUR KOMPUTER
1. PENGERTIAN
Arsitektur Komputer mempelajari atribut-atribut sistem komputer yang terkait dengan seorang programmer. contoh: set instruksi, aritmetilka yang digunakan, teknik pengalamatan, mekanisme I/0. Sedangkan Organisasi Komputer mempelajari bagian yang terkait dengan unit-unit operasional komputer dan hubungan antara komponen sistem komputer. contoh: sinyal kontrol, interface, teknologi memori.

2. PERBEDAAN
a) 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). Dalam hal ini, implementasi perencanaan dari masingmasing bagian akan lebih difokuskan terutama, mengenai bagaimana CPU akan bekerja, dan mengenai cara pengaksesan data dan alamat dari dan ke memori cache, RAM, ROM, cakram keras, dll). Beberapa contoh dari arsitektur komputer ini adalah Arsitektur von Neumann, CISC, RISC, blue gene, dll.
Dalam bidang teknik komputer, arsitektur komputer adalah konsep perencanaan dan struktur pengoperasian dasar dari suatu sistem computer.Biasanya mempelajari atribut-atribut sistem komputer yang terkait dengan eksekusi logis sebuah program. Arsitektur komputer ini merupakan rencana cetak biru dan deskripsi fungsional dari kebutuhan bagian perangkat keras yang didesain (kecepatan proses dan sistem interkoneksinya).
Dalam hal ini, implementasi perencanaan dari masingmasing bagian akan lebih difokuskan terutama, mengenai bagaimana CPU akan bekerja, dan mengenai cara pengaksesan data dan alamat dari dan ke memori cache, RAM, ROM, cakram keras, dll). Beberapa contoh dari arsitektur komputer ini adalah arsitektur von Neumann, CISC, RISC, blue Gene, dan lain-lain. Arsitektur komputer juga dapat 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 paling tidak mengandung 3 sub kategori:
1. Set instruksi (ISA)
2. Arsitektur mikro dari ISA, dan
3. Sistem desain dari seluruh komponen dalam perangkat keras komputer ini.
b) Organisasi Komputer
Adalah bagian yang terkait erat dengan unitunit operasional dan interkoneksi antar komponen penyusun sistem komputer dalam merealisasikan aspek arsitekturalnya. Contoh aspek organisasional adalah teknologi hardware, perangkat antarmuka, teknologi memori, dan sinyal-sinyal kontrol. Arsitektur komputer lebih cenderung pada kajian atribut-atribut sistem komputer yang terkait dengan seorang programmer. Contohnya, set instruksi, aritmetika yang digunakan, teknik pengalamatan, mekanisme I/O. Dan juga dapat 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.
Organisasi komputer adalah bagian yang terkait erat dengan unit-unit operasional dan interkoneksi antar komponen penyusun sistem komputer dalam merealisasikan aspek arsitekturalnya. Biasanya mempelajari bagian yang terkait dengan unit-unit operasional komputer dan hubungan antara komponen-komponen sister komputer. Contoh aspek organisasional adalah teknologi hardware, perangkat antarmuka, teknologi memori, dan sinyal-sinyal kontrol.Arsitektur komputer lebih cenderung pada kajian atribut-atribut sistem komputer yang terkait dengan seorang programmer. Contohnya, set instruksi, aritmetika yang digunakan, teknik pengalamatan, mekanisme I/O. Sebagai contoh apakah suatu komputer perlu memiliki instruksi pengalamatan pada memori merupakan masalah rancangan arsitektural. Apakah instruksi pengalamatan tersebut akan diimplementasikan secara langsung ataukah melalui mekanisme cache adalah kajian organisasional.
Jika organisasi komputer mempelajari bagian yang terkait dengan unit-unit operasional komputer dan hubungan antara komponen sistem komputer,dan interkoneksinya yang merealisasikan spesifikasi arsitektural contoh: teknologi hardware, perangkat antarmuka (interface), teknologi memori, sistem memori, dan sinyal-sinyal control.
Perbedaaan Utamanya :
Organisasi Komputer :
Bagian yang terkait dengan erat dengan unit-unit operasional
Contoh : teknologi hardware, perangkat antarmuka, teknologi memori, sistem memori, dan sinyal sinyal control.
Arsitektur Komputer :
Atribut-atribut sistem komputer yang terkait dengan seorang programmer
Contoh : Set instruksi, aritmetika yang dipergunakan, teknik pengalamatan, mekanisme I/O.

Sumber: 
https://radmarssy.wordpress.com/2007/02/07/struktur-dasar-komputer/
 Achmad Bachrum, PC: Kenali Sebelum Membeli, PT. Elex Media Komputindo, 1991
 Drs. Suyanto, MM., —–, —–, 199-

Tugas 1. Evolusi Arsitektur Komputer

Rahmat Kurniawan
17415724
4IB03


Evolusi Arsitektur


 Komputer


Perkembangan Arsitektur Komputer
Arsitektur komputer  dapat 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. Dalam bidang teknik komputer, 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). Dalam hal ini, implementasi perencanaan dari masingmasing bagian akan lebih difokuskan terutama, mengenai bagaimana CPU akan bekerja, dan mengenai cara pengaksesan data dan alamat dari dan ke memori cache, RAM, ROM, cakram keras, dll).
Di antara demikian banyak pemahaman tentang arsitektur, arsitektur dikenal juga sebagai suatu tradisi yang berkembang. Dari waktu ke waktu wajah arsitektur selalu mengalami perubahan. Hal-hal yang mempengaruhi perkembangan dan pengembangan arsitektur tidak hanya berupa keadaan eksternal, tetapi juga keadaan internal. Disini kita membahas mengenai evolusi arsitektur pada komputer. Arsitektur dari komputer sendiri merupakan suatu susunan atau rancangan dari komputer tersebut sehingga membentuk suatu kesatuan yang dinamakan komputer. Komputer sendiri berevolusi dengan cepat mulai dari generasi pertama hingga sekarang. Evolusi sendiri didasarkan pada fungsi atau kegunaanya dalam kehidupan. Evolusi pada komputer sendiri ada karena keinginan atau hal yang dibutuhkan manusia itu sendiri. Sekarang ini komputer sudah dapat melakaukan perintah yang sulit sekalipun tidak seperti dulu yang hanya bisa melakukan yang sederhana saja. Itulah yang dinamakan evolusi arsitektur yaitu perubahan bentuk juga fungsi dan kemampuannya.
KLASIFIKASI ARSITEKTUR KOMPUTER
1. Arsitektur Von Neumann
Arsitektur von Neumann (atau Mesin Von Neumann) adalah arsitektur yang diciptakan oleh John von Neumann (1903-1957). Arsitektur ini digunakan oleh hampir semua komputer saat ini. Arsitektur Von Neumann menggambarkan komputer dengan empat bagian utama: Unit Aritmatika dan Logis (ALU), unit kontrol, memori, dan alat masukan dan hasil (secara kolektif dinamakan I/O). Bagian ini dihubungkan oleh berkas kawat, bus.
 
Pada perkembangan komputer modern, setiap prosesor terdiri dari atas :
Arithmetic 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.
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 menunggugiliran untukdiproses masihdisimpan yang menunggugiliran untukdiproses masihdisimpan di dalam memori utama. Setiap register dapat menyimpan satu bilangan hingga mencapai jumlah maksimum tertentu tergantung pada ukurannya.
Control Unit
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. 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.
Bus
Bus adalah sekelompok lintasan sinyal yang digunakan untuk menggerakkan bit-bit informasi dari satu tempat ke tempat lain, dikelompokkan menurut fungsinya Standar bus dari suatu sistem komputer adalah bus alamat (address bus), bus data (data bus) dan bus kontrol (control bus). Komputer menggunakan suatu bus atau saluran bus sebagaimana kendaraan bus yang mengangkut penumpang dari satu tempat ke tempat lain, maka bus komputer mengangkut data. Bus komputer menghubungkan CPU pada RAM dan periferal. Semua komputer menggunakan saluran busnya untuk maksud yang sama.
1. Arsitektur RISC
RICS singkatan dari Reduced Instruction Set Computer. Merupakan bagian dari arsitektur mikroprosessor, berbentuk kecil dan berfungsi untuk negeset istruksi dalam komunikasi diantara arsitektur yang lainnya. Reduced Instruction Set Computing (RISC) atau Komputasi set instruksi yang disederhanakanpertama kali digagas oleh John Cocke, peneliti dari IBM di Yorktown, New York pada tahun 1974 saat ia membuktikan bahwa sekitar 20% instruksi pada sebuah prosesor ternyata menangani sekitar 80% dari keseluruhan kerjanya. Komputer pertama yang menggunakan konsep RISC ini adalah IBM PC/XT pada era 1980-an. Istilah RISC sendiri pertama kali dipopulerkan oleh David Patterson,pengajar pada University of California di Berkely.
 
Dalam HLL procedure call dan return merupakan aspek penting karena merupakan operasi yang membutuhkan banyak waktu dalam program yang dikompalasi sehingga banyak berguna untuk memperhatikan cara implementasi opperasi ini secara efisien. Adapun aspeknya yang penting adalah jumlah parameter dan variabel yang berkaitan dengan prosedur dan kedalaman pensarangan (nesting).
1. Arsitektur CISC
Complex instruction-set computing atau Complex Instruction-Set Computer (CISC) Kumpulan instruksi komputasi kompleks) adalah sebuah arsitektur dari set instruksi dimana setiap instruksi akan menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memory, operasi aritmetika, dan penyimpanan ke dalam memory, semuanya sekaligus hanya di dalam sebuah instruksi. Karakteristik CISC dapat dikatakan bertolak-belakang dengan RISC.
Sebelum proses RISC didesain untuk pertama kalinya, banyak arsitek komputer mencoba menjembatani celah semantik, yaitu bagaimana cara untuk membuat set-set instruksi untuk mempermudah pemrograman level tinggi dengan menyediakan instruksi level tinggiseperti pemanggilan procedure, proses pengulangan dan mode-mode pengalamatan kompleks sehingga struktur data dan akses array dapat dikombinasikan dengan sebuah instruksi. Karakteristik CISC yg sarat informasiini memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat.
Memang setelah itu banyak desain yang memberikan hasil yang lebih baik dengan biaya yang lebih rendah, dan juga mengakibatkan pemrograman level tinggi menjadi lebih sederhana, tetapi pada kenyataannya tidaklah selalu demikian. Contohnya, arsitektur kompleks yang didesain dengan kurang baik (yang menggunakan kode-kode mikro untuk mengakses fungsi-fungsi hardware), akan berada pada situasi di mana akan lebih mudah untuk meningkatkan performansi dengan tidak menggunakan instruksi yang kompleks (seperti instruksi pemanggilan procedure), tetapi dengan menggunakan urutan instruksi yang sederhana.
Istilah RISC dan CISC saat ini kurang dikenal, setelah melihat perkembangan lebih lanjut dari desain dan implementasi baik CISC dan CISC. Implementasi CISC paralel untuk pertama kalinya, seperti 486 dari Intel, AMD, Cyrix, dan IBM telah mendukung setiap instruksi yang digunakan oleh prosesor-prosesor sebelumnya, meskipun efisiensi tertingginya hanya saat digunakan pada subset x86 yang sederhana (mirip dengan set instruksi RISC, tetapi tanpa batasan penyimpanan/pengambilan data dari RISC). Prosesor-prosesor modern x86 juga telah menyandikan dan membagi lebih banyak lagi instruksi-instruksi kompleks menjadi beberapa operasi-mikrointernal yang lebih kecil sehingga dapat instruksi-instruksi tersebut dapat dilakukan secara paralel, sehingga mencapai performansi tinggi pada subset instruksi yang lebih besar.
Karakteristik CISC
· Sarat informasi memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat
· Dimaksudkan untuk meminimumkan jumlah perintah yang diperlukan untuk mengerjakan pekerjaan yang diberikan. (Jumlah perintah sedikit tetapi rumit) Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa rakitan.




1. Arsitektur Harvard
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 menyediakanorganisasiinternal yang  berbeda sedemikian rupa instruksi dapat diambil dan dikodekan ketika dan data, tetapi juga menyediakan organisasi internal yang  berbeda sedemikian rupa instruksi dapaLebih 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.t diambil dan dikodekan ketika berbagai data sedang diambil dan dioperasikan. 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.
1. Arsitektur Blue Gene
Blue Gene adalah sebuah arsitektur komputer yang dirancang untuk menciptakan beberapa superkomputer generasi berikut, yang dirancang untuk mencapai kecepatan operasi petaflop (1 peta = 10 pangkat 15), dan pada 2005 telah mencapai kecepatan lebih dari 100 teraflop (1 tera = 10 pangkat 12). Blue Gene merupakan proyek antara Departemen Energi Amerika Serikat (yang membiayai projek ini), industri (terutama IBM), dan kalangan akademi. Ada lima projek Blue Gene dalam pengembangan saat ini, di antaranya adalah Blue Gene/L, Blue Gene/C, dan Blue Gene/P.
Komputer pertama dalam seri Blue Gene. Blue Gene/L dikembangkan melalui sebuah partnershipdengan Lawrence Livermore National Laboratory menghabiskan biaya AS$100 juta dan direncanakan dapat mencapai kecepatan ratusan TFLOPS, dengan kecepatan puncak teoritis 360 TFLOPS. Ini hampir sepuluh kali lebih cepat dari Earth Simulator, superkomputer tercepat di dunia sebelum Blue Gene. Pada Juni 2004, dua prototipe Blue Gene/L masuk dalam peringkat 500 besar superkomputer berada dalam posisi ke-4 dan ke-8.
Pada 29 September 2004 IBM mengumumkan bahwa sebuah prototipe Blue Gene/L di IBM Rochester (Minnesota) telah menyusul Earth Simulator NEC sebagai komputer tercepat di dunia, dengan kecepatan 36,01 TFLOPS, mengalahkan Earth Simulator yang memiliki kecepatan 35,86 TFLOPS. Mesin ini kemudian mencapai kecepatan 70,72.
Pada 24 Maret 2005, Departemen Energi AS mengumumkan bahwa Blue Gene/L memecahkan rekor komputer tercepat mencapai 135,5 TFLOPS. Hal ini dimungkinkan karena menambah jumlah rak menjadi 32 dengan setiap rak berisi 1.024 node komputasi. Ini masih merupakan setengah dari konfigurasi final yang direncanakan mencapai 65.536 node.
Pada 27 Oktober, 2005, Lawrence Livermore National Laboratory dan IBM mengumumkan bahwa Blue Gene/L sekali lagi telah menciptakan rekor dengan mengalahkan rekornya sendiri setelah mencapai kecepatan 280.6 TFLOPS.