Anda di halaman 1dari 40

Struktur Sistem Komputer

ARSITEKTUR UMUM
SISTEM KOMPUTER

Sistem Komputer
Sistem komputer terdiri atas CPU dan sejumlah
perangkat pengendali yang terhubung melalui
sebuah bus yang menyediakan akses ke
memori
Setiap device controller (pengendali)
bertanggung-jawab atas sebuah hardware
spesifik.
Setiap device dan CPU dapat beroperasi secara
konkuren (bersamaan) untuk mendapatkan
akses ke memori -> masalah sinkronisasi.
Sebuah memory controller ditambahkan untuk
sinkronisasi akses memori

PROSESOR

Berfungsi mengendalikan operasi


komputer & melakukan fungsi
pemrosesan data. Langkah-langkah yang
dilakukan pemroses :
mengambil instruksi yang dikodekan secara
biner dari memori utama
mendekode instruksi menjadi aksi-aksi
sederhana
melaksanakan aksi aksi

Prosesor
Operasi yang ada di komputer : operasi
logika, operasi aritmatika, operasi
pengendalian
Prosesor terdiri dari :
Control unit (CU) mengendalikan operasi
Arithmetic Logic Unit (ALU) komputasi
(aritmatika dan logika)
Register-register memori cepat sebagai
tempat operasi

Register Prosesor
Mengakses memori untuk mengambil
instruksi memerlukan waktu lebih banyak
daripada menjalankannya diatasi
dengan adanya register di prosesor
Untuk menyimpan variabel-variabel
utama dan hasil sementara sebagai
tempat pemrosesan

Register Prosesor
Program counter berisi alamat memori
dari instruksi selanjutnya yang akan
diambil
Stack pointer pointer yang menunjukkan
bagian atas dari suatu stack di memori
Program status word menyimpan status /
keadaan dari program yang dijalankan
prosesor

MEMORY

Jenis Memori
Main memory : media storage yang dapat
diakses langsung oleh CPU, kapasitas
kecil, volatile
Volatile : isi data hilang jika power dimatikan

Secondary storage : penyimpanan data


dengan kapasitas besar, non-volatile
Non-volatile : data masih tersimpan walaupun
power dimatikan

Register
Bersifat volatile
Berisi data yang akan diolah langsung di
prosesor
Kecepatan sangat tinggi.
Kapasitas terbatas
Sebagai tempat perhitungan/komputasi
data

Cache Memory
Bersifat volatile
Meningkatkan kecepatan pengambilan dan
penyimpanan data di memori oleh prosesor
Jika program membutuhkan data di memori, cache
akan mengecek apakah ada, jika ada dinamakan
cache hit, jika tidak ada maka akan mencari ke RAM,
dengan konsekuensi waktu yg dibutuhkan jd lebih lama
Beberapa mesin mempunyai 2 / 3 level cache, masing2
lebih besar kapasitasnya dan lebih lambat daripada
sebelumnya

Random Access Memory (RAM)


Bersifat volatile
Permintaan CPU yang tidak dapat
dipenuhi di cache, akan menuju ke RAM

Memori Sekunder
Non-volatile
Kapasitas besar, harga murah
Kecepatan lebih rendah dari memori
utama
Contoh : Flash Drive, Optical Disc,
Magnetic Disk, MagneticTape

PERALATAN INPUT OUTPUT


Terdiri 2 bagian :
Komponen elektronis : Controller / pengendali
perangkat
Komponen mekanis : Perangkat itu sendiri

Pengendali perangkat adalah serangkaian chip


yang secara fisik mengendalikan perangkat.
Jenis tiap pengendali berbeda - diperlukan
software yang berbeda juga untuk
mengendalikannya device driver

Device Driver
Berjalan di kernel
Tiga cara memasukkan driver ke kernel :
Menghubungkan kembali kernel dengan driver yang baru
kemudian restart sistem. Banyak digunakan oleh sistem
berbasis UNIX
Masuk ke file sistem operasi dan memberitahu bahwa
membutuhkan driver kemudian restart sistem. Saat boot
semua driver yang diperlukan di-load. Digunakan oleh
Windows
OS mampu menerima driver baru tanpa harus restart.
Contoh : USB flash disk

Metode I/O
Pada saat operasi I/O dijalankan ada dua
kemungkinan, yaitu :
1. Synchronous menunggu sampai proses I/O selesai
Sebuah thread memulai operasi I/O kemudian akan masuk
ke state wait (tunggu) sampai operasi I/O selesai
Ketika dalam state wait, CPU idle

2. Asynchronous proses lain dapat berjalan walaupun


operasi I/O belum selesai
Sebuah thread mengirim permintaan I/O ke kernel dengan
memanggil fungsi yang cocok, jika diterima oleh kernel,
thread akan melanjutkan proses yang lain sampai kernel
memberitahu bahwa operasi I/O sudah selesai. Kemudian
thread tersebut akan melakukan interupsi terhadap proses
yang sedang dikerjakannya dan memproses data operasi I/O

Metode I/O

Direct Memory Access (DMA)


