Rabu, 24 Juni 2009

Tugas Makalah Arsitektur Komputer

ARSITEKTUR KOMPUTER

Pengertian Dasar
Organisasi dan Arsitektur Komputer
Ada sedikit perbedaan antara Organisasi Komputer dan Arsitektur Komputer.
 Arsitektur Komputer membahas hal-hal yang berkaitan dengan atribut-atribut yang terlihat atau yang dipertimbangkan oleh pemrogram dan yang memiliki dampak langsung pada eksekusi logis sebuah program. Dengan kata lain arsitektur computer membahas masalah-masalah yang berkaitan dengan fungsi komponen-komponen computer.
Contoh atribut arsitektural adalah :
- set instruksi
- representasi data atau jumlah bit yang digunakan untuk merepresentasikan jenis data (missal:bilangan, karakter, dll)
- Mekanisme input/output (I/O)
- Teknik Pengalamatan memori

 Organisasi Komputer membahas bagaimana semua fungsi-fungsi computer tersebut dapat diimplementasikan. Jadi, organisasi computer membahas hal-hal yang berkaitan dengan unit-unit operasional dan interkoneksinya yang mereliasasikan spesifikasi arsitektural.
Dengan kata lain, organisasi computer membahas masalah-masalah yang berkaitan dengan struktur computer.

Organisasional meliputi rincian hardware yang dapat diketahui oleh pemrogram, missal :
- Sinyal-sinyal control
- Struktur Komputer
- Interface computer dan peripheral
- Teknologi memori yang digunakan
- Teknik-teknik pengalamatan memori, dll

Struktur dan Fungsi Dasar Komputer
• Struktur menggambarkan bagaimana masing-masing komponen computer saling berhubungan untuk melaksanakan fungsi.
• Fungsi dasar (basic fuction) menggambarkan bagaimana masing-masing komponen beroperasi sebagai bagian dari struktur.

Fungsi Dasar Komputer
 Fungsi dasar Komputer
- Pengolahan data
- Penyimpanan data
- Pemindahan data (dari system computer ke peralatan luar computer)
- kontrol

RUANG LINGKUP OPERASI
(Sumber dan Tujuan Data)













Gambar 1. Diagram Fungsi Komputer




STRUKTUR DASAR KOMPUTER
Ada empat komponen utama dalam struktur sebuah computer, yaitu:
1. Bagian prosesor (CPU)
2. Bagian memori (RAM & ROM)
3. Bagian masukan/keluaran (I/O)
4. Sistem Interkoneksi (bus syatem)











Gambar 2. Struktur Dasar Komputer

1. Pemroses atau Prosesor (CPU)
CPU adalah otak dari sistem komputer. Pekerjaan utama dari CPU adalah mengerjakan program yang terdiri atas instruksi-instruksi yang diprogram oleh programmer. Suatu program komputer akan menginstruksikan CPU untuk membaca informasi dari piranti input, membaca informasi dari dan menulis informasi ke memori, dan untuk menulis informasi ke output.

Dalam mikrokontroler umumnya hanya ada satu program yang bekerja dalam suatu aplikasi. CPU M68HC05 mengenali hanya 60 instruksi yang berbeda. Karena itu sistem komputer ini sangat cocok dijadikan model untuk mempelajari dasar dari operasi komputer karena dimungkinkan untuk menelaah setiap operasi yang dikerjakan.


Fungsi CPU lebih rinci :
• Berfungsi untuk mengendalikan opeasi computer dan melakukan fungsi pemrosesan data.
• Pemroses melakukan operasi logika dan mengelola aliran data dengan membaca instruksi dari memori dan mengeksekusinya.
• Langkah kerja pemroses :
a. mengambil instruksi biner dari memori
b. Mendekode instruksi menjadi aksi sederhana
c. Melakukan aksi
• 3 tipe operasi computer :
i. Operasi aritmatika (ADD, SUBSTRACT, MULTIPLY, DIVIDE)
ii. Operasi LOgika (OR, AND, XOR, INVERTION)
iii. Operasi pengendalian (LOOP, JUMP)

• Pemroses terdiri dari :
a. ALU (Aritmatic Logic Unit)
Berfungsi untuk melakukan operasi aritmatika dan loika.
b. CU (Control Unit)
Berfungsi untukmengendalikan operasi yang dilaksanakan system computer.
c. Register-register
Berfungsi untuk :
- Membantu pelaksanaan operasi yang dilakukan pemroses
- Sebagai memori yang bekerja secara cepat, biasanya untuk tempat operand-operand dari operasi yang akan dilakukan.
- Terbagi menjadi register data dan register alamat.
- Register data terdiri dari general dan special purpose register.
- Registe alamat berisi :
a. Alamat data di memori utama
b. Alamat instruksi
c. Alamat untuk perhitungan alamat lengkap
Contoh:register indeks, register penunjuk segmen, register penunjuk stack, register penanda (flag)
• Pemroses melakukan tugasnya dengan mengeksekusi instruksi-instruksi di program engan mekanisme instruksi sebagai berikut :
a. Pemroses membaca instruksi dari memori (fetch)
b. Pemroses mengeksekusi instruksi (execute)
• Eksekusi program berisi pengulangan fetch dan execute. Pemrosesan satu instruksi disebut satu siklus instruksi (instruction Cycle)





Gambar 1-1 : Siklus Eksekusi Instruksi

Register-register CPU

CPU yang berbeda memiliki set register yang berbeda pula. Perbedaan utama terletak pada jumlah dan ukuran dari register itu sendiri. Dalam gambar 4.1 diperlihatkan register-register CPU yang terdapat dalam mikrokontroler keluarga M68HC05.


Register A berukuran 8 bit, juga dikenal sebagai akumulator karena register ini digunakan untuk menyimpan hasil dari operasi aritmatika dan manipulasi data. Register ini juga dapat langsung diakses untuk operasi non-aritmatika. Akumulator digunakan dalam proses eksekusi dari program saat isi dari beberapa lokasi memori yang digunakan di-load ke akumulator. Demikian juga instruksi penyimpanan akan menyebabkan isi dari akumulator disimpan dalam memori yang telah ditentukan.
Register X adalah index register yang berukuran 8 bit. Kegunaan utama dari index register ini adalah untuk menunjukkan suatu area memori di mana CPU akan mengambil atau menuliskan suatu informasi. Kadang-kadang index register juga disebut dengan pointer register. PC atau program counter digunakan CPU untuk menata urutan alamat instruksi yang akan dikerjakan. Saat CPU reset atau baru dihidupkan, PC ini dimuati dengan alamat yang telah ditentukan dalam reset vector. Lokasi reset vector ini berisi alamat dari instruksi pertama yang akan dikerjakan oleh CPU. Saat suatu instruksi dikerjakan, CPU akan menambah isi PC sehingga akan menunjuk ke alamat informasi berikutnya yang akan dibutuhkan CPU. Jumlah bit dari PC sama persis dengan jumlah jalur bus alamat. Isi dari register ini dinyatakan dalam empat digit heksadesimal di mana enam bit teratas selalu nol karena hanya 10 bit jalur bus alamat.
CCR atau condition code register adalah register dengan ukuran 8 bit, yang menyimpan indikator status dari hasil operasi CPU sebelumnya. Terdapat tiga bit teratas tidak digunakan dan selalu sama dengan logika satu. Instruksi percabangan menggunakan bit-bit status dalam register ini untuk mengerjakan suatu keputusan percabangan. Isi dari CCR ini adalah sebuah interrupt mask dan empat indikator status seperti pada gambar 4.1. Kelima flag tersebut adalah H atau half cary, N atau negative, Z atau zero, dan C atau carry/borrow.
Flag H (half carry) digunakan untuk operasi aritmatika BCD (Binary Coded Decimal) dan dipengaruhi oleh kerja instruksi ADD dan ADC. Bit H ini akan set jika ada carry yang timbul dari digit heksadesimal 0-3 (low order) dan digit desimal 4-7 (high order). Bit I (interrupt mask) bukanlah status flag tetapi merupakan bit yang akan men-nonaktif-kan semua sumber interrupt yang maskable saat bit ini diset. Interrupt baru akan aktif jika bit ini nol. Jika ada interrupt eksternal yang terjadi saat bit I diset, maka interrupt tersebut akan di-latch dan akan diproses saat bit I dinolkan. Karena itu, interrupt yang terjadi tidak akan hilang. Setelah interrupt ditangani, instruksi RTI (return from interrupt) akan menyebabkan register ini dikembalikan ke nilai semula. Umumnya, bit I ini akan menjadi nol setelah instruksi RTI dilaksanakan.


