1. Sejarah & evolusi arsitektur computer :
Generasi Komputer
z 1946-1957 : Vacuum tube
z 1958-1964 : Transistor
z 1965-1971 : SSI - Small scale integration
y Up to 100 devices on a chip
z 1971 : MSI - Medium scale integration (
y 100-3,000 devices on a chip
z 1971-1977 : LSI - Large scale integration
y 3,000 - 100,000 devices on a chip
z 1978- : VLSI - Very large scale integration
y 100,000 - 100,000,000 devices on a chip
z Ultra large scale integration
y Over 100,000,000 devices on a chip
1. ENIAC (computer generesein(dibaca:: generasi) yang pertama )
Electronic Numerical Integrator And Computer
a. Eckert and Mauchly
b. University of Pennsylvania
c. Tabel Lintasan peluru
d. Mulai dibuat 1943
e. Selesai 1946
f. Terlambat untuk digunakan dlm PD-II
g. Dipakai sampai 1955
Detailnya :
a. Menggunakan sistem Decimal (bukan binary)
b. Memiliki 20 accumulator untuk 10 digits
c. Diprogram secara manual melalui sakelar
d. Berisi 18,000 vacuum tubes
e. Berat 30 tons
f. Luas 15,000 square feet
g. Daya 140 kW
h. Kecepatan: 5,000 penambahan per detik
1. Komputer yang komersil pertama
a. 1947 - Eckert-Mauchly Computer Corporation
b. UNIVAC I (Universal Automatic Computer)
c. Untuk kalkulasi sensus 1950 oleh US Bureau of Census
d. Menjadi divisi dari Sperry-Rand Corporation
e. UNIVAC II dipasarkan akhir th. 1950-an
f. Lebih cepat
g. Kapasitas memori lebih besar
IBM
A. Pabrik peralatan Punched-card
B. 1953 – IBM-701
C. Komputer pertama IBM (stored program computer)
D. Untuk keperluan aplikasi Scientific
E. 1955 – IBM- 702
F. Untuk applikasi bisnis
G. Merupakan awal dari seri 700/7000 yang membuat IBM menjadi pabrik komputer yang dominan
z Menggantikan vacuum tubes
z Lebih kecil
z Lebih murah
z Disipasi panas sedikit
z Merupakan komponen Solid State
z Dibuat dari Silicon (Sand)
z Ditemukan pada th 1947 di laboratorium Bell
z Oleh William Shockley dkk.
Komputer yang berbasis transistor ialah:
a. Mesin generasi II
b. NCR & RCA menghasilkan small transistor machines
c. IBM 7000
d. DEC - 1957
e. Membuat PDP-1
Inovasi arsitektur komputer utama bersamaan dengan evolusi teknologi sehingga disebut Evolusi arsitektur komputer. Pada awal tahun 1960-an, IBM mencanangkan gagasan mengenai arsitektur rumpun komputer dan menetapkan efektivitas unit kontrol mikroprogram. Pada waktu bersamaan Burrough mengenalkan execution –stack architecture dan memberikan dukungan hardware untuk bahasa pemograman yang tingkat tinggi. Keduanya menggunakan Smalle –Scale Integration ( SSI / Integrasi Skala Kecil / Chip ), Memori Solid State / Memori Magnetic Core dan Sistem pengoperasian Batch. Maka lahirlah komputer generasi ke-3 ( Tiga ).
Sedangkan komputer generasi ke-4 ( Empat) memiliki cirri – cirri seperti Very – Large – Scale Integration ( VLSI / Integrasi berskala Luas ), Memori Solid – State, sistim pengoperasian time- sharing ( Pengoperasian beberapa user ) dan memori virtual. Untuk mengatasi tuntutan akan komputer yang lebih cepat maka hanya ada 2 (dua ) pemecahan yaitu mengubah teknologi atau mengubah arsitektur komputer. Jika arsitektur komputer tetap sama maka teknologi harus berubah, hasilnya adalah rumpun komputer.
- Sistem BUS :
Bus membawa informasi diantara komponen dari satu peralatan atau diantara
subsistem. Bus dapat dibagi menjadi dua kelompok utama yang didasarkan pada
kontroInya,yaitubus lokaldan bus sistem(localbuses and systembuses).Kelompok
hybrid (turunan), yaitu bus lokal yang diperluas, mengkombinasikanfasilitas dari
dua bus yang lain. Bagian berikut ini mendeskripsikanbus dan kontrolnya.
#BUS-BUS yang ada :
Bus Lokal
Bus yang paling sederhana terdiri atas set kawat/kabel (atau jejak/ trace jika
ia diproduksi sebagai bagian dari papan sirkuit). Bus ini disebut local bus (bus
lokal), karena ia merupakan bagian dari peralatan yang menggunakan dan
mengontrolnya.
Bus Sistem
Tidak seperti halnya bus lokal, system buses (bus sistem) adalah komponen
fungsional independen dari komputer. Setiap bus sistem mempunyai sirkuit kontrol
sendiri yang disebut bus controller (pengontrol bus), dan dalam setiap pengontrol
bus ada arbiter,yang memproses request untuk menggunakan bus.
Bus system umumnya menghubungkan komponen system bersama-sama,seperti
CPU, sistem I/O, dan seringkali sistem memori utama, dan perancang biasanya
Mengoptimisasi bus system untuk mentransfer data diantara peralatan I/O dan memori
utama.
Bus Lokal Yang Diperluas
Expanded local buses (bus lokal yang diperluas), yang kebanyakan dijumpai dalam system mikrokomputer, adalah bus lokal dengan ekstensi khusus untuk penggunaan di luar CPU . Bus local yang diperluas mempunyai operasional yang fleksibel dan memberikan program tambahan (platform)untuk ekspansi sistem.Contohnya adalahIBM PC IJo Channel Bus dan IBM Micro Channel Architecture(MCA).
#Kerja pada CPU :
Unit pemrosesan sentral (CPU) dari komputer sederhana mempunyai tiga komponen utama. yakni set register, ALU, dan unit kontrol.Komponen-komponenini biasanya saling berkomunikasi diantara mereka sendiri dengan menggunakan bus lokal, dan mereka berkomunikasi dengan system penyimpanan dan sistem I/O dengan menggunakan satu atau beberapa bus sistem,bus lokal, atau bus lokal expanded.
Saat data dan/atau instruksi dimasukkan ke processing-devices, pertama sekali diletakkan di RAM (melalui Input-storage); apabila berbentuk instruksi ditampung oleh Control Unit di Program-storage, namun apabila berbentuk data ditampung di Working-storage). Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung di Program Counter. Sedangkan data diambil oleh Control Unit dari Working-storage untuk ditampung di General-purpose register (dalam hal ini di Operand-register). Jika berdasar instruksi pengerjaan yang dilakukan adalah arithmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung di Accumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di Accumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan menjemput hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan ke output-devices.
-Fetch : instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi memorinya ke CPU/ operasi pembacaan instruksi (fetch)
-Execute: operasi pelaksanaan instruksi (execute)
-Interrupt: Fungsi interupsi adalah mekanisme penghentian atau pengalihan pengolahan instruksi dalam CPU kepada routine interupsi. Hampir semua modul (memori dan I/0) memiliki mekanisme yang dapat menginterupsi kerja CPU
3. - Memori adalah : - bagian dari komputer tempat program – program dan data – data disimpan. Istilah store atau storage untuk memori, meskipun kata storage sering digunakan untuk menunjuk ke penyimpanan disket.
- Tempat informasi, dibaca dan ditulis
- Aneka ragam jenis, teknologi, organisasi, unjuk kerja dan harganya
- Memori internal : memori yang dapat diakses langsung oleh prosesor
register yang terdapat di dalam prosesor, cache memori dan memori utama berada di luar prosesor.
- Memori External : Memori eksternal : perangkat keras untuk melakukan operasi penulisan, pembacaan dan penyimpanan data, di luar alat pemrosesnya,Perangkat ini dpt menyimpan data secara permanen. Data tidak hilang ketika komputer dimatikan.
- Chace : adalah perangkat untuk pergerakan data antara memori utama dan register prosesor untuk meningkatkan kinerja./ Memori cache adalah buffer kecepatan tinggi yang digunakan / Memori cache Memori akses random (RAM) berkecepatan tinggi yang ditempatkan diantara sistem memori dan pemakainya untuk mengurangi waktu akses efektif dari sistemmemori.Semua requestmemori menuju ke cache. Apabila cache menyimpan kopi dari data yang diminta, maka ia secara cepat memproses request tersebut (cache menangkap). Bila sebaliknya, maka cache akan menyampaikan request tersebut ke memori utama (cache melepaskan). Cache juga berguna untuk menyimpan data yang diakses pada saat itu dan data yang berdekatan dalam memori utama.
4. Sistem I/O terdiri dari :
1.Perangkat Keras I/O
2.Aplikasi Antarmuka I/O
3.Kernel I/O Subsystem
4.Mengubah I/O Request Menjadi Operasi Perangkat Keras
5.Streams
6.Performance
Perangkat Keras I/O terdiri dari :
1.Banyaknya jenis perangkat keras I/O
2.Konsep Umum :
a. Port
b. Bus (Daisy chain atau shared direct access)
c. Controller (host adapter)
3.Perangkat kontrol instruksi I/O
4.Perangkat-perangkat tersebut memiliki alamat, digunakan untuk:
a. Instruksi I/O langsung
b. Memory-mapped I/O
Jenis Perangkat Keras terdiri dari :
1.Perangkat penyimpan data
2.Perangkat penghubung
3.Perangkat antarmuka dengan user
Konsep Umum Sistem I/O ialah :
1.Suatu perangkat berhubungan dengan sistem komputer dengan cara mengirim sinyal melalui suatu kabel atau bahkan melalui udara.
2.Perangkat tersebut berkomunikasi dengan mesin melalui port
3.Struktur komputer yang umum dipakai adalah Daisy Chain
metode akses i/o:
1.Memori Mapped I/O
Piranti I/O dihubungkan sebagai lokasi memori virtual
sehingga port I/O tergantung memori utama.
Karakteristik :
•Port I/O: menempati bagian tertentu pada
bus Alamat, diakses seolah-olah lokasi memori.
•Piranti input: menjadi bagian dari memori
yang memberi data ke bus data.
•Piranti output: menjadi bagian dari memori
yang memiliki data di dalamnya.
2. I/O Mapped I/O
Piranti I/O dihubgungkan sebagai lokasi terpisah dari
lokasi memori, sehingga port I/O tidak tergantung pada
keadaan memori utama.
Karakteristik :
•Port I/O: tidak tergantung memori utama
•Transfer informasi: dibawah kendali sinyal kontrol
dengan instruksi input dan output.
•Operasi I/O tergantung sinyal kendali dari CPU.
•Jenis instruksi :
oInstruksi I/O: mengaktifkan baris kendali
read/write pada port I/O.
oInstruksi memory: mengaktifkan baris kendali
read/write pada memori.
•Ruang memori dan ruang alamat I/O bisa saja
memiliki alamat yang sama.
•Lebih cepat dan efisien karena penggunaan alamat
yang terpisah, namun memiliki keterbatasan jumlah
instruksi yang dapat digunakan untuk operasi I/O.
metode operasi i/o:
- I/O Terprogram : CPU mengendalikan operasi I/O secara keseluruhan
dengan menjalankan serangkaian instruksi I/O dengan
suatu program tertentu.
- I/O Interupsi (Demand Driven) : CPU akan bereaksi ketika suatu piranti mengeluarkan
permintaan untuk pelayanan.
- Direct Memory Access (DMA) : Metode transfer data secara langsung antara memori
dan piranti tanpa pengawasan dan pengendalian CPU. Metode ini Hanya dapat dilakukan pada piranti I/O berkecepatan
tinggi dan mampu mentransfer data besar dalam waktu
singkat seperti disk.
i/o terprogram : I/O terprogram atau polling system.
Ketika perangkat I/O menangani permintaan, perangkat men-set bit status di
register status perangkat. Perangkat tidak memberitahu ke pemroses saat tugas
telah selesai dilakukan sehingga pemroses harus selalu memeriksa register
tersebut secara periodik dan melakukan tindakan berdasar status yang dibaca.
Software pengendali perangkat (driver) dipemroses harus mentransfer data
ke/dari pengendali. Driver mengekseksui perintah yang berkomunikasi dengan
pengendali (adapter) di perangkat dan menunggui sampai operasi yang dilakukan
perangkat selesai.
i/o interrupt : I/O dikendalikan interupsi.
Teknik I/O dituntun interupsi mempunyai mekanisme kerja sebagai berikut :
· Pemroses memberi instruksi ke perangkat I/O kemudian melanjutkan
melakukan pekerjaan lainnya.
· Perangkat I/O akan menginterupsi meminta layanan saat perangkat telah siap
bertukar data dengan pemroses.
· Saat menerima interupsi perangkat keras (yang memberitahukan bahwa
perangkat siap melakukan transfer), pemroses segera mengeksekusi transfer
data.
i/o DMA : Dengan DMA (direct memory access).
DMA berfungsi membebaskan pemroses menunggui transfer data yang dilakukan
perangkat I/O. Saat pemroses ingin membaca atau menulis data, pemroses
memerintahkan DMA controller dengan mengirim informasi berikut :
· Perintah penulisan/pembacaan.
· Alamat perangkat I/O.
· Awal lokasi memori yang ditulis/dibaca.
· Jumlah word (byte) yang ditulis/dibaca.
a. Step 1 : lihat kotak memory, memory terdiri dari alamat serta ada yang berisi data ada yang berisi instruksi, alamat pada memory yaitu 300 disimpan (STOR) ke PC, memory yang berisi instruksi (1940) di simpan ke IR.
b. Step 2: data dari memory disimpan ke AC, jadi di CPU register teridiri dari PC:300,AC:0003,IR:1940.
c. Step 3: sama seperti step satu, alamat selanjutnya yaitu 301 masuk ke PC,dan instruksinya 5941 masuk ke IR, AC masih menggunakan data yang sama.
d. Step 4 : masuk data selanjutnya yaitu 0002 karena di AC masih ada 0003 maka terjadi operasi pertambahan (add) AC <- (0003) + (0002) =0005
e. Step 5 : sama seperti step satu dan tiga, step lima pun berganti alamat dan instruksi memory, yaitu alamat dan instruksi yang ketiga : PC = 302,IR = 2941
f. Step 6 : meload data dari AC ke memory
1. `Set Instruksi dan Mode Pengalamatan
Set Instruksi : Kumpulan fungsi yang dapat dieksekusi CPU
Elemen Instruksi :
a. Operation Code : menspesifikasikan operasi yang akan dilakukan
Biasanya disebut mnemonic (singkatan), cth
- Add (+)
- Sub (–)
- MPY (*)
- Div (/)
- Load (mengambil)
- Stor (Menyimpan)
b. Source Operand Reference : Sumber Operand yang akan dipakai
c. Result Operand Reference : Hasil Operand ,.atau hasil dari suatu operasi operand
d. Next Instruction Reference : Operand yang berisi posisi instruksi selanjutnya
Mode Pengalamatan
v Mode Impired , cth : clear, ACC
v Immediate :, cth : OPR angka
v Direct ,cth OPR M[add]
v Indirect ,cth OPR M(M[add])
v Register, cth OPR (R1)
v Register Indirect, cth OPR M[R1]
v Relative, cth OPR M[pc + ad]
v Index, cth OPR M[XR + AD]
Eksekusikanlah Y= (A-B) : (C+D *E)
Instruksi 3 alamat , disebut tiga karena instruksinya ada 3 (zzz..yaiyalah)
Instruksi Komentar
Sub Y,A,B Y A - B
MPY T,D,E T D*E
ADD T,T,C T T + C
DIV Y,Y,T Y = Y : T
Penjelasan : selesaikan terlebih dahulu Y= a –b, dengan cara Y isi dari operasi A kurang B di transfer ke Y, untuk C + D * E, Buat operand penampung, disini misalkan T karena susunan operand kali terlebih dahulu drpada tambah , maka operasikan kali terlebih dahulu isi operasi D * E ditransfer ke T, begtu juga dengan T + C, karena isi dari T = D*E , maka isi T di tambah C, setelah itu operasi semuanya yaitu isi dari Y dan T dibagi ditransfer ke Y.
Instruksi 2 alamat
Move Y,A Y A
Sub Y,B Y Y - B
Move T,D T D
Mpy T,E T T * E
Add T,C T T + C
Div Y,T Y Y : T
Sama kea yang 3 instruksi bedanya ini 2 jadi misalkan Y = A –B Karena pake 2 instruksi tinggal di jembrengin dah Y,A Y,B isi Y itu A nah karena A sudah di Move(pindah ) ke operand Y maka Y, B itu isi dari Y di kurang B.
Instruksi 1 alamat
Load D AC D
MPY E AC AC * E
ADD C AC AC +C
STOR Y Y AC
LOAD A AC A
SUB B AC AC – B
DIV Y AC AC : Y
STOR Y Y AC
agak rumit sie tapi intinya y jembrengin satu2 soalnya kan y = A – B / C +D*E,klo ini dimulai dari D * E, load itu berarti ambil data dari D ditransfer ke AC (accumulator, air conditioning,anak cewe,terserah dah singkatannya apa wkwk..) jadi D sudah di transfer ke AC maka AC tinggal dikali E terus juga di tambah C nah setelah itu simpan (Stor) nilai dari AC (C+D*E) ke Y ..
selanjutnya operasi Y = A – B Dengan mentransfer nilai ke AC maka isi dari AC dapat di
bagi dengan nilai Y terus nilai di simpan di Y jadi isi dari yaitu AC (hasil dari A-B/C+D*E).