IKI20210 Pengantar Organisasi Komputer Kuliah no

Slides:



Advertisements
Presentasi serupa
PENGANTAR TEKNOLOGI INFORMASI
Advertisements

Arsitektur Komputer “Instruksi Set Arsitektur”
ARSITEKTUR SET INSTRUKSI
1 IKI20210 Pengantar Organisasi Komputer Kuliah no. 2: Stored Program Computers 19 Februari 2003 Bobby Nazief Qonita Shahab
Central Processing Unit
ARSITEKTUR SET INSTRUKSI
Organisasi dan Arsitektur Komputer
10. Set Intruksi : Karakteristik dan Fungsi
LOKASI DAN OPERASI MEMORI
IKI10230 Pengantar Organisasi Komputer Kuliah no
Pertemuan 4 (Set Instruksi ARM)
Evolusi & Perkembangan Komputer
Reduced Instruction Set Computers
Organisasi dan Arsitektur Komputer
© 2009 Fakultas Teknologi Informasi Universitas Budi Luhur Jl. Ciledug Raya Petukangan Utara Jakarta Selatan Website:
Instruksi dalam CPU.
Desain Unit Pemrosesan
Organisasi & Arsitektur Komputer
ARSITEKTUR SET INSTRUKSI
Set Instruksi:.
IKI20210 Pengantar Organisasi Komputer Kuliah no. 1: Pendahuluan
Organisasi Sistem Komputer
Evolusi dan Kinerja Komputer
PERTEMUAN I EVOLUSI KOMPUTER P1.
ARSITEKTUR INSTRUCTION SET
PENGANTAR TEKNOLOGI KOMPUTER & INFORMASI – A
Organisasi Sistem Komputer
Pertemuan 3 (Bahasa Assembly)
Pertemuan III SET Instruksi.
MODE PENGALAMATAN DAN SET INSTRUKSI
Perkembangan Mikrokomputer
PERTEMUAN 2 SISTEM BILANGAN
IKI10230 Pengantar Organisasi Komputer Kuliah no
Sistem Pengolahan Data Komputer
Matakuliah : H0162/ Mikroprosesor Tahun : 2006 Versi : 1/0
ARSITEKTUR SET INSTRUKSI
Representasi Data.
Mode Pengalamatan &Jenis-Jenis Instruksi
Pertemuan 3 Evolusi dan Kinerja komputer Author : Linda Norhan, ST.
ORGANISASI & ARSITEKTUR KOMPUTER 2 SET INSTRUKSI IBP WIDJA, MT
Sistem Pengolahan Data Komputer
Pengenalan Assembler.
Sistem dan Teknologi Perangkat Keras Komputer
Struktur Interkoneksi Antar-Komponen
Transfer Register dan Mikrooperasi
Set Instruksi:.
William Stallings Computer Organization and Architecture
evolusi dan kinerja komputer
Evolusi dan Kinerja Komputer
BAB I SEJARAH KOMPUTER GENERASI PERTAMA TABUNG VAKUM ENIAC
Perkembangan Mikrokomputer
Computer Organization and Architecture
Pertemuan 2 (INSTRUKSI MESIN DAN PROGRAM)
ORGANISASI & ARSITEKTUR KOMPUTER
ARSITEKTUR SET INSTRUKSI
Organisasi Sistem Komputer
Pertemuan 4 Central Processing Unit
Organisasi dan Arsitektur Komputer
Pertemuan Ke – 2 Pengantar Organisasi Komputer
STRUKTUR KOMPUTER DASAR
BAB 1 PENGENALAN ORGANISASI DAN ARSITEKTUR KOMPUTER
Pertemuan ke 3 Struktur CPU
ARSITEKTUR SET INSTRUKSI
Copyright © Wondershare Software -m.erdda habiby.SST Central Processing Unit.
Set Instruksi.
Arsitektur Komputer Pertemuan - 1 Oleh : Tim Pengajar.
Konsep Sistem Komputer
ARSITEKTUR SET INSTRUKSI
Karakteristik Set Instruksi 14 JP. Karakteristik Set Instruksi Pengertian Set Instruksi Set instruksi adalah kumpulan dari instruksi yang dapat dijalankan.
PEMROGRAMAN MIKROPROSESOR DAN MIKROKONTROLER ICHSAN R, S.PD | ARSITEKTUR MIKROPROSESOR.
Transcript presentasi:

IKI20210 Pengantar Organisasi Komputer Kuliah no IKI20210 Pengantar Organisasi Komputer Kuliah no. 2: Stored Program Computers Sumber: 1. Hamacher. Computer Organization, ed-5. 2. Materi kuliah CS61C/2000 & CS152/1997, UCB. 19 Februari 2003 Bobby Nazief (nazief@cs.ui.ac.id) Qonita Shahab (niet@cs.ui.ac.id) bahan kuliah: http://www.cs.ui.ac.id/kuliah/iki20210/