Flag N (negative) akan diset jika hasil dari operasi aritmatika, logika, maupun manipulasi data yang terakhir adalah negatif. Nilai negatif dalam two's complement ditandai jika bit MSB adalah satu. Flag Z (zero) diset jika hasil dari operasi aritmatika, logika, maupun manipulasi data terakhir adalah nol. Instruksi perbandingan (compare) akan mengurangi suatu harga dari suatu lokasi memori yang akan dites. Jika nilainya sama, maka bit Z ini akan diset. Flag C (carry/borrow) digunakan untuk menandai apakah ada carry dari hasil operasi tambah atau ada borrow darioperasi pengurangan. Instruksi shift dan rotate juga dapat memakai bit C ini.
SP atau stack pointer digunakan sebagai pointer ke lokasi yang tersedia berikutnya dalam tumpukan stack dalam uruatn LIFO (last-in first-out). Stack ini dapat dianalogikan sebagai tumpukan kartu. Setiap kartu menyimpan satu byte (8 bit) informasi. Dalam suatu saat, CPU dapat menaruh satu kartu di atas tumpukan kartu tersebut maupun mengambil satu kartu dari tumpukan. Kartu di dalam tumpukan tidak dapat diambil kecuali jika kartu di atasnya sudah diambil sebelumnya. Stack mirip dengan tumpukan kartu ini hanya saja dalam fisiknya, stack mempunyai arah tumpukan ke bawah bukan ke atas seperti pada tumpukan kartu.
SP akan menunjuk pada alamat stack yang akan tersedia berikutnya. Jika CPU menaruh informasi dalam stack, maka data tersebut akan dituliskan dalam memori yang ditunjukkan oleh nilai SP saat itu, dan kemudian nilai SP akan dikurangi satu sehingga SP akan menunjukkan ke lokasi memori berikutnya yang kosong untuk digunakan sebagai penyimpan berikutnya. Jika CPU mengambil data dari stack, SP akan ditambah satu sehingga menunjukkan ke lokasi stack yang terakhir, dan kemudian data diambil dan dibaca oleh CPU. Saat CPU pertama kali dihidupkan atau setelah instruksi Reset Stack Pointer (RSP), maka SP akan menunjukkan memori tertentu dalam RAM.

2. Memori
• Berfungsi untuk menyimpan data dan program
• Biasanya volatile, tidak dapat mempertahankan data dan program yang disimpan bila sumber daya energi (listrik) dihentikan.
• Konsep program tersimpan (stored program concept), yaitu program (kumpulan instruksi) yang disimpan disuatu tempat (memori) dimana kemudian instruksi tersebut dieksekusi.
• Setiap kali pemroses melakukan eksekusi, pemroses harus membaca instruksio dari memori utama. Agar eksekusi dikakukan secara cepat maka harus diusahakan instruksi tersedia di memori pada lapisan berkecepatan akses lebih tinggi. Kecepatan eksekusi iniakan meningkatkan kinerja system.
• Hirarki memori berdasarkan kecepatan aksea :
- Register (tercepat)
- Chace memory
Memori berkapasitas terbatas, berkecepatan tinggi yang lebh mahal disbanding memori utama. Chace memory adalah diantara memori utama dan register, sehingga pemroses tidak langsung mengacu memori utama tetapi di chace memory yang kecepatan aksesnya lebih tinggi.
- Main memory
- Disk chace (buffering)
Bagian memori utama menampung data yang akan ditransfer dari/ke perangkat masukan/keluaran dan penyimpanan sekunder. Buffering dapat mengurangi frekuensi pengaksesan dari/ke perangkat masukan/keluaran dan penyimpanan sekunder sehingga meningkatkan kinerja system.
- Magnetic disk
- Magnetic tape, optical disk (terlambat)

3. Perangkat Masukan dan Keluaran (I/O)
• Adalah perangkat nyata yang dikendalikan chip controller di board system atau card.
• Controller dihubungkan dengan pemroses dan komponen lainya melalui bus.
• Controller mempunyai register-register untuk pengendaliannya yang berisi status kendali.
• Tiap controller dibuat agar dapat dialamati secara individu oleh pemroses sehingga perangkat lunak device driver dapat menulis ke register-registernya sehingga dapat mengendalikannya.
• Sistem operasi lebih berkepentingan dengan pengendali disbanding dengan perangkat fisik mekanis.
• Perangkat I/O juga memindahkan data antara kmputer dan lingkungan eksternal
• Lingkungan eksternal dapat diantarmuka (interface) dengan beragam perangkat, seperti :
a. Perangkat penyimpan skunder.
b. Perangkat komunikasi
c. Terminal

4. Interkoneksi Antar Komponen
• Adalah struktur dan mekanisme untuk menghubungkan antar komponen dalam system computer yang disebut bus.
• Bus terdiri dari tiga macam, yaitu :
a. Bus alamat (address bus)
Berisi 16, 20, 24 jalur sinyal parallel atau lebih. CPU mengirim alamat lokasi memori atau port yang ingin ditulis atau dibaca di bus ini. Jumlah lokasi memori yang dapat dialamati ditentukan jumlah jalur alamat. Jika CPU mempunyai N (2N) lokasi memori dan/atau port secara langsung.
b. Bus data (data bus)
Berisi 8, 16, 32 jalur sinyal parallel atau lebih. Jalur-jalur data adalah dua arah (bidirectional). CPU dapat membaca dan mengirim data dar/ke memori atau port. Banyak perangkat pada system yang dihubungkan ke bus data tetapi hanya satu perangkat pada satu saat yang dapat memakainnya.
c. Bus kendali (control bus)
Berisi 4-10 jalur sinyal parallel. CPU mengirim sinyal-sinyal pada vbus kendali untuk memerintahkan memori atau port. Sinyal bus kendali antara lain :
- Memory read
Untuk memerintahkan melakukan pembacaan dari memori.
- Memory Write
Untuk memerintahkan melakukan penulisan ke memori.
- I/O read
Untuk memerintahkan melakukan pembacaan dari port I/O
- I/O write
Untuk memerintahkan melakukan pembacaan ke port I/O
• Mekanisme Pembacaan
Untuk membaca data suatu lokasi memori CPU mengirim lamat memori yang dikehendaki melalui bus alamat kemudian mengirim sinyal memory read pada bus kendali. Sinyal tersebut memerintahkan ke perangkat memori untuk mengeluarkan data pada lokasi tersebut ke bus data agar di baca CPU.
• Interkoneksi antar komponen ini membentuk satu system sendiri, seperti ISA (Industry Standard Architecture), EISA (Extended ISA) dan PCI (Peripheral Component Interconnect)
• Secara fisik interkoneksi antar komponen berupa “perkawatan”.
• Interkoneksi memerlukan tata cara atau aturan komunikasi agar tidak kacau (chaos) sehingga mencapai tujuan yang diharapkan.

Secara sederhana, diagram sebuah mikrokomputer dapat digambarkan sebagai berikut :

Interupsi
Alamat, Data,
Instruksi Instruksi,
Data
Dari dan
ke dunia luar
Direct memory Acces

Gambar 3. Diagram Blok Mikrokomputer







Bagian Kontrol
Bagian control (Central processing unit/CPU) bertugas untuk mengambil data/instruksi, menerjrmahkan (mengkompilasi), melaksanakan dan mengirim ke bagian I/O.
Dalam satu siklus instruksi, CPU melaksanakan berbagai tugas sbb :
1. Menempatkan adres instruksi (instruction address) ke dalam memory address bus,
2. Mengambil instruksi dari dari input data bus dan memberikan kodenya (menterjemahkan),
3. Mengambil adresm dan data yang diperlukan oleh instruksi. Adres dan data bias berada dalam memori atau dalam register.
4. melaksanakan operasi yang telah didefenisikan dalam kode instruksi. Operasi dapat berupa fungsi aritmatika, fungsi logika, transfer data ataupun fungsi manajemen.
5. memeriksa sinyal control, apakah ada interupsi, dll
6. Memberikan sinyal status, control, “tinggi”, dll. Yang memberitahukan apakah menggunakan memori atau I/O.

