Modul 1 - Struktur Sistem Komputer[1]

40
Struktur Sistem Komputer

Transcript of Modul 1 - Struktur Sistem Komputer[1]

  • Struktur Sistem Komputer

  • ARSITEKTUR UMUMSISTEM KOMPUTER

  • Sistem Komputer Sistem komputer terdiri atas CPU dan sejumlahperangkat pengendali yang terhubung melaluisebuah bus yang menyediakan akses kememori Setiap device controller (pengendali)bertanggung-jawab atas sebuah hardwarespesifik. Setiap device dan CPU dapat beroperasi secarakonkuren (bersamaan) untuk mendapatkanakses ke memori -> masalah sinkronisasi. Sebuah memory controller ditambahkan untuksinkronisasi akses memori

    Sistem komputer terdiri atas CPU dan sejumlahperangkat pengendali yang terhubung melaluisebuah bus yang menyediakan akses kememori Setiap device controller (pengendali)bertanggung-jawab atas sebuah hardwarespesifik. Setiap device dan CPU dapat beroperasi secarakonkuren (bersamaan) untuk mendapatkanakses ke memori -> masalah sinkronisasi. Sebuah memory controller ditambahkan untuksinkronisasi akses memori

  • PROSESOR Berfungsi mengendalikan operasikomputer & melakukan fungsi pemrosesandata. Langkah-langkah yang dilakukanpemroses : mengambil instruksi yang dikodekan secarabiner dari memori utama

    mendekode instruksi menjadi aksi-aksisederhana

    melaksanakan aksi aksi

    Berfungsi mengendalikan operasikomputer & melakukan fungsi pemrosesandata. Langkah-langkah yang dilakukanpemroses : mengambil instruksi yang dikodekan secarabiner dari memori utama

    mendekode instruksi menjadi aksi-aksisederhana

    melaksanakan aksi aksi

  • Prosesor Operasi yang ada di komputer : operasilogika, operasi aritmatika, operasipengendalian

    Prosesor terdiri dari : Control unit (CU) mengendalikan operasi Arithmetic Logic Unit (ALU) komputasi(aritmatika dan logika)

    Register-register memori cepat sebagaitempat operasi

    Operasi yang ada di komputer : operasilogika, operasi aritmatika, operasipengendalian

    Prosesor terdiri dari : Control unit (CU) mengendalikan operasi Arithmetic Logic Unit (ALU) komputasi(aritmatika dan logika)

    Register-register memori cepat sebagaitempat operasi

  • Register Prosesor Mengakses memori untuk mengambil

    instruksi memerlukan waktu lebih banyakdaripada menjalankannya diatasidengan adanya register di prosesor

    Untuk menyimpan variabel-variabelutama dan hasil sementara sebagaitempat pemrosesan

    Mengakses memori untuk mengambilinstruksi memerlukan waktu lebih banyakdaripada menjalankannya diatasidengan adanya register di prosesor

    Untuk menyimpan variabel-variabelutama dan hasil sementara sebagaitempat pemrosesan

  • Register Prosesor Program counter berisi alamat memori

    dari instruksi selanjutnya yang akandiambil

    Stack pointer pointer yang menunjukkanbagian atas dari suatu stack di memori

    Program status word menyimpan status/ keadaan dari program yang dijalankanprosesor

    Program counter berisi alamat memoridari instruksi selanjutnya yang akandiambil

    Stack pointer pointer yang menunjukkanbagian atas dari suatu stack di memori

    Program status word menyimpan status/ keadaan dari program yang dijalankanprosesor

  • MEMORY

  • Jenis Memori Main memory : media storage yangMain memory : media storage yang dapatdapatdiaksesdiakses langsunglangsung oleholeh CPU,CPU, kapasitaskapasitaskecilkecil,, volatilevolatile Volatile :Volatile : isiisi datadata hilanghilang jikajika powerpower dimatikandimatikan

    Secondary storage :Secondary storage : penyimpananpenyimpanan datadatadengandengan kapasitaskapasitas besarbesar,, nonnon--volatilevolatile NonNon--volatile : datavolatile : data masihmasih tersimpantersimpan walaupunwalaupunpowerpower dimatikandimatikan

    Main memory : media storage yangMain memory : media storage yang dapatdapatdiaksesdiakses langsunglangsung oleholeh CPU,CPU, kapasitaskapasitaskecilkecil,, volatilevolatile Volatile :Volatile : isiisi datadata hilanghilang jikajika powerpower dimatikandimatikan

    Secondary storage :Secondary storage : penyimpananpenyimpanan datadatadengandengan kapasitaskapasitas besarbesar,, nonnon--volatilevolatile NonNon--volatile : datavolatile : data masihmasih tersimpantersimpan walaupunwalaupunpowerpower dimatikandimatikan

  • Register Bersifat volatile Berisi data yang akan diolah langsung diprosesor

    Kecepatan sangat tinggi. Kapasitas terbatas Sebagai tempat perhitungan/komputasidata

    Bersifat volatile Berisi data yang akan diolah langsung diprosesor

    Kecepatan sangat tinggi. Kapasitas terbatas Sebagai tempat perhitungan/komputasidata

  • Cache Memory Bersifat volatile Meningkatkan kecepatan pengambilan danpenyimpanan data di memori oleh prosesor

    Jika program membutuhkan data di memori,cache akan mengecek apakah ada, jika adadinamakan cache hit, jika tidak ada makaakan mencari ke RAM, dengan konsekuensiwaktu yg dibutuhkan jd lebih lama

    Beberapa mesin mempunyai 2 / 3 levelcache, masing2 lebih besar kapasitasnya danlebih lambat daripada sebelumnya

    Bersifat volatile Meningkatkan kecepatan pengambilan danpenyimpanan data di memori oleh prosesor

    Jika program membutuhkan data di memori,cache akan mengecek apakah ada, jika adadinamakan cache hit, jika tidak ada makaakan mencari ke RAM, dengan konsekuensiwaktu yg dibutuhkan jd lebih lama

    Beberapa mesin mempunyai 2 / 3 levelcache, masing2 lebih besar kapasitasnya danlebih lambat daripada sebelumnya

  • Random Access Memory (RAM) Bersifat volatile Permintaan CPU yang tidak dapatdipenuhi di cache, akan menuju ke RAM

  • Memori Sekunder Non-volatile Kapasitas besar, harga murah Kecepatan lebih rendah dari memoriutama

    Contoh : Flash Drive, Optical Disc,Magnetic Disk, MagneticTape

    Non-volatile Kapasitas besar, harga murah Kecepatan lebih rendah dari memoriutama

    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 fisikmengendalikan perangkat.

    Jenis tiap pengendali berbeda -diperlukan software yang berbeda jugauntuk mengendalikannya device driver

    Terdiri 2 bagian : Komponen elektronis : Controller /

    pengendali perangkat Komponen mekanis : Perangkat itu sendiri

    Pengendali perangkat adalahserangkaian chip yang secara fisikmengendalikan perangkat.

    Jenis tiap pengendali berbeda -diperlukan software yang berbeda jugauntuk mengendalikannya device driver

  • Device Driver Berjalan di kernel Tiga cara memasukkan driver ke kernel :

    Menghubungkan kembali kernel dengan driveryang baru kemudian restart sistem. Banyakdigunakan oleh sistem berbasis UNIX

    Masuk ke file sistem operasi dan memberitahubahwa membutuhkan driver kemudian restartsistem. Saat boot semua driver yang diperlukandi-load. Digunakan oleh Windows

    OS mampu menerima driver baru tanpa harusrestart. Contoh : USB flash disk

    Berjalan di kernel Tiga cara memasukkan driver ke kernel :

    Menghubungkan kembali kernel dengan driveryang baru kemudian restart sistem. Banyakdigunakan oleh sistem berbasis UNIX

    Masuk ke file sistem operasi dan memberitahubahwa membutuhkan driver kemudian restartsistem. Saat boot semua driver yang diperlukandi-load. Digunakan oleh Windows

    OS mampu menerima driver baru tanpa harusrestart. Contoh : USB flash disk

  • Metode I/O Pada saat operasi I/O dijalankan ada duakemungkinan, yaitu :1.Synchronous menunggu sampai proses I/O selesai

    Sebuah thread memulai operasi I/O kemudian akan masukke state wait (tunggu) sampai operasi I/O selesai

    Ketika dalam state wait, CPU idle2.Asynchronous proses lain dapat berjalan walaupunoperasi 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 kernelmemberitahu bahwa operasi I/O sudah selesai. Kemudianthread tersebut akan melakukan interupsi terhadap prosesyang sedang dikerjakannya dan memproses data operasiI/O

    Pada saat operasi I/O dijalankan ada duakemungkinan, yaitu :1.Synchronous menunggu sampai proses I/O selesai

    Sebuah thread memulai operasi I/O kemudian akan masukke state wait (tunggu) sampai operasi I/O selesai

    Ketika dalam state wait, CPU idle2.Asynchronous proses lain dapat berjalan walaupunoperasi 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 kernelmemberitahu bahwa operasi I/O sudah selesai. Kemudianthread tersebut akan melakukan interupsi terhadap prosesyang sedang dikerjakannya dan memproses data operasiI/O

  • Metode I/O

  • Direct Memory Access (DMA) Perangkat pengendali memindahkan data

    dalam blok-blok dari buffer langsung kememory utama atau sebaliknya tanpacampur tangan prosesor.

    Interupsi hanya terjadi tiap blok bukantiap word atau byte data.

    Seluruh proses DMA dikendalikan olehsebuah controller bernama DMAController (DMAC).

    Perangkat pengendali memindahkan datadalam blok-blok dari buffer langsung kememory utama atau sebaliknya tanpacampur tangan prosesor.

    Interupsi hanya terjadi tiap blok bukantiap word atau byte data.

    Seluruh proses DMA dikendalikan olehsebuah controller bernama DMAController (DMAC).

  • Direct Memory Access (DMA) DMA Controller mengirimkan atau

    menerima signal dari memori dan I/Odevice.

    Prosesor hanya mengirimkan alamat awaldata, tujuan data, panjang data kepengendali DMA.

    Interupsi pada prosesor hanya terjadi saatproses transfer selesai.

    DMA Controller mengirimkan ataumenerima signal dari memori dan I/Odevice.

    Prosesor hanya mengirimkan alamat awaldata, tujuan data, panjang data kepengendali DMA.

    Interupsi pada prosesor hanya terjadi saatproses transfer selesai.

  • Proses DMAProses DMA

  • DeviceDevice--Status TableStatus Table

  • BUS Jalur komunikasi antara beberapa deviceyang berbeda

    Terdiri 3 macam : Bus alamat jalur komunikasi alamat Bus data jalur komunikasi data Bus kendali jalur sinyal kendali (misal :read/write)

    Jalur komunikasi antara beberapa deviceyang 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 tinggiyang menghubungkan RAM, Prosesor,GPU(VGA AGP)

    Bridge - Perangkat lain yang lebih lambatdihubungkan bus berkecepatan lebihrendah yang terhubung ke bus lain yanglebih cepat sampai ke bus utama

    FSB bus utama berkecepatan tinggiyang menghubungkan RAM, Prosesor,GPU(VGA AGP)

    Bridge - Perangkat lain yang lebih lambatdihubungkan bus berkecepatan lebihrendah yang terhubung ke bus lain yanglebih cepat sampai ke bus utama

  • INTERUPSI Hardware atau software meminta layanan

    dari CPU dan CPU akan menghentikansementara proses yang dilakukannya untukmelayani interupsi tersebut

    Interupsi dari hardware biasanya dikirimkanmelalui sinyal tertentu

    Interupsi software dengan cara menjalankansystem call. System call ini akanmenyebabkan trap / exception (interupsikhusus yang dihasilkan software karenaadanya masalah atau permintaan terhadapOS)

    Hardware atau software meminta layanandari CPU dan CPU akan menghentikansementara proses yang dilakukannya untukmelayani interupsi tersebut

    Interupsi dari hardware biasanya dikirimkanmelalui sinyal tertentu

    Interupsi software dengan cara menjalankansystem call. System call ini akanmenyebabkan trap / exception (interupsikhusus yang dihasilkan software karenaadanya masalah atau permintaan terhadapOS)

  • Interupsi Setiap interupsi terjadi, sekumpulan kode yang

    dikenal sebagai ISR (Interrupt Service Routine)akan menentukan tindakan yang akan diambil.

    Untuk menentukan tindakan yang harusdilakukan, dapat dilakukan dengan dua carayaitu : polling yang membuat komputer memeriksa satu

    demi satu perangkat yang ada untuk menyelidikisumber interupsi

    menggunakan alamat-alamat ISR yang disimpandalam array yang dikenal sebagai interrupt vectordi mana sistem akan memeriksa Interrupt Vectorsetiap kali interupsi terjadi.

    Setiap interupsi terjadi, sekumpulan kode yangdikenal sebagai ISR (Interrupt Service Routine)akan menentukan tindakan yang akan diambil.

    Untuk menentukan tindakan yang harusdilakukan, dapat dilakukan dengan dua carayaitu : polling yang membuat komputer memeriksa satu

    demi satu perangkat yang ada untuk menyelidikisumber interupsi

    menggunakan alamat-alamat ISR yang disimpandalam array yang dikenal sebagai interrupt vectordi mana sistem akan memeriksa Interrupt Vectorsetiap kali interupsi terjadi.

  • PROTEKSI PERANGKATKERAS

    OS akan memproteksi perangkat kerasdisebabkan banyaknya penggunaansumber daya di komputer

    Supaya jika ada satu program yang tidakbekerja maka tidak akan menganggukinerja OS maupun program lain yangsedang berjalan

    OS akan memproteksi perangkat kerasdisebabkan banyaknya penggunaansumber daya di komputer

    Supaya jika ada satu program yang tidakbekerja maka tidak akan menganggukinerja OS maupun program lain yangsedang berjalan

  • Proteksi Perangkat Keras spooling - suatu program dapat dikerjakan walaupun I/O masih mengerjakan proses lainnya dandisk secara bersamaan menggunakan datauntuk banyak proses.

    multi programming adalah kegiatan menjalankanbeberapa program pada memori pada satuwaktu.

    Masalah - jika terjadi kesalahan pada satuproses/ program akan berpengaruh pada proseslainnya diperlukan proteksi

    spooling - suatu program dapat dikerjakan walaupun I/O masih mengerjakan proses lainnya dandisk secara bersamaan menggunakan datauntuk banyak proses.

    multi programming adalah kegiatan menjalankanbeberapa program pada memori pada satuwaktu.

    Masalah - jika terjadi kesalahan pada satuproses/ program akan berpengaruh pada proseslainnya diperlukan proteksi

  • Proteksi Perangkat Keras Jika terjadi kesalahan program, perangkat kerasakan meneruskan kepada sistem operasi dansistem operasi akan menginterupsi danmengakhirinya.

    Pesan kesalahan disampaikan, dan memori dariprogram akan dibuang. Tapi memori yangterbuang biasanya tersimpan pada disk agarprogrammer bisa membetulkan kesalahan danmenjalankan program ulang.

    Jika terjadi kesalahan program, perangkat kerasakan meneruskan kepada sistem operasi dansistem operasi akan menginterupsi danmengakhirinya.

    Pesan kesalahan disampaikan, dan memori dariprogram akan dibuang. Tapi memori yangterbuang biasanya tersimpan pada disk agarprogrammer bisa membetulkan kesalahan danmenjalankan program ulang.

  • Proteksi Perangkat KerasProteksi Perangkat Keras DualDual--mode Operationmode Operation I/O ProtectionI/O Protection Memory ProtectionMemory Protection CPU ProtectionCPU Protection

    DualDual--mode Operationmode Operation I/O ProtectionI/O Protection Memory ProtectionMemory Protection CPU ProtectionCPU Protection

  • Operasi Dual Mode Menyediakan dukungan perangkat kerasuntuk membedakan minimal dua modeoperasi yaitu : Mode Monitor/Kernel/System eksekusidikendalikan OS

    Mode Pengguna eksekusi dikendalikan user

    Menyediakan dukungan perangkat kerasuntuk membedakan minimal dua modeoperasi yaitu : Mode Monitor/Kernel/System eksekusidikendalikan OS

    Mode Pengguna eksekusi dikendalikan user

  • Operasi Dual Mode Ketika interrupt atau kesalahan terjadi hardwareKetika interrupt atau kesalahan terjadi hardwaredidi--switch ke monitor modeswitch ke monitor mode

  • Proteksi I/O Tidak bisa mengerjakan instruksi I/Osecara langsung ke memori tapi haruslewat sistem operasi terlebih dahulu(privileged instructions)privileged instructions).

    Tidak bisa mengerjakan instruksi I/Osecara langsung ke memori tapi haruslewat sistem operasi terlebih dahulu(privileged instructions)privileged instructions).

  • Proteksi I/O

  • Proteksi Memori Pembatasan penggunaan memori. Prosedur proteksi memory, tambahkan duaProsedur proteksi memory, tambahkan duaregister yang menentukan rangeregister yang menentukan range legal addresslegal addressakses program :akses program : Base Register - alamat memori fisik awal yangdialokasikan/ boleh digunakan oleh pengguna.

    Limit Register - nilai batas dari alamat memori fisikawal yang dialokasikan/boleh digunakan olehpengguna.

    Memory diluar range yang didefinisikanMemory diluar range yang didefinisikandiproteksidiproteksi

    Pembatasan penggunaan memori. Prosedur proteksi memory, tambahkan duaProsedur proteksi memory, tambahkan duaregister yang menentukan rangeregister yang menentukan range legal addresslegal addressakses program :akses program : Base Register - alamat memori fisik awal yangdialokasikan/ boleh digunakan oleh pengguna.

    Limit Register - nilai batas dari alamat memori fisikawal yang dialokasikan/boleh digunakan olehpengguna.

    Memory diluar range yang didefinisikanMemory diluar range yang didefinisikandiproteksidiproteksi

  • Penggunaan Base and LimitPenggunaan Base and LimitRegisterRegister

  • Penggunaan Base and LimitPenggunaan Base and LimitRegisterRegister

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

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

  • Proteksi CPUProteksi CPU TimerTimer interruptinterrupt komputerkomputer setelahsetelah periodeperiodetertentutertentu untukuntuk memastikanmemastikan OSOS memegangmemegangkendalikendali,, ketikaketika nilainilai timer = 0, interrupttimer = 0, interrupt terjaditerjadi

    TimerTimer biasanyabiasanya digunakandigunakan untukuntuk implementasiimplementasitime sharingtime sharing ((pembagianpembagian waktuwaktu))

    TimerTimer interruptinterrupt komputerkomputer setelahsetelah periodeperiodetertentutertentu untukuntuk memastikanmemastikan OSOS memegangmemegangkendalikendali,, ketikaketika nilainilai timer = 0, interrupttimer = 0, interrupt terjaditerjadi

    TimerTimer biasanyabiasanya digunakandigunakan untukuntuk implementasiimplementasitime sharingtime sharing ((pembagianpembagian waktuwaktu))

    Struktur Sistem KomputerArsitektur Umum Sistem KomputerSistem KomputerPROSESORProsesorRegister ProsesorRegister ProsesorMEMORYJenis MemoriRegisterCache MemoryRandom Access Memory (RAM)Memori SekunderPERALATAN INPUT OUTPUTDevice DriverMetode I/OMetode I/OSlide51Direct Memory Access (DMA)Direct Memory Access (DMA)Slide44Slide22BUSBus (Dahulu)Bus (Sekarang)Slide58INTERUPSIInterupsiPROTEKSI PERANGKAT KERASProteksi Perangkat KerasProteksi Perangkat KerasSlide26Operasi Dual ModeOperasi Dual ModeProteksi I/OProteksi I/OProteksi MemoriSlide36Penggunaan Base and Limit RegisterSlide38