Review: 5 Komponen Utama Komputer Processor (active) Computer Control (“brain”) Datapath (“brawn”) Memory (passive) (where programs, data live when running) Devices Input Output Keyboard, Mouse Display, Printer Disk (where not running) That is, any computer, no matter how primitive or advance, can be divided into five parts: 1. The input devices bring the data from the outside world into the computer. 2. These data are kept in the computer’s memory until ... 3. The datapath request and process them. 4. The operation of the datapath is controlled by the computer’s controller. All the work done by the computer will NOT do us any good unless we can get the data back to the outside world. 5. Getting the data back to the outside world is the job of the output devices. The most COMMON way to connect these 5 components together is to use a network of busses.

Review: Struktur Interkoneksi Antar-Komponen Proc Caches Processor-Memory Bus adapters I/O Bus Memory Controllers Disks Displays Keyboards I/O Devices: Networks Semua komponen memiliki organisasi & antar-muka

Review: Generasi Komputer I: ’46 – ’57: UNIVAC 1103 Bahasa Rakitan Vacuum Tube 40.000 instruksi/detik II: ’58 – ’64: IBM 7094 Bahasa Tingkat Tinggi (Fortran, Cobol), Kompilator Transistor I/O & Processor Parallelism 200.000 instruksi/detik III: ’65 – ’71: IBM System/360, DEC PDP-8 Sistem Operasi Small- & Medium-scale Integrated Circuit (IC) Cache & Virtual Memory, Microprogramming, Pipelining, Parallelism 1.000.000 instruksi/detik IV: ’72 – ’77: Apple IIe, IBM PC Large Scale Integrated Circuit (LSI) Microprocessor, PC 10.000.000 instruksi/detik IV: ’78 – …: 80286 – Pentium IV, MIPS, Sparc, PowerPC Very Large Scale Integrated Circuit (VLSI) 100.000.000 instruksi/detik

Komputer Digital Komputer Digital: Hanya mengenal dua status (mis. ada / tidak ada tegangan) Sangat sederhana hanya dapat bernilai: 1 atau 0  biner Operasi hanya dapat dilakukan pada bit; yang dapat bernilai 1 atau 0. Contoh operasi mengubah (flip, switch) nilai bit, menjadikan bit tertentu 0; test bit jika 0 atau bukan. 100101 switch bit ini menjadi 0 100001 100001 Test bit ini jika 0, switch bit pertama 0 100000

Komputer & “things” … jadi, apakah komputer (yang hanya mengenal bits dengan nilai: 0 dan 1) demikian “powerful”? Apakah komputer dapat merepresentasikan “sesuatu”, apa saja? ..hello buzz simulasi mobil

Bit Dengan bit, bagaimana komputer dapat merepresentasikan: Bilangan (numerik)? Alfabet ? Kata? Alamat? Gambar? Contoh: Bilangan Manusia lebih mudah menggunakan representasi/ notasi desimal. Misalkan: 1, 25, 125, 3896754321 Disebut basis 10, dengan simbol: Digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ..tapi komputer hanya mengenal 2 simbol (0 dan 1) Bagaimana melakukan representasi bilangan yang dikenal manusia?

Contoh: Bilangan! Bilangan Basis B  B simbol per digit: Basis 10 (Decimal): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Basis 2 (Binary): 0, 1 Komputer menyimpan dan beroperasi dalam “binary”  Basis 2 Dapat melakukan konversi (representasi) bilangan dari basis 10 ke basis 2 (dan sebaliknya). Decimal: 0,1,2,3,4,5,6,7,8,9 90 = 9x101 + 0x100 Binary: 0,1 1011010 = 1x26 + 0x25 + 1x24 + 1x23 + 0x22 + 1x2 + 0x20 = 64 + 16 + 8 + 2 = 90

Bit dapat mepresentasikan “apa saja” !!! Bits dapat merepresentasikan apapun! Karakter? Latin: 26 huruf => 5 bits Huruf besar/kecil + tanda lain => 7 bits, berapa simbol huruf? Karakter, bahasa lain => 16 (unicode) Logical values? 0 -> False, 1 => True Warna ? Berapa banyak warna => berapa bits? Alamat? (berapa karakter alfabet ..) .. Tapi N bits  hanya dapat merepresentasikan 2N sesuatu