Bagian Memori
Ide dasar dari semua memori adalah kemampuan untuk menyimpan informasi. Tentu saja informasi yang disimpan dapat dipanggil atau diolah kembali bila diperlukan. Sebagai analogi, memori dimisalkan sebagai sekelompok kotak surat dalam suatu apartemen yang besar. Seseorang dapat meletakkan informasi dalam suatu kotak surat dengan nomor tertentu yang tertera. Jika pemilik ingin mengambil informasi tersebut, pemilik dapat melihat ke kotak suratnya dengan nomor yang tepat dan mengambil informasinya.

Dalam CPU 8 bit, setiap kotak surat dalam analogi di atas terdiri dari delapan set saklar on-off. Data atau informasi yang diberikan merupakan kondisi dari setiap saklar. Setiap saklar hanya ada dua kondisi yaitu on dan off, sehingga informasi yang terkandung di dalamnya adalah kombinasi on-off. Dalam delapan saklar tersebut, setiap saklar mewakili satu digit biner (bit). Bit satu mewkili saklar on dan bit nol mewakili saklar off. Setiap satu set 8 saklar mempunyai alamat spesifik sehingga penulisan dan pembacaan data dapat dilakukan dengan tepat dan benar.

Dalam analogi, apartemen dapat memiliki nomor kotak surat 100-175 untuk lantai pertama dan 200-275 untuk lantai kedua. Angka desimal ini menggambarkan jumlah orang yang memiliki kotak surat. Karena komputer bekerja dengan sistem biner, maka jumlah alamat dari data di memori merupakan kelipatan dua dari jalur alamat. Misalkan suatu komputer mempunyai empat jalur alamat, maka dia mempunyai 24 atau 16 alamat karena empat bit biner mempunyai kombinasi 16 buah. Komputer ini akan memetakan 16 alamat dari $0 sampai $F.

Dalam mikrokontroler MC68HC05 terdapat sepuluh jalur alamat sehingga didapatkan 1024 lokasi memori. Sedangkan mikrokontroler MC68HC11 memiliki 16 jalur alamat sehingga dapat mengalamati 65536 lokasi memori.Komputer 8-bit dengan sepuluh jalur alamat akan mempunyai peta memori dengan 1024 alamat dan masing-masing alamat memiliki 8 bit data. Alamat pertama dari lokasi memori adalah 00 0000 00002 dan alamat akhir 11 1111 11112. Sepuluh bit alamat tersebut pada umumnya dinyatakan dalam heksadesimal, sehingga jangkauan alamat memori tersebut menjadi $0000 sampai $03FF.Komputer menentukan lokasi memori mana yang akan digunakan dengan meletakkan kombinasi biner pada 10 jalur alamat kemudian mengirimkan sinyal read atau write. Hasilnya, informasi yang diinginkan pada alamat memori tertentu di atas akan muncul dalam delapan jalur data.

Jenis – Jenis Memori
Komputer menggunakan beberapa jenis informasi sehingga membutuhkan beberapa jenis memori yang berbeda. Instruksi-instruksi yang mengontrol operasi dari mikrokontroler disimpan dalam memori non-volatile sehingga jika sistem tidak perlu diprogram ulang jika daya sistem hilang. Variabel dan hasil sementara bisa disimpan dalam memori yang dapat ditulis dengan mudah dan cepat saat operasi sedang berlangsung. Tidaklah penting untuk terus mengingat informasi yang ditulis saat tidak ada daya (volatile).


RAM (Random Access Memory) adalah suatu bentuk memori volatile yang dapat dibaca dan ditulis oleh CPU. Seperti definisinya, lokasi RAM dapat diakses dalam berbagai urutan (random). Memori jenis ini adalah yang paling umum digunakan oleh komputer pribadi. RAM membutuhkan area chip yang lebih lebar dibandingkan dengan ROM, sehingga RAM yang diikutsertakan dalam sistem mikrokontroler hanyalah sebagian kecil saja.

ROM (Read Only Memory) diisi saat proses produksinya. Informasi yang dituliskan harus dipesan oleh pelanggan sebelum chip diberikan. Dalam sistem mikrokontroler, informasi ini dapat dibaca oleh CPU tetapi tidak dapat dirubah. ROM adalah memori yang paling sederhana, kecil, dan murah.

PROM (Programmable ROM) mirip dengan ROM kecuali bahwa dia dapat diprogram setelah proses pembuatah chip. Beberapa variasi dari PROM adalah EPROM, OTP, dan EEPROM.

EPROM (Erasable PROM) dapat dihapus dengan menyinarinya dengan cahaya ultraviolet. Mikrokontroler yang EPROM-nya bisa dihapus memiliki jendela kecil tempat proses penyinaran dilakukan. Jumlah proses penghapusan yang diijinkan terbatas tergantung pada beberapa tipe. Prosedur khusus digunakan untuk meprogram informasi ke dalam memori EPROM. Kebanyakan mikrokontroler yang memiliki EPROM menggunakan tegangan +12 volt DC saat operasi penulisan EPROM. CPU tidak dapat menulis data ke lokasi EPROM seperti halnya penulisan yang dilakukan pada RAM. Beberapa mikrokontroler memiliki rangkaian penulis EPROM yang built-in.

OTP (One Time Programming) adalah EPROM yang tidak dilengkapi dengan jendela untuk penyinaran ultraviolet. Walaupun isi dari OTP adalah sama dengan EPROM yang memiliki jendela penghapusan, OTP tidak dapat dihapus karena tidak menyediakan jendela. OTP dipasarkan karena harganya lebih murah daripada EPROM yang berjendela.

EEPROM (Electrically EPROM) dapat dihapus secara elektris dengan perintah yang ada dalam mikrokontroler. Agar dapat diprogramkan harga baru ke lokasi memori ini, pertama proses penghapusan harus dilakukan kemudian baru dilaksanakan beberapa langkah pemrograman. Walaupun mirip dengan RAM, tetapi EEPROM tetap memiliki sifat non-volatile dari ROM yang tidak hilang datanya walaupun daya hilang.

I/O Sebagai Tipe Memori
Informasi status dan kontrol dari I/O adalah suatu tipe dari lokasi memori yang mengijinkan sistem komputer untuk mendapatkan informasi dari dan ke dunia luar. Tipe lokasi memori ini tidak seperti memori pada umumnya karena informasi yang ada dapat berubah karena pengaruh selain dari CPU.

Jenis paling sederhana dari lokasi memori I/O adalah port input dan port output sederhana. Dalam mikrokontroler 8-bit, port input sederhana terdiri dari delapan kaki yang dapat dibaca oleh CPU. Port output sederhana terdiri dari delapan kaki yang dapat dikontrol oleh CPU. Dalam kenyataannya, port output sederhana diimplementasikan dengan delapan latch dan jalur feedback yang memungkinkan CPU untuk membaca kembali apa yang sebelumnya ditulis ke port output.

Gambar di bawah memperlihatkan rangkaian ekuivalen dari satu bit RAM, satu bit port input, dan satu bit port output yang umum dan memiliki kemampuan membaca kembali. Dalam mikrokontroler nyata, rangkaian ini ada delapan untuk membentuk delapan bit RAM, port input, dan port output. Saat snyal clock high, data dari input D menuju output Q. Saat input clock low, data ditahan pada kaki output Q.
Saat CPU menyimpan informasi ke dalam RAM dalam gambar (a), sinyal WRITE diaktifkan untuk menahan data dari jalur data bus ke dalam flip-flop [1]. Latch ini akan terus mengingat data yang telah diberikan sampai terjadi proses penulisan kembali atau jika daya dihilangkan. Saat CPU membaca data dalam RAM ini, sinyal READ diaktifkan, yang kemudian mengaktifkan multiplekser [2]. Multiplekser ini membuat data dari output latch muncul kembali ke jalur data bus.

