TUGAS PENGANTAR ORGANISASI DAN ARSITEKTUR KOMPUTER (DOSEN : BAPAK HENGKY)
TUGAS
PENGANTAR ORGANISASI DAN ARSITEKTUR KOMPUTER
(DOSEN : BAPAK HENGKY FIRDAUS)
A.karaktersitik dan fungsi set instruksi
operasi dari cpu ditentukan oleh instruksi-instruksi yang dilaksanakan atau dijalankannya. instruksi ini sering disebut sebagai instruksi mesin(machine instruction) atau instruksi komputer(computer instructions).
kumpulan dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set instruksi(instruction set).
B.elemen-elemen dari instruksi mesin(set instruksi)
1.operation code yaitu menentukan operasi yang akan dilaksanakan
2.source operand reference yaitu input bagi operasi yang akan dilaksanakan
3.result operand reference yaitu hasil dari operasi yang dilaksanakan
4.next instruction reference yaitu memberitahu CPU untuk mengambil(fetch) instruksi berikutnya setelah instruksi yang dijalankannya selesai
C.tipe-tipe operand
1.adresses
merupakan tipe inputan instruksi berupa alamat dari instruksi
2.numbers
a.integer or fixed point
b.floating point
c.decimal(BCD)
3.characters
a.ASCII(American Standard Code for Information Interchange)
b.EBCDIC(Extended Binary Coded Decimal Interchange Code)
4.logical data
bila data berbentuk binary yaiut 0 dan 1
D.jenis-jenis instruksi
1.pengolahan data(data processing)
merupakan tipe instruksi yang meliputi operasi-operasi aritmatika dan logika
merupakan tipe instruksi yang meliputi operasi-operasi aritmatika dan logika
2.perpindahan data(data movement)
merupakan tipe instruksi yang berisi instruksi perpindahan data antar register maupun modul I/O
3.penyimpanan data(data storage)
merupakan tipe instruksi yang berisi instruksi-instruksi penyimpanan ke memori
4.control
merupakan tipe instruksi yang berisi instruksi pengontrolan operasi dan percabangan
E.tipe-tipe operasi
1.transfer data
tindakan CPU untuk melakukan transfer data adalah
a.menetapkan lokasi operand sumber dan operand tujuan
b.lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack
c.menetapkan panjang data yang dipindahkan
d.menetapkan mode pengamatan yaitu
a.memindahkan data dari suatu lokasi ke lokasi lain
b.apabila memori dilibatkan:
-menetapkan alamat memori
-menjalankan transformasi alamat memori virtual ke alamat memori aktual
-mengawali pembacaan/penulisan memori
operasi set instruksi untuk transfer data:
move: memindahkan word atau block dari sumber ke tujuan
store: memindahkan word dari prosesor ke memori
load: memindahkan word dari memori ke prosesor
exchange: menukar isi sumber ke tujuan
clear/reset: memindahkan word 0 ke tujuan
set: memindahkan word 1 ke tujuan
push: memindahkan word dari sumber ke bagian paling atas stack
pop: memindahkan word dari bagian paling atas sumber
2.arithmatic
tindakan CPU untuk melakukan operasi aritmatika :
a.transfer data sebelum atau sesudah
b.melakukan fungsi dalam ALU
c.menset kode-kode kondisi dan flag
operasi set instruksi untuk aritmatika :
- ADD:penjumlahan
- SUBSTRACT:pengurangan
- MULTIPLY:perkalian
- DIVIDE:pembagian
- ABSOLUTE*
- NEGATIVE*
- DECREMENT*
- INCREMENT*
*absolute,negative,decrement,increment merupakan instruksi operand tunggal
3.logical
tindakan CPU untuk melakukan operasi logical :
sama dengan aritmatika
operasi set instruksi untuk logical:
4.conversi
tindakan CPU untuk melakukan operasi conversi :
sama dengan logical dan aritmatika dengan tambahan yaitu :
instruksi yang mengubah format instruksi yang beroperasi terhadap format data
misalnya pengubahan bilangan desimal menjadi bilangan biner
operasi set instruksi untuk conversi
5.transfer control
tindakan CPU untuk melakukan transfer control :
mengupdate program counter untuk subrutin, call/return
operasi untuk transfer control:
operasi set instruksi untuk input/output
7.control system
hanya dapat dieksekusi ketika prosesor berada dalam keadaan khusus tertentu atau sedang mengeksekusi suatu program yang berada dalam area khusus, biasanya digunakan didalam sistem operasi. contoh: membaca atau mengubah register control
F.number of addresses
adalah suatu cara untuk menggambarkan arsitektur prosesor adalah dengan melihat jumlah alamat yang terkandung dalam setiap instruksinya
jumlah alamat maksimum yang mungkin diperlukan dalam sebuah instruksi:
3.logical
tindakan CPU untuk melakukan operasi logical :
sama dengan aritmatika
operasi set instruksi untuk logical:
- AND,OR,NOT,XOR
- COMPARE:melakukan perbandingan logika
- TEST:menguji kondisi tertentu
- SHIFT:operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung bit
- ROTATE:operand menggeser ke kiri atau ke kanan dengan ujung yang terjalin
4.conversi
tindakan CPU untuk melakukan operasi conversi :
sama dengan logical dan aritmatika dengan tambahan yaitu :
instruksi yang mengubah format instruksi yang beroperasi terhadap format data
misalnya pengubahan bilangan desimal menjadi bilangan biner
operasi set instruksi untuk conversi
- TRANSLATE:menterjemahkan nilai-nilai dalam suatu bagian memori berdasarkan tabel korespondensi
- CONVERT:mengkonversi isi suatu word dari suatu bentuk ke bentuk lainnya
5.transfer control
tindakan CPU untuk melakukan transfer control :
mengupdate program counter untuk subrutin, call/return
operasi untuk transfer control:
- JUMP(cabang):pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu
- JUMP bersyarat:menguji persyaratan tertentu dan memuat PC dengan alamat tertentu dan tidak melakukan apa2 tergantung dari persyaratan
- JUMP SUBROUTINE:melompat ke alamat tertentu
- RETURN:mengganti isi PC dan register lainnya yang berasal dari lokasi tertentu
- SKIP: menambah PC sehingga melompati instruksi berikutnya
- SKIP BERSYARAT:melompat atau tidak melakukan apa-apa berdasarkan pada persyaratan
- HALT:menghentikan eksekusi program
- WAIT(HOLD):melanjutkan eksekusi pada saat persyaratan dipenuhi
- NO OPERATION:tidak ada operasi yang dilakukan
6.Input/Output
tindakan CPU untuk melakukan input/output :
- apa bila memory mapped i/o maka menentukan alamat memory mapped
- mengawali perintah ke modul I/O
operasi set instruksi untuk input/output
- INPUT: memindahkan data dari perangkaian I/O tertentu ke tujuan
- OUTPUT:memindahkan data dari sumber teretentu ke perangkat I/O
- START I/O:memindahkan instruksi ke prosesor I/O untuk mengawali operasi I/O
- TEST I/O:memindahkan informasi dari sistem I/O ke tujuan
7.control system
hanya dapat dieksekusi ketika prosesor berada dalam keadaan khusus tertentu atau sedang mengeksekusi suatu program yang berada dalam area khusus, biasanya digunakan didalam sistem operasi. contoh: membaca atau mengubah register control
F.number of addresses
adalah suatu cara untuk menggambarkan arsitektur prosesor adalah dengan melihat jumlah alamat yang terkandung dalam setiap instruksinya
jumlah alamat maksimum yang mungkin diperlukan dalam sebuah instruksi:
- empat alamat(dua operand, satu hasil, satu alamat instruksi berikutnya)
- tiga alamat(dua operand,satu hasil)
- dua alamat(satu operand merangkap hasil,satunya lagi operand)
- satu alamat (menggunakan accumulator untuk menyimpan operand dan hasilnya)
jenis-jenis addressing modes(tekhnik pengalamatan) yang paling umum adalah
immidiate
- direct
- indirect
- register
- register indirect
- displacement
- stack
G. DESAIN SET INSTRUKSI
Salah satu hal yang paling menarik tentang rancangan komputer adalah rancangan set instruksi. Karena rancangan ini mempengaruhi banak aspek sistem komputer, maka rancangan set instruksi sangat kompleks. Set instruksi menentukan banyak fungsi yang akan dilakukan oleh CPU dan karena itu memiliki efek yang sangat menentukan implementasi CPU. Set instruksi merupakan alat bagi pemrogram untuk mengontrol CPU. Dengan demikian, kebutuhan-kebutuhan pemrogram harus menjadi bahan pertimbangan dalam merancang set instruksi. Masalah rancangan fundamental yang paling signifikan meliputi:
- Repertori Operasi: Berapa banyak dan opersai-operasi apa yang harus disediakan, dan sekompleks apakah operasi itu seharusnya.
- Jenis data : berbagai jenis data pada saat operasi dijalankan
- Bentuk instruksi : Panjang instruksi (dalam bit), jumlah alamat, ukuran bidang, dan sebagainya.
- Register : Jumlah register CPU yang dapat diacu oleh instruksi, dan fungsinya.
- Pengalamatan: Mode untuk menspesifikasikan alamat suatu operand.
Masalah-masalah ini saling berkaitan dan harus diperhatikan dalam merancang set instruksi.
H.FORMAT INSTRUKSI
C.macam-macam instruksi menurut sifat akses terhadap memori atau register
Format instruksi menentukan layout bit suatu instruksi. Format instruksi harus mencakup opcode dan secara implisit atau eksplisit, nol operand atau lebih. Secara implisit atau eksplisit, format harus dapat mengindikasikan mode pengalamatan seluruh operand-nya. Pada sebagian besar set instruksi, digunakan lebih dari satu format instruksi. Rancangan format instruksi merupakan seni yang kompleks, dan telah diimplementasikan bermacam-macam rancangan.
Suatu instruksi terdiri dari beberapa field yang sesuai dengan elemen dalam instruksi tersebut. Layout dari suatu instruksi sering disebut sebagai Format Instruksi (Instruction Format).
Bentuk instruksi:
– Format instruksi 3 alamat
Mempunyai bentuk umum seperti : [OPCODE][AH],[AO1],[AO2]. Terdiri dari satu alamt hasil, dan dua alamat operand, misal SUB Y,A,B Yang mempunyai arti dalam bentuk algoritmik : Y := A – B dan arti dalam bentuk penjelasan : kurangkan isi reg a dengan isi reg B, kemudian simpan hasilnya di reg Y. bentuk bentuk pada format ini tidak umum digunakan di dalam computer, tetapi tidak dimungkinkan ada pengunaanya, dalam peongoprasianya banyak register sekaligus dan program lebih pendek.
Contoh:
A, B, C, D, E, T, Y adalah register
Program: Y = (A – B) / ( C + D × E)
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
Memerlukan 4 operasi
A, B, C, D, E, T, Y adalah register
Program: Y = (A – B) / ( C + D × E)
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
Memerlukan 4 operasi
– Format instruksi 2 alamat
Mempunyai bentuk umum : [OPCODE][AH],[AO]. Terdiri dari satu alamat hasil merangkap operand, satu alamat operand, missal : SUB Y,B yang mempunyai arti dalam algoritmik : Y:= Y – B dan arti dalam bentuk penjelasan : kurangkan isi reg Y dengan isi reg B, kemudian simpan hasillnya di reg Y. bentuk bentuk format ini masih digunakan di computer sekarang, untuk mengoprasikan lebih sedikit register, tapi panjang program tidak bertambah terlalu banyak.
Contoh :
A, B, C, D, E, T, Y adalah register
Program: Y = (A – B) / ( C + D × E)
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
A, B, C, D, E, T, Y adalah register
Program: Y = (A – B) / ( C + D × E)
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
Memerlukan 6 operasi
– Format instruksi 1 alamat
Mempunyai bentuk umum : [OPCODE][AO]. Terdiri dari satu alamat operand, hasil disimpan di accumulator, missal : SUB B yang mempunyai arti dalam algoritmik : AC:= AC – B dan arti dalam bentuk penjelasan : kurangkan isi Acc dengan isi reg B, kemudian simpan hasillnya di reg Acc. bentuk bentuk format ini masih digunakan di computer jaman dahulu, untuk mengoprasikan di perlukan satu register, tapi panjang program semakin bertambah.
Contoh :
A, B, C, D, E, Y adalah register
Program: Y = (A – B) / ( C + D × E)
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
Memerlukan 8 operasi
A, B, C, D, E, Y adalah register
Program: Y = (A – B) / ( C + D × E)
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
Memerlukan 8 operasi
– Format instruksi 0 alamat
Mempunyai bentuk umum : [OPCODE]. Terdiri dari semua alamat operand implicit, disimpan dalam bentuk stack. Operasi yang biasanya membutuhkan 2 operand, akan mengambil isi stack paling atas dan dibawahnya missal : SUB yang mempunyai arti dalam algoritmik : S[top]:=S[top-1]-S[top] dan arti dalam bentuk penjelasan : kurangkan isi stack no2 dari atas dengan isi stack paling atas, kemudian simpan hasilnya di stack paling atas, untuk mengoprasikan ada beberapa instruksi khusus stack PUSH dan POP.
Mempunyai bentuk umum : [OPCODE]. Terdiri dari semua alamat operand implicit, disimpan dalam bentuk stack. Operasi yang biasanya membutuhkan 2 operand, akan mengambil isi stack paling atas dan dibawahnya missal : SUB yang mempunyai arti dalam algoritmik : S[top]:=S[top-1]-S[top] dan arti dalam bentuk penjelasan : kurangkan isi stack no2 dari atas dengan isi stack paling atas, kemudian simpan hasilnya di stack paling atas, untuk mengoprasikan ada beberapa instruksi khusus stack PUSH dan POP.
Contoh :
A, B, C, D, E, Y adalah register
Program: Y = (A – B) / ( C + D × E)
PUSH A S[top] := A
PUSH B S[top] := B
SUB S[top] := A – B
PUSH C S[top] := C
PUSH D S[top] := D
PUSH E S[top] := E
MPY S[top] := D × E
ADD S[top] := C + S[top]
DIV S[top] := (A – B) /S[top]
POP Y Out := S[top]A, B, C, D, E, Y adalah register
Program: Y = (A – B) / ( C + D × E)
PUSH A S[top] := A
PUSH B S[top] := B
SUB S[top] := A – B
PUSH C S[top] := C
PUSH D S[top] := D
PUSH E S[top] := E
MPY S[top] := D × E
ADD S[top] := C + S[top]
DIV S[top] := (A – B) /S[top]
C.macam-macam instruksi menurut sifat akses terhadap memori atau register
memory-register instruction memungkinkan "kata-kata" memori dimasukkan ke dalam register. misalnya, mereka dapat digunakan sebagai input ALU dalam instruksi selanjutnya. ( "Kata-kata" adalah unit data yang dipindahkan antara memori dan register. Sebuah kata mungkin saja adalah bilangan bulat.) Petunjuk register-memori lainnya memungkinkan register disimpan kembali ke dalam memori.
memory-memory instruction adalah sebuah instruksi yang mentransfer informasi dari memori dan mengembalikannya ke memori. informasinya bisa berubah selama pemindahan(contohnya bertambah); informasi tersebut dapat atau tidak dapat kembali ke lokasi yang sama. istilah ini juga digunakan untuk merujuk pada instruksi yang mentransfer informasi antara level hirarki memori.transfer bisa secara kata per kata atau transfer per blok.
register-register instruction: biasa mengambil dua operand dari register, membawanya ke register input ALU dan melakukan beberapa operasi padanya (seperti penambahan atau Boolean DAN), dan menyimpan hasilnya kembali di salah satu register. Proses menjalankan dua operan melalui ALU dan menyimpan hasilnya yang disebut siklus jalur data dan merupakan jantung dari sebagian besar CPU. Sampai batas tertentu, ini menentukan apa yang dapat dilakukan mesin. Komputer modern memiliki beberapa ALU yang beroperasi secara paralel dan khusus untuk berbagai fungsi. Semakin cepat siklus jalur data, semakin cepat mesin bekerja.'
CREATED BY: DANDI SETYA PERDANA(11117429)-2KA32
memory-memory instruction adalah sebuah instruksi yang mentransfer informasi dari memori dan mengembalikannya ke memori. informasinya bisa berubah selama pemindahan(contohnya bertambah); informasi tersebut dapat atau tidak dapat kembali ke lokasi yang sama. istilah ini juga digunakan untuk merujuk pada instruksi yang mentransfer informasi antara level hirarki memori.transfer bisa secara kata per kata atau transfer per blok.
register-register instruction: biasa mengambil dua operand dari register, membawanya ke register input ALU dan melakukan beberapa operasi padanya (seperti penambahan atau Boolean DAN), dan menyimpan hasilnya kembali di salah satu register. Proses menjalankan dua operan melalui ALU dan menyimpan hasilnya yang disebut siklus jalur data dan merupakan jantung dari sebagian besar CPU. Sampai batas tertentu, ini menentukan apa yang dapat dilakukan mesin. Komputer modern memiliki beberapa ALU yang beroperasi secara paralel dan khusus untuk berbagai fungsi. Semakin cepat siklus jalur data, semakin cepat mesin bekerja.'
CREATED BY: DANDI SETYA PERDANA(11117429)-2KA32
SOURCE:
https://danarputra68.wordpress.com/2014/11/20/set-instruksi-dalam
organisasi-dan-arsitektur-komputer/


Komentar
Posting Komentar