11/18/2011
• Referensi : • Malvino, A. Paul. Computer Digital Elektronics. Introductions Microcomputers. McGraw‐Hill. 1992. • Putra, Agfianto Eko. Bahasa Assembly dengan EMU Putra Agfianto Eko Bahasa Assembly dengan EMU 8086. Gava Media. Yogyakarta.2005. • Stalling, William. Computer Organization and Architecture : Designing for Performance, 7e. Prentice‐Hall. New Jersey.2001.
Simple As Possible ORGANISASI DAN ARSITEKTUR KOMPUTER
PS Teknik Informatika UNDIP
rsp‐oak‐informatika
1
rsp‐oak‐informatika
SAP‐1 ( Simple As Possible)
Arsitektur
• Komputer SAP (Simple As Possible) artinya sesederhana mungkin, telah dirancang untuk pemula dalam bidang ini, dengan memperkenalkan semua gagasan operasi p g g p komputer
rsp‐oak‐informatika
2
• Arsitektur SAP‐1 merupakan sebuah komputer berorganisasi bus, semua keluaran register menuju bus W merupakan saklar tiga keadaan, yang memungkinkan transfer data secara teratur. Semua keluaran register yang lain hanya memiliki dua keadaan, keluaran‐keluaran ini secara kontinue menggerakkan kotak‐kotak yang disambungkan kepadanya 3
rsp‐oak‐informatika
4
Arsitektur SAP‐1
1. Pencacah Program •
rsp‐oak‐informatika
5
Pencacah program, yang merupakan bagian dari unit kendali, mencacah dari 0000 sampai 1111. Tugasnya adalah mengirimkan ke memori alamat dari instruksi berikutnya ke memori alamat dari instruksi berikutnya yang akan diambil dan dilaksanakan. Pencacah program direset ke 0000 setiap kali sebelum komputer dijalankan.
rsp‐oak‐informatika
6
1
11/18/2011
1. Pencacah Program ( lanj )
1. Pencacah Program ( lanj )
Ketika komputer mulai bekerja, pencacah program mengirimkan alamat 0000 ke memori. Kemudian pencacah program meningkatkan angka cacahannya menjadi meningkatkan angka cacahannya menjadi 0001. setelah instruksi pertama diambil dan dilaksanakan, pencacah program mengirimkan 0001 ke memori.
rsp‐oak‐informatika
Pencacah program kembali meningkatkan angka cacahannya. Sesudah instruksi kedua diambil dan dieksekusi, pencacah program mengirimkan alamat 0010 ke memori Dengan mengirimkan alamat 0010 ke memori. Dengan demikian pencacah program dapat menentukan instruksi berikutnya yang akan diambil dan dieksekusi.
7
2. Masukkan dan MAR
RAM diprogram dengan register saklar alamat dan register saklar data. RAM menerima masukan dari MAR, instruksi dan kata‐data dan kata data ditempatkan dalam bus W ditempatkan dalam bus W untuk digunakan bagian lain dari komputer
9
4. Register Instruksi
rsp‐oak‐informatika
10
5. Pengendali Pengurut
Isi dari lokasi memori yang ditunjuk alamatnya ditempatkan pada bus W, register instruksi disiapkan untuk pengisisan tepi positif dari sinyal detak(clock) berikutnya positif dari sinyal detak(clock) berikutnya.
rsp‐oak‐informatika
8
3. RAM
Termasuk register saklar, yang memungkinkan pengiriman 4 bit dan 8 bit alamat kepada RAM. Memory Addres Register(MAR), pada saat komputer bekerja, alamat pencacah program ditahan (latched) pada MAR, kemudian MAR mengirimkan alamat 4 bit kedalam RAM, dimana operasi membaca dilaksanakan
rsp‐oak‐informatika
rsp‐oak‐informatika
11
Sebelum komputer bekerja, sinyal‐sinyal CLR dikirim ke pencacah program dan register instruksi, akibatnya pencacah program direset ke 0000, dan bersamaan ini instruksi terakhir dalam register dihapus. Kemudian sinyal detak CLK dikirim ke semua register bufer, sinyal ini mensinkronkan operasi komputer.
rsp‐oak‐informatika
12
2
11/18/2011
6. Akumulator
7. Penjumlah – Pengurang
Adalah sebuah register buffer yang menyimpan jawaban sementara
rsp‐oak‐informatika
SAP‐1 menggunakan penjumlah‐pengurang komplemen‐2 (ekivalen dengan perubahan tanda bilangan desimal)
13
8. Register B
15
10. Peraga Biner
Disebut juga bandar keluaran (output port), mengeluarkan data yang telah diproses komputer.
rsp‐oak‐informatika
16
Komponen Unit Kendali SAP‐1 mengandung pencacah program, register instruksi dan pengendali pengurut yang menghasilkan kata kendali, sinyal‐ sinyal CLEAR, dan sinyal‐sinyal detak. ALU SAP‐1 terdiri ALU SAP 1 t di i dari d i sebuah b h akumulator, sebuah k l t b h penjumlah‐pengurang dan sebuah register B. Memori SAP‐1 memiliki MAR dan sebuah RAM 16 x 8. Unit I/O mengandung saklar pemrograman masukan, bandar keluaran dan peraga biner.
Suatu barisan terdiri dari 8 buah LED,yang dihubungkan dengan sebuah flip‐flop dari bandar keluaran.
rsp‐oak‐informatika
14
9. Register Keluaran
Digunakan dalam operasi aritmetik, keluaran register B menggerakkan penjumlah ‐ pengurang, memasukkan yang akan dijumlahkan dengan atau dikurangkan dari dijumlahkan dengan atau dikurangkan dari isi akumulator.
rsp‐oak‐informatika
rsp‐oak‐informatika
17
rsp‐oak‐informatika
18
3
11/18/2011
PERANGKAT INSTRUKSI
PERANGKAT INSTRUKSI ( lanj )
1. LDA
2. ADD
• Merupakan singkatan dari “load the accumulator” (isilah akumulator), mengandung alamat heksadesimal dari data yang hendak dimasukkan. • Contoh : LDA 8H (“isilah akumulator dengan isi dari lokasi memori 8H”) • Misalnya R8 = 1111 0000 • Maka eksekusi LDA 8H Æ A = 1111 0000
• Mengandung alamat dari kata yang hendak ditambahkan. ( isi dari lokasi • Contoh : ADD 9H (“tambahkan memori 9H pd akumulator”) • Misalkan A = 0000 0010, Isi pada lokasi 9H, mis : R9 = 0000 0011 • Maka selama intruksi ADD 9H akan berlangsung operasi sbb :
rsp‐oak‐informatika
19
PERANGKAT INSTRUKSI ( lanj ) • • • • • •
3. SUB • Disertai alamat dari kata yang hendak dikurangkan. • Contoh : SUB CH (“kurangkan isi lokasi memori CH dari isi akumulator”) • Misalkan A = 0000 0111, RC = 0000 0011 • Maka selama intruksi SUB CH akan berlangsung operasi sbb : 21
PERANGKAT INSTRUKSI ( lanj )
rsp‐oak‐informatika
22
PERANGKAT INSTRUKSI ( lanj )
• RC diisikan ke register B sehingga • B = 0000 0011, • bagian penjumlah‐pengurang melakukan penjumlahan j l h dari d i A dan d B : • DIFF = 0000 0100 • Hasil jumlahan diisikan ke akumulator • A = 0000 0100 rsp‐oak‐informatika
20
PERANGKAT INSTRUKSI ( lanj )
R9 diisikan ke register B sehingga : B = 0000 0011 bagian penjumlah‐pengurang melakukan penjumlahan dari A dan A dan B : B: SUM = 0000 0101 hasil jumlahan diisikan ke akumulator A = 0000 0101
rsp‐oak‐informatika
rsp‐oak‐informatika
4. OUT • Untuk memindahan isi akumulator ke bandar keluaran. 5. HLT • Singkatan dari “halt” (berhenti), untuk menghentikan pemrosesan data.
23
rsp‐oak‐informatika
24
4
11/18/2011
PERANGKAT INSTRUKSI ( lanj )
PERANGKAT INSTRUKSI ( lanj )
• LDA, ADD, SUB disebut instruksi‐instruksi rujukan memori (memory‐refence instructions) karena semua instruksi menggunakan data yang tersimpan dalam memori. • OUT dan HLT bukan intruksi‐instruksi rujukan memori karena tidak melibatkan data yang tersimpan dalam memori. rsp‐oak‐informatika
• LDA, ADD, SUB, OUT dan HLT adalah instruksi singkat disebut mnemonik (mnemonic artinya “pembantu ingatan”)
25
rsp‐oak‐informatika
Contoh 1 :
26
Contoh 1 : ( lanj )
Berikut ini program SAP‐1
Data dalam memori dengan alamat selanjutnya adalah :
(dalam betuk mnemonik ): Alamat 0H 1H 2H 3H 4H
Mnemonik LDA 9H ADD AH ADD BH SUB CH OUT
5H
HLT rsp‐oak‐informatika
27
Alamat
Mnemonik
Alamat
Mnemonik
6H 7H 8H 9H AH
FFH FFH FFH 01H 02H
BH CH DH EH FH
03H 04H FFH FFH FFH
rsp‐oak‐informatika
Penyelesaian :
Penyelesaian : ( lanj )
• Mengisi akumulator dengan isi dari memori 9H, A = 01H • Menambahkan isi lokasi memori AH pd isi akumulator untuk memperoleh isi akumulator akumulator untuk memperoleh isi akumulator yang baru, A = 01H + 02H = 03H • Menambahkan isi lokasi memori BH pd akumulator, A = 03H + 03H = 06H
• Insruksi SUB akan mengurangkan isi lokasi memori CH, sehingga : A = 06H – 04H = 02H • Instruksi OUT memindahkan isi akumulator Instruksi OUT memindahkan isi akumulator ke bandar keluaran, dengan demikian peraga biner menyajikan angka : 0000 0010 • Instruksi HLT menghentikan pemrosesan data.
rsp‐oak‐informatika
29
rsp‐oak‐informatika
28
30
5
11/18/2011
PEMROGRAMAN SAP‐1 (lanj)
PEMROGRAMAN SAP‐1 • Untuk memasukkan instruksi dan kata‐data kedalam memori SAP‐1 harus menggunakan kode yang dapat memberitahu kepada komputer tentang operasi yang harus komputer tentang operasi yang harus dilaksanakan, disebut kode operasi (operation code).
rsp‐oak‐informatika
Mnemonik
Kode Operasi
LDA
0000
ADD
0001
SUB
0010
OUT
1110
HLT
1111 rsp‐oak‐informatika
31
PEMROGRAMAN SAP‐1 (lanj)
32
PEMROGRAMAN SAP‐1 ( lanj ) Pertama, ubah instruksi kedalam bentuk biner :
• Contoh : Alamat
Instruksi
01
LDA FH
10
ADD EH
11
HLT
rsp‐oak‐informatika
– LDA FH LDA FH – ADD EH – HLT
= 0000 1111 0000 1111 = 0001 1110 = 1111 XXXX
33
rsp‐oak‐informatika
34
PEMROGRAMAN SAP‐1 (lanj) Susunlah saklar‐saklar alamat dan data sbb :
Tiga lokasi memori yg pertama mempunyai isi :
Alamat
Data/Instruksi
Alamat
DDDD
DDDD UUUU
DDDU
DDDU UUUD
DDUD
UUUU XXXX
0000 0001 0010
Data/Instruksi 0000 1111 0001 1110 1111 XXXX
Instrusi = xxxx xxxx medan alamat medan instruksi
U :Up (atas) = 1 dan D : Down (bawah) = 0 rsp‐oak‐informatika
35
rsp‐oak‐informatika
36
6
11/18/2011
Assembly vs Machine Language
Contoh 2 : Latihan
Bahasa asembli (assembly language) menyangkut tata cara penulisan program dan mnemonik, sedangkan bahasa mesin (machine language) menyangkut tata cara (machine language) menyangkut penulisan program dengan bilangan 0 dan 1.
rsp‐oak‐informatika
• Terjemahkan soal contoh 1 ke dalam bahasa mesin SAP‐1?
dikerjakan!
37
rsp‐oak‐informatika
Contoh 3 :
38
Penyelesaian 3:
• Bagaimana cara memprogram SAP‐1 untuk menyelesaikan persoalan aritmatik ini ? 16 + 20 + 24 ‐32
rsp‐oak‐informatika
• Pertama, menyimpan data (16, 20, 24, 32) pada lokasi memori 9H sampai CH • Kedua, ubah data desimal ke dalam data heksadesimal untuk mendapatkan versi heksadesimal untuk mendapatkan versi asembli:
39
rsp‐oak‐informatika
40
Dalam bhs mesin data‐data ini menjadi :
Alamat
Isi
Alamat
Isi
0H
LDA 9H
7H
XX
1H
ADD AH
8H
XX
Alamat 0000
Isi 0000 1001
Alamat 0111
Isi XXXX XXXX
2H
ADD BH
9H
10H
0001
0001 1010
1000
XXXX XXXX
14H
0010
0001 1011
1001
0001 0000
0011
0010 1100
1010
0001 0100
0100
1110 XXXX
1011
0001 1000
0101
1111 XXXX
1100
0010 0000
0110
XXXX XXXX
3H 4H
SUB CH OUT
5H
HLT
6H
XX
AH BH CH
rsp‐oak‐informatika
18H 20H
41
rsp‐oak‐informatika
42
7
11/18/2011
• Penyimpanan program mendahulukan penyimpanan kata‐kata data. Program menempati lokasi lebih rendah dan data menempati lokasi memori yang lebih tinggi menempati lokasi memori yang lebih tinggi.
rsp‐oak‐informatika
• Any Questions?? • …
43
rsp‐oak‐informatika
44
8