Saat CPU membaca data dari port input seperti pada gambar (b), sinyal READ diaktifkan, yang akan mengaktifkan multiplekser [3]. Multiplekser ini akan mengirimkan data yang ada dalam buffer ke jalur data bus. Sinyal write tidak mempunyai pengaruh dalam rangkaian ini.

Saat CPU menyimpan data ke port output seperti pada gambar (c), sinyal WRITE diaktifkan untuk menahan data dari data bus menuju ke flip-flop [4]. Output dari latch ini, yang di-buffer oleh buffer driver [5], muncul sebagai harga digital pada kaki output. Saat CPU akan membaca data dari port output, sinyal READ diaktifkan, yang akan mengaktifkan multiplekser [6]. Multiplekser ini akan menyalurkan data dari output flip-flop ke jalur data bus.

Memori tersusun atas banyak words secara berurutan, yang masing-masing mempunyai alamat tunggal.
Ada beberapa jenis memori, a.l.:
1. RAM (random Access Memory) : hanya dapat menyimpan program atau data secara sementara, berlaku untuk proses READ/WRITE.
2. ROM (read only memory) : dapat menyimpan program atau data secara tetap, hanya untuk proses read.

Bagian I/O
Bagian masukan/keluaran bertugas untuk mentransfer data dari dank e computer dengan peralatan luar/lingkungan luar.
Dalam computer pribadi, yang termasuk bagian ini adalah :
- monitor / CRT : untuk menampilkan data masukan / keluaran
- papan ketik (key board) : untuk memasukkan data/instruksi
- printer : untuk mencetak
- disk drive : untuk menyimpan / membaca dari/dan ke disket.







KLASIFIKASI SISTEM KOMPUTER

Dari sudut pandang aplikasi, ada 4 level kecanggihan system computer, yaitu;
 Data Processing
 Information processing
 Knowledge processing
 Intelligence processing
Intelligence Knowledge
Processing processing



Peningkatan Peningkatan
Volume bahan Kompleksitas dan
Mentah yang Kecanggihan dalam
diproses Pemrosesan








Gambar 2.1. Level Kecanggihan Sistem Komputer

Dari sudut pandang struktur system, ada empat level system computer meliputi :
 Level struktur system global
 Komponen utamaya adalah
- Processors
- Control Mudules
- Memory Modules
- I/O modules
- Interconnection structure
 Kelima komponen tersebut dipandang sebagai “black box”
 Processor level
 Architectural Features specified
- Interfaces
- Instruction sets
- Data Representation
 More detailed individual component specification
 Register Level
• Specify internal operation of processor-level components at the word level
• Primitives :
- Registers
- Counters
- Memories
- ALUs
- Clocks
- Combinational logic
 Gate Level
 Specify operations at the individual bit level
 Gates are primitive elements
 Very cumbersome to do manually (logic minimization, etc.)

KLASIFIKASI FLYNN
Klasifikasi Flynn adalah klasifikasi system computer yang didasarkan pada penggandaan alur instruksi dan alur data.
Klasifikasi ini diperkenalkan oleh Michael J. Flynn dan dipublikasikan dalam Proceedings of the IEEE tahun 1966.
Alur instrukasi (instruction stream) adalah urutan instruksi yang dilaksanakan oleh mesin.
Alur data adalah urutan data yang dipanggil oleh alur instruksi
Baik instruksi maupun data diambil dari modul memori.
Instruksi didecode (diartikan) oleh Control Unit
Alur data mengalir dua arah antara prosesor dan memori

Keuntungan dan Kerugian Klasifikasi Flynn
 Advantages of Flynn
 Uneversally accepted
 Compact Notation
 Easy to classify a system (?)
 Disadvantages of Flynn
 Very coarse-grain differentiation among machine systems
 Comparison of different systems is limited
 Interconnections, I/O, memory not Considerecd in the scheme.

Ada 4 Kategori system computer dalam klasifikasi Flynn :
1. Single Instruction stream – Single Data stream (SISD)
2. Single Instruction stream – Multiple Data (SIMD)
3. Multiple Instruction stream – Single Data stream (MISD)
4. Multiple Instruction stream – Multiple Data stream (MIMD)

Sistem Komputer Kategori SISD
IS

IS DS


CU : Control Unit
PU : Processor Unit
MM : Memory Module

Instruksi dilaksanakan secara berurut tetapi juga boleh overlap dalam tahapan eksekusi (pipeline)
Satu alur instruksi didecode untuk alur data tunggal
Single processor
Single instruction stream
Dta stored in single memory
Uni-processor







Sistem computer Ktegori SIMD


DS1


DS2
IS


DSn




IS

PE : Processing Element
CU : Control Unit
PU : Processing Unit
MM : Memory Modul
SM : Shared Memory
IS : Instruction Stream
DS : Data Stream

 Beberapa Processor Unit (Processing Element) disupervisi oleh Control Unit yang sama. (Single Machine Instruction)
 Each processing element has associated data memory
 Each instruction executed on different set of data by different processors
 Semua processing element menerima instruksi yang sama dari control unit tetapi megeksekusi data yang berbeda dari alur data yang berbeda pula.
 Subsistem memori berisi modul-modul memori.
 Processor vector dan processor array termasuk dalam kategori ini.






Sistem Komputer Kategori MISD


IS DS


IS




IS
DS





 Sejumlah PU, masing-masing menerima instruksi yang berbeda dan mengoperasikan data yang sama.
 Sequence of data
 Transmitted to set of processor
 Setiap prosesor mengeksekusi urutan instruksi yang berbeda
 Output salah satu prosesor menjadi input bagi prosesor berikutnya.
 Struktur computer ini tidak praktis, sehingga tidak ada computer yang menggunakannya.

Sistem Komputer Kategori MIMD


IS DS


IS DS




IS DS





 Set of processors
 Simultaneously execute different instruction sequences
 Different sets of data
 SMPs, clusters and NUMA systems
 Sejumlah prossesor secara simultan mengeksekusi rangkaian instruksi yang berbeda pada kumpulan data yang berbeda pula.
 MIMD dapat berupa multiprosesor dengan memori yang dapat digunakan bersama (shared memory) atau multikomputer dengan memori yang terdistribusi (distributed memory)

Processor Paralel


SIMD MIMD


Shared Memory Distributed Memory
(Multiprosesor) (Multikomputer)


 Multiprosesor : MIMD dengan memori yang dapat digunakan bersama, semua prosesornya memiliki akses ke pool memori utama.
 Multi computer : MIMD dengan memori terdistribusi, setiap prosesnya memiliki memori khusus sendiri.
 Motivasi pembuatan organisasi multikomputer adalah untuk mengatasi keterbatasan skala multiprosesor.
 Karena prosesor-prosesor multikomputer harus brkomunikasi, maka element penting perancangan multikomputer adalah jaringan interkoneksi yang harus dapat beroperasi seefisien mungkin.
 Ada beberapa topologi interkoneksi untuk memberikan kinerja yang efisien.
 Terdapat trade-off antara lintasan terpanjang dan jumlah koneksi fisik yang diperlukan.
 General purpose processor.
 Each can process all instructions necessary
 Further classified by method of processor communication.

TOPOLOGI JARINGAN INTERKONEKSI mimd
Ada beberapa topologi dasar :
o Ring
o Mesh
o Tree
o Hypercube

TOPOLOGI RING





 Apabila komunikasinya dua arah disepanjang ring, maka jarak maksimum antara dua simpil pada ring dengan n simpul adalahn/2.
 Paket-paket pesan berukuran tetap digunakan dengan melibatkan alamat tujuan yang diinginkan.
 Topologi ini cocok untuk jumlah prosesor yang felatif sedikit dengan komunikasi data minimal.

TOPOLOGI MESH








 Bentuk Mesh yang paling sederhana adalah array du dimensi tempat masing-masing simpul saling terhubung dengan ke empat tetangganya.
 Diameter komunikasi sebuah mesh yang sederhana adalah 2 (n-1)
 Koneksi warp arraound pada bagian-bagian ujung akan mengurangi ukuran diameter menjadi 2 ( n/s).
 Topologi mesh ini cocok untuk hal-hal yang berkaitan dengan algoritma yang berorientasi matriks.
