Organisasi Sistem Komputer
Bagian 1
Bagian 1
Pembahasan
Pengertian sistem komputer
e ge t a s ste
o pute
Sistem kompilasi
Organisasi perangkat keras
Organisasi perangkat keras
Bus, Devais I/O, Memori Utama, Prosesor
Memory
Memory
Sistem operasi
Arsitektur dan Organisasi Komputer
Arsitektur dan Organisasi Komputer
Definisi Komputer
Istilah komputer mempunyai arti yang luas dan
berbeda untuk orang yang berbeda.
Istilah komputer diambil dari bahasa Latin
Computare yang berarti
menghitung
(
to compute
).
Terdapat beberapa definisi, menurut beberapa
b k
b
i b ik t
Computer Annual
Robert H. Blissmer
Komputer adalah suatu alat elektronik yang
o pute ada a suatu a at e e t o
ya g
mampu melakukan tugas-tugas :
menerima input,
mengolah input tadi sesuai dengan programnya, menyimpan perintah dan hasil pengolahan,
Computer Today
Donald H. Sanders
Komputer adalah sistem elektronik untuk :
o pute ada a s ste e e t o
u tu
memanipulasi data yang cepat dan tepat,
dirancang dan diorganisasikan supaya secara
otomatis menerima dan menyimpan data input,
mengolah data tersebut untuk menghasilkan output,
b k j b d k l k h l k h i t k i
bekerja berdasarkan langkah-langkah instruksi
Computer Organization
V.C. Hamacher, Z.G. Vranesic, S.G. Zaky
Komputer adalah :
o pute ada a
mesin penghitung elektronik yang cepat dapat
menerima informasi input digital,
mengolah sesuai dengan suatu program yang
tersimpan di memorinya (
stored program
), menghasilkan output informasi menghasilkan output informasi.
Introduction to The Computer
William M. Fuori
Komputer adalah :
o pute ada a
suatu pengolah data (data processor) yang dapat
melakukan perhitungan yang besar dan cepat,
t k hit it tik b t
termasuk perhitungan aritmatika yang besar atau operasi logika, tanpa campur tangan manusia yang melakukan operasi selama pengolahan.p p g
Introduction to Computer
Gordon B. Davis
Komputer adalah :
o pute ada a
tipe khusus alat penghitung yang mempunyai sifat
Definisi Komputer
Kesimpulan
Komputer
o pute
adalah :
ada a
Alat elektronik
Dapat menerima input data Dapat memberikan informasi
Menggunakan suatu program yang tersimpan di
i k t ( t d )
memori komputer (stored program)
Dapat menyimpan program dan hasil pengolahan. Bekerja secara otomatis
Sistem Pengolahan Informasi
Pengolahan datag ((
data processing
p
g
) adalah manipulasi ) p data menjadi suatu bentuk yang lebih berguna danberarti, berupa suatu informasi.
Informasi (
information
) adalah hasil dari kegiatanInformasi (
information
) adalah hasil dari kegiatan pengolahan data yang memberikan bentuk yang lebih berarti dari suatu kejadian.Sistem pengolahan informasi - SPI (
information
processing system
) adalah manipulasi data menjadisuatu bentuk yang lebih berarti berupa suatu informasi suatu bentuk yang lebih berarti, berupa suatu informasi, dengan menggunakan komputer.
Siklus Pengolahan Informasi
Storage
Data
Program
Informasi Data dan Informasi
Prosesor
Sistem Komputer
Agar komputer dapat digunakan untuk mengolah g p p g g informasi, harus berbentuk sistem komputer
(
computer system
).Sistem komputer adalah kumpulan dari komponen Sistem komputer adalah kumpulan dari komponen-komponen yang tersusun untuk melaksanakan suatu tujuan tertentu.
Komponen tersebut adalah :
hardware
f
software
firmware
Komponen Sistem Komputer
Hardware Software D t Data User Prosedur Prosedur KomunikasiPentingnya Memahami Komputer
Menjadi pemrogram yang andal, dengan memahami sistem komputer dan pengaruhnya pada programaplikasi
Mempelajari keahlian praktis tentang bagaimana Mempelajari keahlian praktis tentang bagaimana
menghindari error numerik yang terjadi akibat cara komputer merepresentasikan bilangan
Belajar untuk mengoptimalkan kode C menggunakan trik yang cerdas dengan mengeksploitasi prosesor dan system memori moderny
Belajar untuk mengerti apa yang terjadi dan
mengapa, ketika sistem komputer menjalankan suatu program
Program hello
Program hello merupakan program klasik yang dibuat ketika pemrogram pertama kali membuat kode
Program hello dimulai dari source program yang dibuat menggunakan editor dan disimpan sebagai file dibuat menggunakan editor dan disimpan sebagai file teks (umumnya diberi nama hello.c)
Source program ini merupakan urutan bit, masing-masing
bernilai 0 dan 1, dikelompokkan dalam potongan 8-bit disebut byte
Setiap byte merepresentasikan karakter teks program
Program hello
Program hello dibuat menggunakan program C bahasa tingkat tinggi agar dapat dibaca dan dimengerti oleh
manusia Kode program : 1 #include <stdio.h> 2 3 int main() 4 { 5 printf(“hello, world\n”); 6 }
Program hello
Agar kode program hello.c dapat berjalan pada sistem, setiap pernyataan C harus diterjemahkan
menjadi urutan instruksi bahasa mesin tingkat rendah Instruksi tersebut kemudian dipaketkan menjadi suatu Instruksi tersebut kemudian dipaketkan menjadi suatu bentuk disebut
executable object program
dan disimpan sebagai file binerPenerjemahan ini dilakukan dalam empat tahap secara berurutan, yaitu preprocessor, compiler, assembler, linker disebut sistem kompilasi
Sistem Kompilasi
Tahap preprocessing
preprocessor (cpp) memodifikasi program C berdasarkan directive yang diawali dengan karakter #
i #i i i t t k b
mis. #include <stdio.h> meminta preprocessor untuk membaca isi file header stdio.h dan menyelipkannya secara langsung pada teks program
T h k il i Tahap kompilasi
compiler (ccl) menerjemahkan file teks hello.i menjadi file teks hello.s yang mengandung bahasa pemrograman assembly. Bahasa assembly merupakan bahasa yang umum digunakan oleh berbagai assembly merupakan bahasa yang umum digunakan oleh berbagai
Sistem Kompilasi
Tahap assembly
assembler (as) menerjemahkan hello.s menjadi instruksi bahasa mesin. File hello.o merupakan file biner yang merupakan kode bahasa mesin
Tahap linking
f
linker (ld) menggabungkan program hello.o dengan fungsi printf yang berada dalam standar C library. Hasilnya berupa file eksekusi
Manfaat Sistem Kompilasi
Sistem kompilasi membantu pemrogram untuk menghasilkan kode i b ik d fi i
mesin yang baik dan efisien
Mengerti bagaimana sistem kompilasi bekerja dapat lebih mengoptimalkan kinerja program
h d b h bl d b
Pemrogram harus mengerti dasar bahasa assembly dan bagaimana compiler menerjemahkan kode-kode program bahasa C menjadi bahasa assembly
Contoh : Contoh :
Apakah pernyataan switch selalu lebih efisien dari urutan if-then-else ?
Apakah loop while lebih efisien dari loop do ?p p p
Apakah referensi pointer lebih efisien dari array berindeks
Mengapa dua loop yang sama fungsinya memiliki waktu eksekusi berbeda ?
Organisasi Perangkat Keras
Untuk mengerti apa yang terjadi pada program hello ketika dijalankan, kita harus mengerti organisasi
perangkat keras sistem yang digunakan
Secara umum perangkat keras sistem komputer Secara umum, perangkat keras sistem komputer tersusun dari :
Bus
Devais I/O
Memory utama ProsesorProsesor
Organisasi Perangkat Keras
Personal Computer Processor (active) Computer Memory Devices Keyboard, Mouse (active) Control (“brain”) (passive) (where programs, d t Input Disk (where programs, d t Datapath (“brawn”) data live when running) Output Display, data live when not running) Display,Organisasi Perangkat Keras
register file CPU chip
ALU
system bus memory bus
main memory I/O
bridge bus interface
I/O bus Expansion slots p untuk devais lain
Organisasi Perangkat Keras
Bus
Kumpulan jalur yang membawa byte-byte data dan informasi
t k
antar komponen
Data dan informasi di-transfer dalam potongan byte berukuran
tetap yang disebut word (word size)
Sistem Intel Pentium word size 4 byte Sistem Intel Pentium, word size = 4 byte
Sistem server Intel Itanium, word size = 8 byte Sistem embedded, word size = 1 atau 2 byte
Devais I/O Devais I/O
Koneksi sistem dengan dunia luar
Contoh devais I/O : keyboard dan mouse sebagai user input, display sebagai user output disk drive (disk) sebagai penyimpan display sebagai user output, disk drive (disk) sebagai penyimpan data dan program jangka panjang.
Setiap devais I/O terhubung dengan bus I/O melalui controller
atau adapter
Organisasi Perangkat Keras
Memori utama
Tempat penyimpanan sementara program dan data yangTempat penyimpanan sementara program dan data yang
sedang digunakan ketika prosesor mengeksekusi program tsb
Secara fisik, memori utama terdiri dari kumpulan chip Dynamic Random Access Memory (DRAM)
Secara logika, memori disusun sebagai urutan byte, yang masing-masing memiliki alamat unik
Prosesor (Central Processing Unit – CPU)
Mesin yang menginterpretasikan (atau mengeksekusi) instruksi
yang tersimpan dalam memori yang tersimpan dalam memori
Organisasi Perangkat Keras
Prosesor
Operasi prosesor terjadi di antara memori utama, register dan
arithmetic/logic unit (ALU)
Register : devais penyimpan berukuran kecil dalam chip CPUg p y p p ALU : menghitung data dan alamat
Operasi CPU sederhana :
Load : menyalin byte atau word dari memori utama ke registerLoad : menyalin byte atau word dari memori utama ke register Store : menyalin byte atau word dari register ke memori utama Update : menyalin word dari dua register ke ALU, menjumlahkan
kedua word tersebut dan menyimpan hasilnya ke registery p y g
I/O Read : menyalin byte atau word dari devais I/O ke register I/O Write : Menyalin byte atau word dari register ke devais I/O
Menjalankan Program hello (1)
register file CPU chip Membaca perintah hello dari keyboard ALU
system bus memory bus
y
main memory I/O
bridge
bus interface “hello”
I/O bus Expansion slots p untuk devais lain
Menjalankan Program hello (2)
register file CPU chip Memindahkan file eksekusi dari disk ke ALU
system bus memory bus
memori utama
main memory I/O
bridge
bus interface “hello, world\n”
kode hello
I/O bus Expansion slots
Hard disk controller graphics adapter USB controller p
untuk devais lain seperti LAN, dll
Menjalankan Program hello (3)
register file CPU chip Menulis string dari memori ke display ALU
system bus memory bus
main memory I/O
bridge
bus interface “hello, world\n”
kode hello
I/O bus Expansion slots p untuk devais lain
Hirarki Memori
register Register pada CPU menyimpan word data yang diambil dari L1 cache
L0: Ukuran semakin kecil,
kecepatan semakin tinggi, harga per bit semakin mahal
on-chip L1 cache (SRAM)
off-chip L2
L1 cache menyimpan baris-baris cache yang diambil dari L2 cache memory.
data yang diambil dari L1 cache.
L1:
L2: harga per bit semakin mahal
main memory (DRAM)
cache (SRAM) L2 cache menyimpan baris-baris cache yang diambil dari main memory
L2:
L3:
(DRAM)
Penyimpan cadangan lokal (h d di k)
Semakin besar, lambat dan murah
Main memory menyimpan blok-blok data yang
diambil dari hard disk
L4:
(hard disk)
Penyimpan cadangan jarak jauh
Hard disk menyimpan file yang diambil dari server jaringan jarak jauh
L5: Penyimpan cadangan jarak jauh L5:
Cache Memory
Untuk mengatasi kesenjangan antara prosesor dan memori, pada sistem komputer terdapat penyimpan kecil berkecepatan tinggi disebut cache memory
Tempat penyimpanan sementara informasi yang sering diperlukan oleh prosesor
L1 cache terdapat dalam chip prosesor, dapat menyimpan puluhan hingga ribuan byte, kecepatan hampir mendekati kecepatan register L2 cache berkapasitas ratusan ribu hingga jutaan byte, terhubung ke
prosesor melalui bus khusus
ALU register file
CPU
L1
prosesor melalui bus khusus
ALU cache
Virtual Memory
Cara pandang dimanasetiap proses k l i t l memory invisible to
setiap proses
menggunakan memori utama secara eksklusif Setiap proses memiliki cara memandang
kernel virtual memory stack
%esp
y user code
cara memandang memori yang sama, disebut ruang alamat virtual
R l i l
Memory mapped region forshared libraries
Ruang alamat virtual tersusun dari :
Program dan data Heap
runtime heap (via malloc)
initialized data (.data) uninitialized data (.bss) the “brk” ptr Heap Shared library Stack Kernel virtual memo
program text (.text) forbidden 0 Ruang alamat virtual proses Linux memory
Arsitektur dan Organisasi
Komputer
p
Arsitektur dan Organisasi
Dalam menjelaskan sistem komputer, suatu
a a
e je as a s ste
o pute , suatu
perbedaan seringkali dibuat antara
Arsitektur
Komputer
dan
Organisasi Komputer
Arsitektur Komputer
Arsitektur adalah
atribut-atribut komputer yang
p
y g
terlihat oleh pemrogram
, atau
atribut-atribut yang memiliki pengaruh langsung
d
k k i l ik
t
pada eksekusi logika suatu program.
Contoh atribut arsitektural :
instruction set instruction set,
jumlah bit yang digunakan untuk merepresentasikan
suatu jenis data (mis. bilangan atau karakter),
Organisasi Komputer
O ganisasi komp te adalah
nit ope asional dan
Organisasi komputer adalah
unit operasional dan
interkoneksinya yang merealisasikan spesifikasi
arsitektural
atau
arsitektural
, atau
bagaimana unit arsitektural ini diimplementasikan.
Atribut organisasi merupakan detail perangkat
Atribut organisasi merupakan detail perangkat
keras yang tidak terlihat oleh pemrogram, mis :
sinyal kontrol,sinyal kontrol,
interface antara komputer dan periferal, teknologi memori yang digunakan.
Arsitektur dan Organisasi
Contoh :Contoh :
Sisi arsitektural :
apakah ada instruksi untuk melakukan proses perkalianp p p Sisi organisasi :
apakah terdapat perangkat keras khusus untuk melakukan
proses perkalian atau menggunakan instruksi penjumlahan proses perkalian, atau menggunakan instruksi penjumlahan (add instruction) secara berulang.
Perangkat keras khusus perlu dibuat dengan pertimbangan :
frekuensi penggunaan instruksi perkalian kecepatan masing frekuensi penggunaan instruksi perkalian, kecepatan masing-masing metoda perkalian, biaya dan ukuran fisik unit perkalian.
Arsitektur dan Organisasi
Banyak manufaktur komputer menawarkan
y
p
berbagai model komputer, yang semuanya
memiliki arsitektur yang sama dengan
organisasi yang berbeda
organisasi yang berbeda
Seluruh keluarga Intel x86 memiliki arsitektur dasar
yang sama
Keluarga IBM System/370 memiliki arsitektur dasar
yang sama
Hal ini memberikan adanya
kompatibilitas
Hal ini memberikan adanya
kompatibilitas
Abstraksi Komputer
O i Application (Netscape) Compiler Operating System (Windows 98) I t ti S t Software AssemblerII5161
I/O system Processor Instruction Set Architecture Datapath & ControlMemory
Hardware
Digital Design Circuit Design
transistors
The Big Picture
g
Both hardware and software consist of hierarchical Both hardware and software consist of hierarchical layers, with each lower layer hiding details from the level above.
This principle of abstraction is the way
both hardware designers and software designers
both hardware designers and software designers
cope with the complexity of computer systems.
One key interface between the levels of abstraction is theinstruction set architecture: the interface between
instruction set architecture: the interface between
the hardware and low-level software. This abstract interface enables many implementations of varying cost and performance to run identical software
cost and performance to run identical software. John L. Hennessy
David A Patterson David A. Patterson
Materi Perkuliahan
1. Repersentai Data dalam p
Bit
danByte
y
2. Representasi dan Operasi
Integer
3. Representasi dan Operasi
Floating Point
4. Pemrograman Bahasa Mesin, Kode Level Mesin
5. Condition Code
, Aliran kontrol dan percabangan6 P d St kt
St k F
6. Prosedur, Struktur
Stack Frame
7. Struktur Data, Alokasi dan Pengaksesan
Array
8 Teknologi Penyimpanan