Perangkat pengendali memindahkan data
dalam blok-blok dari buffer langsung ke
memory utama atau sebaliknya tanpa
campur tangan prosesor.
Interupsi hanya terjadi tiap blok bukan tiap
word atau byte data.
Seluruh proses DMA dikendalikan oleh
sebuah controller bernama DMA Controller
(DMAC).

Direct Memory Access (DMA)


DMA Controller mengirimkan atau
menerima signal dari memori dan I/O
device.
Prosesor hanya mengirimkan alamat
awal data, tujuan data, panjang data ke
pengendali DMA.
Interupsi pada prosesor hanya terjadi
saat proses transfer selesai.

Proses DMA

Device-Status Table

BUS
Jalur komunikasi antara beberapa device
yang berbeda
Terdiri 3 macam :
Bus alamat jalur komunikasi alamat
Bus data jalur komunikasi data
Bus kendali jalur sinyal kendali (misal :
read/write)

Bus (Dahulu)

Bus (Sekarang)

FSB bus utama berkecepatan tinggi


yang menghubungkan RAM, Prosesor,
GPU(VGA AGP)
Bridge - Perangkat lain yang lebih lambat
dihubungkan bus berkecepatan lebih
rendah yang terhubung ke bus lain yang
lebih cepat sampai ke bus utama

INTERUPSI
Hardware atau software meminta layanan dari CPU
dan CPU akan menghentikan sementara proses yang
dilakukannya untuk melayani interupsi tersebut
Interupsi dari hardware biasanya dikirimkan melalui
sinyal tertentu
Interupsi software dengan cara menjalankan system
call. System call ini akan menyebabkan trap /
exception (interupsi khusus yang dihasilkan software
karena adanya masalah atau permintaan terhadap
OS)

Interupsi
Setiap interupsi terjadi, sekumpulan kode yang dikenal
sebagai ISR (Interrupt Service Routine) akan
menentukan tindakan yang akan diambil.
Untuk menentukan tindakan yang harus dilakukan,
dapat dilakukan dengan dua cara yaitu :
polling yang membuat komputer memeriksa satu demi satu
perangkat yang ada untuk menyelidiki sumber interupsi
menggunakan alamat-alamat ISR yang disimpan dalam
array yang dikenal sebagai interrupt vector di mana sistem
akan memeriksa Interrupt Vector setiap kali interupsi terjadi.

PROTEKSI PERANGKAT
KERAS
OS akan memproteksi perangkat keras
disebabkan banyaknya penggunaan
sumber daya di komputer
Supaya jika ada satu program yang tidak
bekerja maka tidak akan menganggu
kinerja OS maupun program lain yang
sedang berjalan

Proteksi Perangkat Keras


spooling - suatu program dapat dikerjakan walau
pun I/O masih mengerjakan proses lainnya dan
disk secara bersamaan menggunakan data
untuk banyak proses.
multi programming adalah kegiatan menjalankan
beberapa program pada memori pada satu
waktu.
Masalah - jika terjadi kesalahan pada satu
proses/ program akan berpengaruh pada proses
lainnya diperlukan proteksi

Proteksi Perangkat Keras


Jika terjadi kesalahan program, perangkat keras
akan meneruskan kepada sistem operasi dan
sistem operasi akan menginterupsi dan
mengakhirinya.
Pesan kesalahan disampaikan, dan memori dari
program akan dibuang. Tapi memori yang
terbuang biasanya tersimpan pada disk agar
programmer bisa membetulkan kesalahan dan
menjalankan program ulang.

Proteksi Perangkat Keras

Dual-mode Operation
I/O Protection
Memory Protection
CPU Protection

Operasi Dual Mode


Menyediakan dukungan perangkat keras
untuk membedakan minimal dua mode
operasi yaitu :
Mode Monitor/Kernel/System eksekusi
dikendalikan OS
Mode Pengguna eksekusi dikendalikan user

Operasi Dual Mode


Ketika interrupt atau kesalahan terjadi hardware
di-switch ke monitor mode

Proteksi I/O
Tidak bisa mengerjakan instruksi I/O
secara langsung ke memori tapi harus
lewat sistem operasi terlebih dahulu
(privileged instructions).
instructions)

Proteksi I/O

Proteksi Memori
Pembatasan penggunaan memori.
Prosedur proteksi memory, tambahkan dua
register yang menentukan range legal address
akses program :
Base Register - alamat memori fisik awal yang
dialokasikan/ boleh digunakan oleh pengguna.
Limit Register - nilai batas dari alamat memori fisik
awal yang dialokasikan/boleh digunakan oleh
pengguna.

Memory diluar range yang didefinisikan


diproteksi

Penggunaan Base and Limit


Register

Penggunaan Base and Limit


Register
Sebagai contoh pengguna dibatasi :
base register 1000
limit register 500
hanya diperbolehkan menggunakan alamat
memori sik antara 1000 hingga 1500 saja.

Proteksi CPU
Timer interrupt komputer setelah periode
tertentu untuk memastikan OS memegang
kendali, ketika nilai timer = 0, interrupt terjadi
Timer biasanya digunakan untuk implementasi
time sharing (pembagian waktu)

Anda mungkin juga menyukai