TOPOLOGI TREE






 Jaringan topologi tree digunakan untuk mendukung algoritma searching dan sorting.


TOPOLOGI HYPERCUBE

 Topoligi hiperkubus menggunakan N = 2 prosesor yang disusun dalam sebuah kubus berdimensi n, dimana setiap simpul mempunyai n = log2 N link bidirectional dengan simpul yang berdekatan.
 Diameter komunikasi hiperkubus seperti itu sama dengan n.


ARSITEKTUR BERBASIS SET INSTRUKSI

Ditinjau dari perancangan perangkat instruksinya, ada dua arsitektur prosesor yang menonjol, yakni :
1. Arsitektur computer dengan kumpulan perintah yang sederhana, atau RISC (Reduced Instruction Set Computer), dan
2. Arsitektur computer dengan kumpulan perintah yang rumit, atau CISC (Complex Instruction Set Computer)

Tinjauan Umum RISC dan CISC

RISC :

 RISC dimaksudkan untuk menyederhanakan rumusan perintah/instruksi sehingga lebih efisien dalam penyusunan compiler yang pada akhirnya dapat memksimumkan kinerja program.
 Prosesor RISC dpat dibuat dalam luasan keeping semikonduktor yang relative lebih sempit dengan jumlah komponen yang lebih sedikit dibanding prosesor CISC.
 Konsep Arsitektur RISC banyak menerpkan proses eksekusi pipeline. Meskipun jumlah perintah lebih banyak, eksekusi secara pipeline lebih cepat.
 Mesin RISC memerlukan memori yang lebih besar untuk mengakomodasi program yang lebih besar.
 IBM 801 adalah prosesor komersial pertama yang menggunakan pendekatan arsitektur RISC.

CISC
 Prosesor CISC memiliki instruksi kompleks untuk memudahkan penulisan program bahasa assembly.
 CISC dimaksudkan untuk meminimumkan jumlah perintah yang diperlukan untuk mengerjakan pekerjan yang diberikan.
 Konsep arsitektur CISC menjadikan mesin mudah untuk diprogram dalam bahasa rakitan, tetapi konsep ini menyulitkan dalam penyusunan kompiler bahasa pemrograman tingkat tinggi.

Fase Awal Perkembangan Prosesor RISC
• Ide dasar prosesor RISC sebenarnya mengikuti konsep Von Neuman pada tahun 1946.
Von Neumenn menyarankan agar rangkaian elektronik untuk konsep logika diimplementasikan hanya bila memang diperlukan untuk melengkapi sistem agar berfungsi atau karena frekuensi penggunaanya cukup tinggi.
• Jadi ide tentang RISC telah ada pada komputer elektronik pertama.
Ide RISC pada dasarnya adalah untuk menyederhanakan perangkat keras prosesor dengan melimpahkan sebagaian besar tugas kepada perangkat lunaknya.
• Pada tahun 1975, Seymour Cray menyimpulkan bahwa penggunaan register sebagai tempat manipulasi data menyebabkan rancangan instruksi menjadi sangat sederhana.
• Tahun 1980-an, komputer-komputer rancangan Seymour Cray, dalam bentuk super komputer seri Cray, merupakan komputer-komputer dengan kinerja sangat tinggi.
• Pada tahun 1975, kelompok peneliti di IBM dibawah pimpinan George Radin, merancang komputer 801 yang menggunakan instruksi format tetap dan dapat dieksekusi dalam satu siklus detak. Komputer 801 yang dibuat dengan teknologi ECL (emitter-coupled logic), 32 buah register, chace terpisah untuk memori dan instruksi ini diselesaikan pada tahun 1979.

Aspek komputasi yang ditinjau dalam merancang mesin RISC, sbb. :
Operasi-operasi yang dilakukan :
Hal ini menentukan fungsi-fungsi yang akan dilakukan oleh CPU dan interaksinya dengan memori.
Operand-operand yang digunakan :
Jenis-jenis operand dan frekuensi pemakaiannya akan menentukan organisasi memori untuk menyimpanya dan mode pengalamatan untuk mengaksesnya.
Pengukuran eksekusi :
Hal ini akan menentukan kontrol dan organisasi pipeline.

Operasi dengan High Level Laguage (HLL)
Hasil penelitian yang dilakukan untuk menganalisis frekuensi dinamk statemen dalam program HLL ditunjukkan dalam tabel di bawah ini.

Tabel 4.2 Frekuensi Dinamik Relatif Operasi-operasi HLL
Kejadian Dinamik Bobot
Instruksi-Mesin Bobot
Referensi Memori
Pascal C Pascal C Pascal C
ASSIGn 45 38 13 13 14 15
LOOP 5 3 42 32 33 26
CALL 15 12 31 33 44 45
IF 29 43 11 21 7 13
GOTO - 3 - - - -
OTHER 6 1 3 1 2 1











Eksekusi Instruksi

Waktu eksekusi instruksi dapat dirumuskan sbb. :


N adalah jumlah perintah
S adalah jumlah rata-rata langkah per perintah
T adalah waktu yang diperlukan untuk melaksanakan satu langkah

Kecepatan eksekusi dapat ditingkatkan dengan menurunkan nilai dari ketiga variabel di atas.
 Arsitektur CISC berusaha menurunkan nilai N, sedangkan
 Arsitektur RISC berusaha menurunkan nilai S dan T.
o Proses pipeline dapat digunakan untuk membuat nilai efektif S mendekati 1 (satu) artinya komputer menyelesaikan satu perintah dalam satu siklus waktu CPU
o Nilai T dapat diturunkan dengan merancang perintah yang sederhana.

Operand
 Penelitian ynag dilakukan Patterson rterhadap frekuensi dinamik dalam program pscal dan C menunjukkan bahwa mayoritas referensi menuju ke variabel-variabel skalar.
 Lebih dri 80% skalar bersifat variabel lokal
 Penelitian tersebut menyatakan bahwa jenis arsitektur berpengaruh pada kecepatan pengaksesan operand.

Tabel 4.3 Frekuensi Dinamik Operand-operand
Pascal C Rata-rata
Konstanta Integer 16 23 20
Variabel Skalar 58 53 55
Array/Struktur 26 24 25



Implikasi

 Hasil-hasil penelitian secara umum dapat dinyatakan bahwa terdapat tiga buah elemen ynag menentukan karakter arsitektur RISC.
 Pertama, penggunaan register dalam jumlah yang besar. Hal ini dimaksudkan untuk mengoptimalkan pereferensian operand.
 Kedua, diperlukan perhatian bagi perancangan pipeline instruksi. Karena tingginya proporsi instruksi pencabangan bersyarat dan prosedur call, pipeline instruksi yang bersifat langsung dan ringkas akan menjadi tidak efisien.
 Ketiga, terdapat set instruksi yang disederhanakan (dikurangi)
 Keinginan untuk mengimplementasikan ke seluruh CPU dalam keping tunggal akan merupakan solusi Reduced Instruction Set.

Penggunaan File Register Besar
 Terdapat statement assignment yang jumlahnya banyak dalam progrm-program HLL, dan banyak diantranya berupa statement assignment sederhana seperti A = B.
 Terdapat pula akses operand per statement HLL dalam jumlah yang cukup besar.
 Bila kedua hal di atas dihubungkan dengan kenyataan bahwa sebagian besar adalah menuju ke skalar-skalar lokal, maka sangat mungkin diperlukan penyimpanan register yang besar.
 Alasan diperlukannya penyimpanan register adalah register merupakan perangkat penyimpan yang paling cepat, (lebih cepat dibanding dengan memori utama dan memori chace).
 Dimungkinkan untuk menerapkan dua buah pendekatan dasar, yaitu berdasarkan perangkat lunak dan perangkat keras.
 Pendekatan perangkat lunak mengandalkan kompiler untuk memaksimalkan pemakaian register. Pendekatan ini membutuhkan algoritma analisis program yang canggih.
 Pendekatan perangkat keras dilakukan hanya dengan memperbanyak jumlah register sehingga akan lebih banyak variabel yang dapat ditampung di dalam register dalam periode waktu yang lebih lama.