Apa lagi (sesuatu yang berguna) yang dapat dilakukan? Apa yang dapat dilakukan dengan “bilangan”? … umumnya semua operasi (instruksi) yang biasa dilakukan pada bilangan! Tambahkan, Kurangkan, Kalikan, Bagikan, Bandingkan! Contoh: 10 + 7 = 17 1 0 1 0 + 0 1 1 1 ------------------------- 1 0 0 0 1 1  10 Apakah instruksi +, dapat diwakili oleh bits?  7  17

Bit  Instruksi Instruksi (Operasi). Apakah dapat diwakili oleh bit? Contoh: 0 => tepuk tangan 1 => snap jari jempol dan telunjuk Eksekusi Instruksi: 1 0 1 1 0 0 Jadi instruksi operasi bilangan (sebagai contoh!) Misalkan 3 bit (berapa banyak instruksi?): 000 => tambahkan 001 => kurangkan 010 => kalikan 011 => bagikan 100 => bandingkan dst. Jadi bit (data) dapat diartikan sebagai instruksi!

Memori

Bilangan (data) disimpan di memori Alamat Memori adalah tempat menyimpan bit data Suatu “word” adalah sejumlah bit data tetap, (mis. 16, atau 32 bit) pada satu lokasi di memori Alamat menunjuk ke lokasi “word” disimpan. Alamat dapat direpresen-tasikan oleh bit Alamat juga sebagai “bilangan” (yang dapat dimanipulasikan) 00000 data 01110 101101100110 11111 = 2k - 1

Apa saja yang dapat disimpan? Apa yang dapat disimpan? Bilangan Karakter Alamat data Representasi “sesuatu” di dunia luar .. 00000 01110 101101100110 11111 = 2k - 1 anything Big Idea: Komputer dapat menyimpan apapun.

Pengkodean Informasi: Representasi Data Binary: 0,1 1011010 = 1x26 + 0x25 + 1x24 + 1x23 + 0x22 + 1x2 + 0x20 = 64 + 16 + 8 + 2 = 90 Hexa-Decimal: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 5A = 5x161 + 10x160 = 80 + 10 = 90 Penulisan: 0x5A Bit String: 4 bit  nibble 8 bit  byte 16 bit  half-word 32 bit  word 64 bit  double-word

Pengalamatan Memori 1 i 2k-1 Alamat n bits Byte 0 Byte 1 Byte i Byte 2k-1 k menentukan besarnya ruang alamat (address space) memori: k = 16  ruang alamat = 216 (64536) lokasi k = 32  ruang alamat = 232 (4 G) lokasi n menentukan besarnya suatu word (jumlah bit) n = 8, 16, 32, 64 Umumnya ukuran peng-alamatan terkecil adalah dalam orde byte  byte addressable

Pengalamatan Objek: Endianess  cara menata bagian-bagian dari suatu objek (yang berukuran > 1 byte) di memori Big Endian: address of most significant IBM 360/370, Motorola 68k, MIPS, Sparc, HP PA Little Endian: address of least significant Intel 80x86, DEC Vax, DEC Alpha (Windows NT) msb lsb 1 1 5 lsb msb 1 5 1

Endianess & Word Alignment 1500 Big Endian Little Endian Alamat 1 2 3 i 2k-1 Alamat 5 1 2 3 4 5 6 7 i 2k-1 1 Word Aligned 5 2 6

Stored Program

The Stored Program Computer (1/2) Konsep Kunci: Data dapat diartikan sebagai instruksi! Data di komputer mampu merepresentasikan sesuatu (thing, anything)! Tergantung intrepetasi dan operasi yang diinginkan. BIG IDEA: STORED PROGRAM  program dapat disimpan sebagai data dan dijalankan oleh komputer Merupakan konsep awal komputer  Von Neumann Architecture (1955).

The Stored Program Computer (2/2) Memori menyimpan instruksi dan data sebagai bit. Instruksi diambil oleh prosesor dari memori, diartikan, dan, dieksekusi (operands/data diambil, diolah, dan disimpan ke memori). Contoh Instruksi 4-digit Operasi: 0 => add, 1 => sub Alamat hasil Alamat op1 Alamat op2 0 0 7 4 5 1 1 8 7 6 2 0 9 8 6 3 4 0 0 6 1 5 0 0 1 7 6 0 0 0 3 7 0 0 0 0 8 0 0 0 0 9 0 0 0 0 data instruksi 0: 0745 0=add (jenis instruksi), 7=addr. result, 4=addr op1, 5=addr op2 instruksi Apa yang berada di lokasi 9 setelah eksekusi instruksi 0, 1, 2?