Register Windows
 Jendela register dibagi menjadi tida daerah yang berukuran tetap.
 Registe-register parameter
Menampung parameter-parameter yang dilewatkan dari prosedur.
 Register-register lokal
Digunakan untuk variabel lokal, setelah di-assign oleh kompiler.
 Register-register temporer
Digunakan untuk pertukaran parameter.
 Overlap ini memungkinkan parameter-parameter dapat dilewatkan tanpa perpindahan aktual data.

Variabel-Variabel Global
 Teknik Register Windows memberikan organisasi yang efisien untuk penyimpanan variable skalar lokal di dalam register.
 Tetapi teknik ini tidak dapat memenuhi kebutuhan penyimpanan variabel global yang diakses oleh lebih dari sebuah prosedur (misalnya, variabel COMMON dalam FORTRAN).
 Terdapat dua pilihan untuk memenuhi hal tersebut.
 Pertama, variabel-variabel yang dideklarasikan sebagai global pada HLL dapat disediakan lokasi oleh kompler. Namun, bagi yang sering mengakses variabel-variabel global, teknik tersebut tidaklah eisien.
 Alternatifnya adalah melibatkan kumpulan register global di dalam CPU. Register-register ini harus memiliki jumlah yang tetap dan dapat dipakai oleh semua prosedur.

Mengapa CISC?
 Jumlah instruksi yang banyak dan instruksi yang lebuh kompleks.
 Dua alasan utama yang menjadi motivasi kecenderungan ini adalah :
o Adanya keinginan untuk menyederhanakan kompiler, dan
o Keinginan untuk meningkatkan kinerja.
 Alasan penting lainnya adalah harapan bahwa CISC akan menghasilkan program yang lebih kecil dan lebih cepat.

Karakteristik CISC Versus RISC
 Rancangan RISC dapat memperoleh keuntungan dengan mengambil sejumlah feature CISC dan rancangan CISC dapat memperoleh keuntungan dengan mengambil sejumlah feature RISC.
 Hasilnya adalah bahwa sejumlah rancangan RISC yang terbaru, yang dikenal sebagai PowerPC, tidak lagi “murni” RISC dan rancangan CISC yang terbaru, yang dikenal sebagai pentium, memiliki beberpa karakteristik RISC.

Prosesor RISC Berkeley
 Rancangan Prosesor RISC-1 ditujukan untuk mendukung bahasa C.
 Fbrikasi RISC-1 dilakukan oleh MOVIS dan XEROX dengan menggunakan teknologi silikon NMOS (N-channel Metal-oxide Semiconductor) 2 mikron.





















CPU ARITHMETIC
Overview
 Central Processing unit (CPU ) secara umum merupakan kombinasi logic antara Arithmetic Logic Unit ( ALU ) dan unit – unit sistem kontrol.
 Pada bagian ini, fokus perhtin kita pada ALU dan operasinya yaitu :
• Tinjauan pada Alu
• Representase data
• Aritmatika komputer dan implementasinya dalam perangkat keras
Centra
Unit flags


Registers Registers


ALU
 ALU adalah bagian komputer yang bertugas untuk melaksanakan operasi aritmatika dan logika terhadap data.
 Seluruh komponen sistem komputer yang lain akan membawa data ke ALU untuk memproses data atau mengambil hasil operasi dri ALU
 Register digunakan sebagai sumber atau tujuan untuk hampir semua operasi ALU
 Pada kmputer generasi awal, konsep sederhana dan handal menentukan secra keseluruhan struktur CPU dan juga ALU
- Sebagai hasil bahwa komputer dibangun hanya dengan register tunggal yang dikenal sebagai accumulator
- Accumulator digunakan oleh ALU pad hampir semua kegiatannya yang berkaitan dengan intruksi
 Kemampuan dan fleksibilitas CPU dan ALU dapat ditingkatkan melalui peningkatan kompleksitas perangkat keras.
- Gunakan rangkaian register umum untuk menyimpan operand, adres dan hasil.
- Tingkatkan kapabilitas ALU
- Gunakan perangkat kers khusus untuk mendukung eksekusi transfer data antara dua titik dalam program.
- Gandakan unit-unit fungsional dalam ALU untuk memungkinkan operasi-opersi yang bersamaan.

 Problema :
- Bagaimana merancang ALU yang memiliki minimal cost dan juga fully functional
- Komponen blok apa yang membentuknya?
 Solusi:
- Hanya menggunakan dua komponen dasar untuk menghasilkan ALU yang bersifat penuh
 Unit fill Adder dengan bit yang banyak
 Gerbang NAND dengan 2 input
- NAND adalah operator logic yang secara fungsional lengkap, karena itu NAND sering disebut sebagai gerbang logik universal
- Similar dengan NAND, operator penjumlahan, semua operasi arithmetic dapat diturunkan dari operasi penjumlahan.
- To conduct operations on multiple bit words is clearly tedious!
- Goal then is to develop arithmetic and logic circuitry that is algorithmically efficient while remaining cost effective.
-
Representasi Bilangan Bulat (Integer Representation)
 Format bilangan biner normal (Normaly binry format)
o Only have 0 & 1 to represent everything
o Positive numbers stored in binary
o E.g. 41 = 00101001
o No minus sign
o No period
 Format bilangan biner bertanda (Sign-Magnitude Format)
o Representasi bilangan menggunakan n bit
o Setiap bit memiliki nilai posisi
o Bit yang posisinya paling kiri adalah bit tanda
 0 untuk bilangan positif
 1 untuk bilangan negatif
o Bit ynag tersisa sebanyak n-1 menampilkan nilai bilangan
o Problems:
 Tanda bilangan harus diperhitungkan selama operasi aritmatika
 Ada dua bilangan nol (-0 dan +0)
 Format bilangan komplemen satu (Ones complement format)
o Binary case of diminished radix complement (recall the 9s complement for base 10 numbers?)
o Bilangan negatif digambarkan oleh komplemen dari setiap bit bilangan positif.
o Bit tanda diperlakukan sama seperti format bilangan bertanda.
o Contoh (8-bit words):
+42 = 0 00101010
-42 = 1 11010101
o Masih memiliki pengertian ganda untuk bilngan nol (seluruhnya nol atau seluruhnya satu)
 Format Komplemen dua (Two’s complement format)
o Binry case of radix complement
o Bilangan negatif, -X, digambarkan oleh bilangan pseudo-positive.
o Jika diberikan bilangan +X, untuk menggambarkan bilangan –X diperoleh dengan mengambil komplemen satu untuk bilangan +X dan ditambah 1.
o Perhatikan : Hindari kerancuan antara format komplemen dua dan operasi komplemen dua.
o Konversi antara dua bilangan dengan panjang word yang berbeda (misal ; konversi bilangan dengan vormat 8-bit ke bilangan dengan format 16-bit) dan memerlukan ekstensi tanda.
 The sign bit is extended from its current location up to the new location.
 All bits in the extension take on the value of the old sign bit
+3 = 00000011
+2 = 00000010
+1 = 00000001
+0 = 00000000
-1 = 11111111
-2 = 11111110
-3 = 111111101
o Benefits
• One representantion or zero
• Arithmetic works easily ( see later)
• Negating is fairly easy
• 3 = 00000011
• Boolean complement gives 111111100
• Add 1 to LSB 111111101
o Negation Spesial Case 1
• 0 = 0000000
• Bitwise not 1111111
• Add 1 to LSB +1
• Result 1 000000
• Overflow is ignored, so:
• - 0 = 0√
o Negation Special Case 2
• -128 = 10000000
• bitwise not 01111111
• Add 1 to LSB +1
• Result 10000000
• So:
• -(-128 ) = -128 X
• Monitor MSB ( sign bit )
• It shoul change during negation
o Range or Numbers
• 8 bit 2s compliment
>> + 127 = 01111111 = 2 – 1
>> - 128 = 10000000 = -2
• 16 bit 2s compliment
>> + 32767 = 011111111 11111111 = 2 – 1
>> - 32768 = 100000000 00000000 = -2


o Conversion Between Lengths
• Positive number pack with leading zeros
>> + 18 = 00010010
>> + 18 = 00000000 00010010
• Negative numbers pack with leading ones
>> - 18 = 10010010
>> - 18 = 11111111 10010010
• i.e. pack with MSB (sign bit)

SISTEM OPERASI
Tanpa perangkat lunak (software) sebuah komputer sebenarya sekumpulan bei yang tidak bergun. Dengan software komputer dapat digunakan untuk menyimpan, mengolah data (memproses) dan mendapatkan kembali informasi yang telah disimpan, menemukan kesalahan dalam program, dan menggunakan banyak aktivitas lainnya.
Umumnya program komputer dapat dibagi menjadi dua kategori, yaitu :
a. Program sistem (system program
Yang berfungsi untuk mengatur operasi dari kompiter itu sendiri.
b. Program aplikasi (application program)
Yang berfungsi untuk membantu menyelesaikan masalah pemakaiannya.
• Dasar dari semua program sistem adalah operating system yang mengontrol semua sumber daya komputer dan menyediakan landasan sehingga sebuah program aplikasi dapat ditulis atau dijalankan.
• Sebuah sistem komputer berisi satu atau lebih prosesor, banyak memori utama, clocks, terminal, disk, antarmuka (interface) jaringan, dan peralatan masukan/keluaran lainnya.
• Banyak cara atau metode untuk menyembunyikan programmer dari kekomplekan perangkat keras. Cara tersebut adalah dengan menentukan atau membuat sebuah lapisan (layera) perangkat lunak yang mengendalikan komponen perngkat keras, mengatru semua bagian sistem, dan menyediakan pemakai dengan antarmuka (interface) atau virtual machine yang memudahkan memahami dan memprogram.


Banking
System Airline
Reservation Adventure
Games
Compiler Editors Command
Interpreter
Operating System
Machine Language
Microprogramming
Physical Devices
Aplication Programs


System Programs




Hardware

Gambar di atas adalah sebuah sistem komputer yang terdiri dari hardware, system programs dan application programs
• Pada bagian bawah gambar di atas adalah perangkat keras yang di dalamnya terdapat dua atau lebih lapis. Lapis yang paling bawah (physical devices) berisi perangkat fisik, yang terdiri dari integrasi circuit chips, kabel (wires), power supplies, cathode ray tubes (CRT) dan perangkat lainnya.
• Lapis berikutnya adalah software primitive yang secara langsung mengontrol peralatan tersebut (physical devices) dan menyediakan interface (a cleaner interface) untuk layer berikut/diatasnya. Software ini disebut microprogram yang biasanya ditempatkan dalam read-only memory (ROM). Sebenarnya microprogram berfungsi sebagai penerjemah, mengambil (fetching) instruksi bahasa mesin, seperti ADD, MOVE dan JUMP sserta melaksanakan proses-proses kecil yang saling terkait. Contohnya apabila melaksanakan instruksi ADD, microprogram menentukan dimana angka ynag ditambahkan ditempatkan (disimpan sementara), mengambilnya, menambahkannya dan menyimpan hasilnya di suatu tempat tertentu.
• Sekumnpulan instruksi yang diterjemahkan microprogram disebut machine language (bahasa mesin), ynag kenyataanya bukan bagian dari perangkat mesin, tetapi pembuat komputer selalu menjelaskannya dalam manualnya, sehingga banyak orang mengira sebagai mesin sesungguhnya. Dalam banyak mesin microprogram diimplementasikan dalam hardware dan sebenarnya tidak sebuah lapis yang jelas.
• Bahasa mesin memiliki antara 50 sampai 300 instruksi, yang sebagaian besar untuk memindahkan data di sekeliling mesin, mengerjakan aritmatika dan membandingkan nilai. Dalam lapis ini, perangkat masukan/keluaran mengontrol pemuatan nilai ke dalam register khusus. Untuk contoh, sebuah disk dapat diperintahkan membaca untuk memuat nilai dari alamat disk, alamat memori utama, besarnya byte dan memerintahkan (READ atau Write) ke dalam registernya. Dalam prakteknya, banyak parameter yang dibutuhkan, dan status drive sesudah operasi adalah masalah yang memiliki kekomplekan masalah yang tinggi.
Fungsi utama Operting System adalah menyembunyikan semua kekomplekan atau kerumitan dan memberikan programmer sebuah kenyamanan, kemudahan, kepraktisan instruksi yang digunakan untuk bekerja dengannya. Sebagai contoh, READ BLOCK FROM FILE adalah konsep penyederhanaan daripada harus berfikir tentang bagaimana memindahkan head disk secra rinci, menunggu untuk menjadi tenang (posisi istrahat)
Diatas lapis Operating System (OS) adalah untuk menempatkan software system. Dari sini ditemukan penerjemah perintah (Command interpreter/shield), compiler, editor, dan aplication program independent. Adalah penting untuk menyadari/merelisasikan bahwa program-program ini dengan pasti bukan bagisn dari SO, walaupun secara khas disediakan oleh pembuat komputer. OS adalah bagian dari software yang dijalankan dalam kernel mode atau supervisor mode.
Compiler dan editors dijalankan dalam user mode. Jika tidak suka kompiler khusus, pemakai bebas menulis miliknya, dan tentunya tidak bebas untuk menangani interrupt disk yang merupakan bagian dari OS dan normalnya akan memproteksi hardware terhadap usaha pemakai untuk memodifikasinya.
Akhirnya, diatas layer system program berikutnya adalah application program. Program ini ditulis oleh user untuk memecahkan masalah khusus, seperti proses pengolahan data, perhitungan rekayasa atau memainkan sebuah permainan.

Pengertian
Secara lebih rinci, sistem operasi didefenisikan sebagai sebuah program yang mengatur perangkat keras komputer, dengan menyediakan landasan untuk aplikasi yang berada di atasnya, serta bertindak sebagai penghubung antara para pengguna dengan perangkat keras.
Tujuan Mempelajari Sistem Operasi
1. Agar dapat merancang sistem operasi atau memodifikasi S/O yang telah ada sesuai kebutuhan kita.
2. Agar dapat menulis S/O dan memilih alternatif S/O sesuai tujuan pembaangunan sistem.
3. Pemakai harus berinteraksi dengan S/O untuk menyelesaikan tugsnya karena S/O merupakan antarmuka utama dalam berhubungan dengan sistem komputer.
4. Banyak konsep dan teknik pada S/O yang dapat diterapkan pada pembangunan aplikasi-aplikasi lain.

Fungsi dan Sasaran Sistem Operasi
Secara garis besar mempunyai dua tugas utama, yairu sbb.:
a. Pengelola seluruh sumber daya pada sistem komputer
Yang dimaksud dengan sumber daya pada sistem komputer adalah semua komponen yang memberikan fungsi (manfaat) ke sistem komputer untuk memindahkan, menyimpan, dan memproses data, sert untuk mengendalikan fungsi-fungsi tesebut.
Sumber daya pada sistem komputer, antara lain, :
a.1. Sumber daya fisik, misalnya :
Keyboard, bar-code reader, mouse, joystick, lght-pen, touch-screen, pointing devices, floppy disk drive, harddisk, tape drive, optical disk, CD ROM drive, CRT, LCD, printer, modem, ethernet card, RAM, cache memory, register, kamera, sound card, radio, digitizer, scanner, plotter, dan sebagainnya. Slah satu sasaran yang harus dicapai oleh sistem operasi adalah dapat memanfaatkan seluruh sumber daya agar dapat digunakan secara efektif dan efisien.
a.2 Sumber daya abstrak, terdiri dari :
 Data, misalnya :
Samaphore untuk pengendalian sinkronisasi proses, PCB (Proses Control Block) untuk mencatat dan mengendalikan proses, tabel segmen, tabel page, FAT, file dan sebagainnya.


 Program
Adalah kumpulan instruksi yang dapat dijalankan oleh sistem komputer, yang dapat berupa utilitas dan program aplikasi pengolahan data tertentu.
b. Penyedia Layanan (Extended/virtual machine)
Secara spesifik berfungsi :
b.1. Memberi abstraksi mesin (perangkat keras) yang lebih sederhana dan menyembunyikan kerumitan perangkat kers. Sistem operasi menyediakan system call (API = Application Programming Interface) yang berfungsi menghindarkan kompleksitas pemrogram dengan memberi sekumpulan instruksi yang mudah digunakan.
b.2. Basis untuk program lain.
Program aplikasi dijalankan di atas sistem opersi yang bertujuan utnuk memanfaatkan dan megendalikan sumber daya sistem komputer secara benar, efisien dan mudah dengan meminta layanan sistem operasi.
Untuk memberikan fungsi-fungsi tersebut, sistem operasi mempunyai beberapa subsistem, antara lain :
a. Manajemen prose
b. Manajemen memori
c. Manajemen berkas
d. Manajemen perangkat masukan/keluaran
e. Pengamanan sistem
f. Sistem komunikasi
g. Dan sebagainya.

Peran Sistem Operasi
 Mengatur fasilitas komputer, memberikan layanan untuk pemrogram, dan menjadwak eksekusi program lainya.
 Menjembatani perangkat keras dari pemrogram
 Memberikan interface yang bagus untuk menggunakan siste
 Mengontrol eksekusi program-program aplikasi yang memerlukan fasilitas dan pelayanan hardware komputer.

Fungsi Sistem Operasi
• Kenyamanan
Suatu sistem operasi akan membuat sistem komputer lebih mudah untuk digunakan atau pengguna komputer menjadi nyaman
• Efisiensi :
Sistem operasi memungkinkan fasilitas sistem komputer dapat digunakan dengan cara yang efisien.
• Mampu berevolusi :
Sistem operasi harus dibangun sehingga memungkinkan dan memudahkan pengembangan, pengujian dan pengajuan fungsi-fungsi yang baru tanpa mengganggu layanan yang dijalankan sistem komputer.

Strutur dasar sistem inventori
a. Sistem monolitik ( monolithic )
Sistem operasi monolitik adalah kumpulan prosedur yang dapat saling dipanggil oleh prosedur lain atau oleh pemakai bila di perlukan. Kernel beiri semua layanan yang disediakan sistem operasi untuk pemakai.
Kelemahan :
• Pengujian dn penghilangan kesalahan sulit karena tidak dapat dipisahkan dan dilokalisasi
• Sulit dalam menyediakan fasilitas pengamanan
• Merupakan pemborosan bila setiap komputer harus menjalankan kernel monolitik sangat besar sementara sebenarnya tidak memerlukan seluruh layanan yang disediakan kernel
• Tidak fleksibel
• Kesalahan program satu bagian dari kernel menyebabka matinya sistem
Keunggulan :
• Layanan dapat dilakukan sangat cepat karena terdapat di satu ruang alamat
Evolusi :
• Kebanyakan UNIX sat ini berstruktur monolitik. Meskipun monolitik, yaitu seluru komponen / subsistem sistem operasi terdapat di satu ruang alamat tetapi secara rancangan adalah berlapis. Rancangan berlapis yaitu secara logic satu komponen / susbsitem merupakan lapisn lebih bawah di banding lainnya dan menyediakan layanan untuk lapisn yang lebih atas. Komponen – komponen tersebut kemudian dikompilasi dan dikaitkan ( di-link ) menjadi satu ruang alamat.
• Untuk mempermudah dalam pengembangan terutama pengujian dan fleksibelitas, kebanyakan UNIX saat ini menggunakan konsep kernel loadable modules, yaitu bagian – bagian kernel terpenting berada di memori utama secara bertahap
• Bagian lain berupa modul yang dapat ditambahkan ke kernel saat di perlukan dan dicabut begitu tidak digunakan lagi di waktu jalan ( run time )
b. Sistem Lapis ( lavered syistem )
o Sistem operasi dibentuk secara hirarki berdasar lapisan – lapisan dimana lapisan – lapisan bawah memberi layanan lapisan lebih atas.
o Struktur berlapis dimaksudkan untuk mengurangi komplesitas rancangan dan implementasi sistem operasi.
o Tiap lapisan mempunyai fungisonal dan antarmuka masukan keluaran antara dua lapisan bersebelahan yang terdefinisi bagus.
o Lapis – lapis dalam sistem operasi ad 6 lapis yaitu :
 Lapis – 5 The operator
Berfungsi untuk pemakai operator
 Lapis 4 – User programs
Berfungsi untuk aplikasi program pemakai
 Lapis 3 –I/O Management
Berfungsi untuk menyederhanakan akses I/O pada level atas.
 Lapis 2 –Operator-operator communication
Berfungsi untuk mengatur komunikasi antar pproses






TUGAS MAKALAH
TENTANG

“ARSITEKTUR KOMPUTER”













Dosen Pengasuh :
Harli Hutapea, S.Kom



Disusun Oleh :

Nama : Berlina Simanullang
Nim : 20063124720650059
Jurusan : Teknik Informatika



UNIVERSITAS MPU TANTULAR
FAKULTAS TEKNIK INFORMATIKA KOMPUTER
TEKNIK INFORMATIKA
20008/2009

KATA PENGANTAR



Puji Syukur saya ucapkan kepada Tuhan Yang Maha Esa yang telah memberikan rahmatnya kepada saya sehingga saya dapat menyelesaikan tugas Makalah ini dengan baik dan dengan segala kemampuan yang saya miliki.
saya dapat menyelesaikan tugas ini dengan baik dikarenakan bimbingan dari dosen kami yang telah banyak bersabar dalam mengajar dan selalu memberikan pemahaman langkah demi langkah sehingga saya dapat mengerti sedikit tentang Arsitektur Komputer hingga mempermudah saya untuk mencari bahan makalah ini baik melalui internet maupun yang bersumber dari modul yang telah diberikan oleh Dosen Pengasuh.
Demikian sepatah kata dari saya, semoga tugas ini dapat berguna bagi rekan-rekan mahasiswa khususnya dapat berguna bagi saya pribadi.




Jakarta, Januari 2009




Salam Penyusun











Pendahuluan


Setiap hal yang dikerjakan CPU dibagi-bagi menjadi beberapa langkah yang sederhana dan berurutan. Osilator clock membangkitkan clock CPU yang digunakan dalam langkah (step) kerja CPU dalam urutan perkerjaannya. Karena clock CPU ini sangat cepat untuk ukuran manusia, sehingga yang terlihat bahwa CPU bekerja secara langsung dan cepat.
Mikrokontroler 8-bit dari Motorola M68HC05 dan M68HC11 memiliki organisasi khusus yan disebut dengan arsitektur Von Neumann. Dalam arsitektur ini, CPU dan rangkaian memori di-interkoneksi-kan dengan bus alamat dan bus data. Bus alamat digunakan untuk menentukan lokasi memori yang mana yang akan diakses, dan bus data digunakan untuk mengirim informasi baik dari CPU ke lokasi memori dan sebaliknya.
Dalam arsitektur implementasi Motorola ini terdapat beberapa memori spesial yang disebut dengan register CPU yang terletak di dalam CPU itu sendiri. Register ini mirip dengan memori yang dapat menyimpan informasi. Tetapi register ini terjalur langsung di dalam CPU dan bukan bagian dari memori konvensional mikrokontroler.
CPU menganggap semua lokasi memori sebagai satu kesatuan walaupun di dalamnya terdapat instruksi program, data variabel, maupun kontrol input-output (I/O). Teknik semacam ini yang disebut dengan memory-mapped I/O. Artinya, semua piranti input-output dari sistem mikrokontroler memiliki alamat tersendiri yang ikut dipetakan dalam peta memori, sehingga dianggap sebagai bagian dari memori itu sendiri.
Di dalam CPU juga terdapat komponen ALU atau Arithmatic Logic Unit yang digunakan untuk melakukan kalkulasi aritmatika dan logika yang didefinisikan oleh instruksi. Berbagai macam variasi operasi aritmatika biner dikerjakan dalam ALU ini. Hampir semua operasi aritmatika biner didasarkan pada operasi tambah. Pengurangan dikerjakan sebagai proses tambah dengan salah satu data dikomplemenkan.

Tidak ada komentar:

Posting Komentar