0745: Add (4),(5),(7) ; M[7]  M[4] + M[5] Operasi pada Memori 0745: Add (4),(5),(7) ; M[7]  M[4] + M[5] 0745 0 0 7 4 5 1 1 8 7 6 2 0 9 8 6 3 4 0 0 6 1 5 0 0 1 7 6 0 0 0 3 7 0 0 0 0 8 0 0 0 0 9 0 0 0 0 Processor (active) Control (“brain”) Datapath (“brawn”) Instruction Fetch 0061 0017 Data Read 0078 Data Store (Write)

Jadi, apa artinya? Kita dapat menulis sebuah program yang dapat “menerjemahkan” untaian karakter ke “instruksi komputer (bit)”. Program tersebut disebut: compiler atau assembler. Kita dapat me-load hasil pola bit ke memori dan dijalankan oleh prosesor: mampu mengolah/manipulasi bilangan, karakter, pixels … (Aplikasi, Software) mampu melakukan penerjemahan perintah ke instruksi komputer (Compiler) dapat mengontrol komputer  load dan jalankan program (Operating Systems)

Set Instruksi

Set Instruksi (Bahasa Mesin)  Bahasa Rakitan Bahasa Mesin  kumpulan bit yang merepresentasikan Operasi & Operand Bahasa Rakitan  representasi dari Bahasa Mesin dalam bahasa (kumpulan huruf & angka) yang lebih mudah dimengerti oleh manusia mnemonic 0745: Add (4),(5),(7) ; [7]  [4] + [5]

Jenis-jenis Operasi (tidak banyak berubah sejak 1960) Data Transfers memory-to-memory move register-to-register move memory-to-register move Arithmetic & Logic integer (binary + decimal) or FP Add, Subtract, Multiply, Divide shift left/right, rotate left/right not, and, or, set, clear Program Sequencing & Control unconditional, conditional Branch call, return trap, return Input/Output Transfers register-to-i/o device move Synchronization test & set (atomic r-m-w) String search, translate Graphics (MMX) parallel subword ops (4 16bit add)

Register: memori khusus Registers are in the datapath of the processor; if operands are in memory, we must transfer them to the processor to operate on them, And then transfer back to memory when done Personal Computer Computer Processor Memory Devices Control (“brain”) Input Store That is, any computer, no matter how primitive or advance, can be divided into five parts: 1. The input devices bring the data from the outside world into the computer. 2. These data are kept in the computer’s memory until ... 3. The datapath request and process them. 4. The operation of the datapath is controlled by the computer’s controller. All the work done by the computer will NOT do us any good unless we can get the data back to the outside world. 5. Getting the data back to the outside world is the job of the output devices. The most COMMON way to connect these 5 components together is to use a network of busses. Datapath Registers Output Load

Register Transfer Notation Notasi yang menggambarkan proses pertukaran data: arah: dari sumber ke tujuan operasi: ‘+’, ‘-’, … Sumber/Tujuan Data: Register Memori I/O Device Contoh: Pertukaran data: R1  [LOC] ; isi lokasi memori ‘Loc’ di- ; copy-kan ke register R1 Operasi: R3  [R1] + [R2] ; isi register R1 dijumlahkan ; dengan isi register R2, ; hasilnya disimpan di ; register R3

Assembly Language Notation Notasi yang menggambarkan program dalam bahasa mesin (agar lebih mudah dipahami) Jenis-jenis Operasi: Transfer Data: Move, Load, Store Aritmatika & Logika: Add, Sub, And, Or, … Kendali: Beq, Bne, Jmp, Call, Ret, … Transfer I/O: In, Out, … Contoh: Move LOC,R1 ; R1  [LOC] Add R1,R2,R3 ; R3  [R1] + [R2]

Kelas-kelas Instruksi Bahasa Mesin 3 address Add A,B,C ; C [A] + [B] Operation Source1,Source2,Destination atau Operation Destination,Source1,Source2 2 address Add A,B ; B  [B] + [A] Operation Source,Destination 1 address Add A ; acc [acc] + [A] 0 address Add ; tos [tos] + [next] Invented index register Reverse polish stack = HP calculator GPR = last 20 years L/S variant = last 10 years Load/Store + General Purpose Register: 2 address Load A,R1 ; R1  [B] Load B,R2 ; R2  [A] Add R1,R2 ; R2 [R2] + [R1] Store R2,C ; C [R2]

Perbandingan “Program” Perintah HLL: C = A + B Isi lokasi memori A & B tidak boleh berubah 3-address: Add A,B,C ; C  [A] + [B] 0-addres 1-address 2-address 3-address (load-store) Push A Load A Move B,C Load A,R1 Push B Add B Add A,C Load B,R2 Add Store C Add R1,R2,R3 Pop C Store R3,C

PR no. 1 (Hamacher, ed. 5) 2.8 2.9 2.10 (a) 2.13 2.14