25.Feby Asroful_Sistem komputer
Sistem Komputer Semester 2
Nama : Feby Asroful Anam
Kelas : XI TKJ 1
Absen : 25
Bab 1. Memahami Struktur dan fungsi CPU
1.1
Struktur dan fungsi CPU
CPUadalah
komponen pengolah data berdasarkan instruksi – instruksi yang
diberikankepadanya.Dalam mewujudkan fungsi dan tugasnya, CPU tersusun atas
beberapakomponen sebagai bagian dari struktur CPU, seperti terlihat pada gambar
komponenCPU dan struktur internal CPU. CPU tersusun atas beberapa komponen,
yaitu :
1.
Arithmetic and Logic Unit (ALU), bertugas membentuk fungsi –
fungsi pengolahan data komputer. ALU sering disebut mesin bahasa (machine
language) karena bagian ini mengerjakan instruksi – instruksi bahasa mesin yang
diberikan padanya.
2.
Control Unit, bertugas mengontrol operasi CPU dan secara
keselurahan mengontrol computer sehingga terjadi sinkronisasi kerja antar
komponen dalam menjalankan fungsi – fungsi operasinya.
3.
Registers, adalah media penyimpan internal CPU yang digunakan saat
prosespengolahan data. Memori ini bersifat sementara, biasanya digunakan untuk
menyimpan data saat diolah ataupun data untuk pengolahan selanjutnya.
4.
CPU Interconnections, adalah sistem koneksi dan bus yang
menghubungkankomponen internal CPU, yaitu ALU, unit kontrol dan register –
register dan jugadengan bus – bus eksternal CPU yang menghubungkan dengan
sistem lainnya,
seperti
memori utama, piranti masukan/keluaran.
Ø
Hal-hal yang dilakukan CPU adalah sebagai berikut :
1. Fetch instruction
(mengambil instruksi) yaitu CPU membaca instruksi dari memori
2. Interpret instruction (menterjemahkan
instruksi) yaitu CPU menerjemahkan
instruksi untuk menentukan
langkah yang diperlukan.
3. Fetch data (mengambil
data) yaitu eksekusi instruksi yang mungkin memerlukan
pembacaan data dari memori
datau dari modul I/O
4. Process data (mengolah
data) yaitu eksekusi instruksi yang memerlukan operasi aritmatik
5. Write data (menulis
data) yaitu hasil eksekusi yang mungkin memerlukan
penulisan data ke memori
datau ke modul I/O.
1.2
Control
Unit
Ø Tugas
dari CU adalah sebagai berikut:
1. Mengatur dan
mengendalikan alat-alat input dan output.
2. Mengambil
instruksi-instruksi dari memori utama.
3. Mengambil data dari
memori utama kalau diperlukan oleh proses.
4. Mengirim
instruksi ke ALU bila ada perhitungan aritmatika atau perbandinganlogika serta mengawasi
kerja.
5. Menyimpan hasil proses
ke memori utama.
Ø
Proses tiga langkah karakteristik unit control:
1. Menentukan elemen dasar
prosesor
2. Menjelaskan operasi
mikro yang akan dilakukan prosesor
3. Menentukan
fungsi-fungsi yang harus dilakukan unit control agar menyebabkan
pembentukan operasi mikro
Ø
Masukan-masukan unit control:
1. Clock / pewaktu
Pewaktu adalah cara unit
control dalam menjaga waktunya. Unit control
menyebabkan sebuah operasi
mikro (atau sejumlah operasi mikro yang
bersamaan) dibentuk bagi
setiap pulsa waktu.Pulsa ini dikenal sebagai waktu
siklus prosesor.
2. Register instruksi
Opcode instruksi saat itu
digunakan untuk menentukan operasi mikro mana yang
akan dilakukan selama
siklus eksekusi.
3. Flag
Flag ini diperlukan oleh
unit control untuk menentukan status prosesor dan hasil operasi ALU sebelumnya.
4. Sinyal
control untuk mengontrol bus
Bagian bus control bus system memberikan sinyal-sinyal ke unit
control, seperti sinyal-sinyal interupsi dan acknowledgement.
Ø Keluaran-keluaran unit
control:
Sinyal control
didalam prosesor terdiri dari dua macam:
1.
sinyal-sinyal yang menyebabkan data dipindahkan dari register yang satu
keregister yang
lainnya,
2.
sinyal-sinyal yang dapat mengaktifasi fungsi-fungsi ALU tertentu.
1.3
Register
Sistem
Komputer menggunakan hirarki memori pada tingkatan yang atas,
memori lebih cepat, lebih
kecil, lebih mahal. Di dalam CPU, terdapat sekumpulan
register yang tingkatan
memorinya berada di atas hirarki memori utama dan cache.
Register dalam CPU
memiliki dua fungsi:
1. User-visible Register, yaitu register yang dapat direferensikan
dengan
menggunakan bahasa mesin
yang dieksekusi CPU, User-visible terdiri dari:
General Purpose Register;
Register Alamat; Register Data; dan Register Kode
Status Kondisi (Flag)
2. Control and Register, yaitu register-register yang digunakan oleh
unit kontrol
untuk mengontrol operasi
CPU dan oleh program sistem operasi untuk mengntrol
eksekusi program.
Bab 2. Memahami Karakteristik set Instruksi
2.1 Elemen elemen instruksi
Elemen Instruksi
Agar dapat dieksekusi,
setiap instruksi harus berisi informasi yang diperlukan
oleh CPU. Informasi itu
dituangkan dalam elemen-elemen instruksi:
§ Operation Code/Kode
Operasi: menspesifikasikan operasi yang akan dilakukan
(misalnya, ADD).
§ Operasi dispesifikasikan
oleh kode biner, yang dikenal sebagai kode operasi,
atau opcode.
§ Source Operand
Reference/Referensi Operand Sumber: operasi dapat
mencakup satu atau lebih
sumber, operand merupakan input bagi operasi.
§ Result Operand
Reference/Reference Operand Hasil: operasi dapat membuat
hasil operasi.
§
Next Instruction Reference/Reference Operand Selanjutnya: elemen
ini memberitahu CPU posisi instruksi berikutnya yang harus diambil
setelahmenyelesaikan eksekusi suatu instruksi.
Sumber dan hasil operand
dapat berada di salah satu dari ketiga daerah di bawah
ini:
§
Memori utama atau memori virtual: dengan referensi alamat
berikutnya, maka
alamat memori utama atau
virtual harus diketahui.
§
Register CPU: instruksi harus diberi nomor register yang dimaksud.
§ Perangkat I/O: instruksi
harus menspesifikasikan modul I/O yang diperlukan oleh
operasi.
2.2 Tipe – tipe Instruksi
Tipe atau jenis-jenis
instruksi
1. Data procecessing:
Arithmetic dan Logic Instructions
Data processing adalah
jenis pemrosesan yang dapat mengubah data menjadi informasiatau pengetahuan.
2. Data storage: Memory
instructions
Sering disebut sebagai
memori komputer, merujuk kepada komponen komputer, perangkat komputer, dan
media perekaman yang mempertahankandata digital yang digunakan untuk beberapa
interval waktu.
3. Data Movement: I/O
instructions
Proses data movement ini
adalah memindahkan (dapat diakatakan
membackup juga) data –
data dari database yang berupa data, indeks, grand,
schema, dan lain – lain
ketempat baru.
Data movement terdiri dari
2 bagian besar yaitu :
· Load &
Upload [difokuskan untuk memindahkan data yang berupa indeks
atau data itu sendiri
alias isi dari database tersebut]
· Export &
Import [memindahkan data secara lengkap, mulai dari grand,
schema, dan seluruhnya]
Load berfungsi untuk
memasukan data / transaksi ke sebuah table.
Dapat dikatakan juga
insert, replace, atau update. Sedangkan upload berfungsi
untuk membuat dari data
table ke fisik / file. Kelemahan load adalah dalam
prosesnya bisa saja
terjadi data yang tidak berpindah secara sempurna.
Upload Parameter
· Limit
[membatasi beberapa record]
· Sample
[mencari sample yang telah ditentukan]
· When
[berdasarkan kondisi]
4. Control: Test and
branch instructions
adalah salah satu bagian
dari CPU yang bertugas untuk memberikan arahan/kendali/ kontrol terhadapoperasi
yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPUtersebut.
Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari
perangkat CPU tersebut.
2.3 Tipe – tipe operand
Operand adalah sebuah
objek yang ada pada operasi matematika yang
dapat digunakan untuk
melakukan operasi. Operand atau operator dalam bahasa
C berbentuk simbol bukan berbentuk
keyword atau kata yang biasa ada di
bahasa pemrograman lain.
Simbol yang digunakan bukan karakter yang ada
dalam abjad tapi ada pada
keyboard kita seperti = ,* dsb.
Tipe Operand
a. Tipe Data
Tipe Data setiap data
memiliki tipe data, apakah merupakan angka bulat (integer), angka biasa (real),
atau berupa karakter (char), dan sebagainya.
Ada dua kategori dari tipe
data yaitu tipe dasar dan tipe bentukan.
a. Tipe dasar adalah tipe
data yang selalu tersedia pada setiap bahasa pemograman, antara lain :
a. Bilangan bulat
· Integer
(-32768 s/d +32768)
Bilangan atau angka yang
tidak memiliki titik desimal atau pecahan seperti +10,-1024,+32767,+255. Tipe
data ini dapat ditulisakan sebagai integer atau int. Operasi aritmatiknya
terdiri dari : tambah +, kurang -, kali *, bagi /, sisa hasil bagi %. Operasi
Pembandingan terdiri dari
: lebih kecil <, lebih kecil atau sama ,
lebih besar atau sama
>=
· Long (-16 juta
s/d16 juta)
· Byte (0 s/d
255)
b. Bilangan pecahan
· Double
(3,7×10-308 s/d 3,7×10+308)
· Float
(3,4×10-38 s/d 3,4×10+38)
c. Karakter
Karakter adalah data
tunggal yang mewakili semua huruf, simbol baca dan juga simbol angka yang tidak
dapat dioperasikansecara sistematis.Tipe ini dapat dituliskan sebagai char.
b. Tipe bentukan adalah
tipe data yang dibentuk dari kombanisasi tipe dasar,
antara lain :
a. Array (larik)
Selama ini kita
menggunakan satu variabel untuk menyimpan 1 buah nilai dengan tipe data
tertentu.misalnya : int a1,a2,a3,a4,a5;
b. String
String adalah tipe data
bentukan yang merupakan deretan karakter yang membentuk satu kata atau satu
kalimat, yang biasanyadapat dua tanda kutip.
b. Variabel
Variabel adalah nama yang
mewakili sutau elemen data seperti : jenkel untuk jenis kelamin, t4lahir untuk
tempat lahir, alamat unutk alamat dansebagainya.
c. Operator dan Operand
Operand adalah data,
tetapan, perubah atau hasil dari suatu fungsi
sedangkan Operator
merupakan simbol-simbol yang memiliki fungsi untuk
menghubungkan operand
sehingga menjadi tranformasi.
Jenis-jenis operator
adalah sebagai berikut :
a. Operator Aritmetika
Operator untuk melakukan
fungsi aritmetika seperti : +(penjumlahan), – (mengurangkan), * (mengalikan), /
(membagi).
b. Operator relational
Operator untuk menyatakan
relasi atau perbandingan antara dua operand, seperti > (lebih besr), =(lebih
besar atau sama), <= (lebih kecil
atau sama), == (sama), !=
(tidak sama).
c. Operator Logik
Operator untuk merelasikan
operand secara logis seperti && (and), || (or), !(not).
2.4 Tipe – tipe operasi data
Transfer data,
meliputi kegiatan: Menetapkan lokasi operand sumber dan
operand tujuan;
Lokasi-lokasi tersebut dapat berupa memori, register atau bagian
paling atas daripada
stack; Menetapkan panjang data yang dipindahkan;
Menetapkan mode
pengalamatan. Tindakan CPU untuk melakukan transfer data
adalah: Memindahkan data
dari satu lokasi ke lokasi lain; Menetapkan alamat
memori, Menjalankan
transformasi alamat memori virtual ke alamat memori actual,
Mengawali pembacaan /
penulisan memori (Apabila memori dilibatkan). Operasi set
instruksi untuk transfer
data, antara lain: MOVE, STORE, LOAD, EXCHANGE,
CLEAR / RESET, SET, PUSH,
POP.
·
ARITHMETIC. Tindakan CPU untuk melakukan operasi arithmetic,
antara
lain: Transfer data
sebelum atau sesudah; Melakukan fungsi dalam ALU; dan Menset
kode-kode kondisi dan
flag. Operasi set instruksi untuk arithmetic, yaitu: ADD,
SUBTRACT, DIVIDE,
ABSOLUTE, NEGATIVE, DECREMENT, INCREMENT.
·
LOGICAL. Tindakan CPU untuk melakukan operasi logical, sama dengan
arithmetic. Operasi set
instruksi untuk operasi logical, yaitu: AND, OR, NOT, EXOR;
COMPARE; TEST; SHIFT;
ROTATE.
·
CONVERSI. Tindakan CPU untuk melakukan operasi Conversi, sama
dengan arithmetic dan
logical. Operasi set instruksi untuk conversi, yaitu:
TRANSLATE dan CONVERT.
·
I/O. Tindakan CPU untuk melakukan INPUT /OUTPUT, yaitu: Apabila
memory mapped I/O maka
menentukan alamat memory mapped , dan Mengawali
perintah ke modul I/O.
Operasi set instruksi Input / Ouput, antara lain: INPUT,
OUTPUT, START I/O, TEST
I/O.
·
TRANSFER CONTROL. Tindakan CPU untuk transfer control, yaitu
Mengupdate program counter
untuk subrutin , call / return. Operasi set instruksi
untuk transfer control,
meliputi: JUMP (cabang); JUMP BERSYARAT; JUMP
SUBRUTIN; RETURN; EXECUTE;
SKIP; SKIP BERSYARAT; HALT; WAIT (HOLD);
NO OPERATION.
·
CONTROL SYSTEM. Hanya dapat dieksekusi ketika prosesor berada
dalam
keadaan khusus tertentu
atau sedang mengeksekusi suatu program yang berada
dalam area khusus,
biasanya digunakan dalam sistem operasi.Contoh : membaca
atau mengubah register
kontrol.
2.5 Instruksi percabangan
Struktur Branching
(Percabangan)
1. IF
Instruksi IF digunakan
untuk memeriksa suatu kondisi dan melaksanakan
instruksi lain jika
kondisi tersebut terpenuhi atau bernilai true.
2. If Else
Adakalanya kita harus
melaksanakan proses yang berbeda untuk kondisi yang berbeda, misalnya
menampilkan kata lulus untuk nilai yang sama denganatau lebih besar daripada 60
dan menampilkan kata tidak lulus untuk nilai yangkurang dari 60.
3. Nested If (Struktur If
bersarang)
Pada suatu instruksi if,
statement yang dikerjakan apabila kondisi bernilai true dapat berupa instruksi
if yanglain.
Bab 3. Mode dan format pengalamatan
3.1 Inherent
Dalam mode
pengalamatan inherent, semua informasi yang dibutuhkan untuk
operasi telah diketahui
otomatis oleh CPU, dan tidak dibutuhkan operan eksternal
dari memori atau dari
program.Karena itu operasi ini hanyalah terdiri dari satu byte
instruksi. Contoh: 0200 4C
INCA ; increment akumulator.
Pertama CPU
membaca kode operasi $4C, kemudian CPU akan menyimpan
harga baru ke dalam
akumulator dan mengeset bitflag jika dibutuhkan.
Instruksi-instruksi Mode
Pengalamatan inherent, antara lain: ASLA, ASRA,
CLC, CLI; CLRA, COMA,
DECA, INCA; LSLA, LSRA, MUL, NEGA; NOP, ROLA,
RORA, RSP; RTI, RTS, SEC,
SEI; STOP, SWI, TAX, TSTA; TXA, WAIT.
3.2 Immediate
Dalam mode
pengalamatan immediate, operan terkandung di dalam byte
yang langsung mengikuti
kode operasi.Operasi dengan mode ini membutuhkan dua
byte instruksi, satu untuk
kode operasi dan satu lagi untuk data byte. Contoh: 0200
A6 02 LDA #$02 ; Load
konstanta ke akumulator.
Pertama CPU akan membaca
kode operasi $A6, kemudian CPU akan
membaca dataimmediate
$02 dari lokasi memori dengan alamat $0201 ke dalam
akumulator.
Instruksi-instruksi
Mode Pengalamatan immediate, antara lain: ADC, ADD,
AND, BIT; CMP, CPX, EOR,
LDA; LDX, ORA, SBC, SUB.
3.3 Direction
Mode pengalamatan direct
menyebabkan efisiensi alamat dalam 256 byte pertama dalam memori.Dalam mode ini
instruksi terdiri dari dua byte, satu untuk kode operasi dan satu lagi untuk
alamat operan. Contoh: 0200 B6 E0 LDA $E0
Pertama CPU akan membaca
kode operasi $B6, kemudian CPU membaca
$E0 dari lokasi memori
dengan alamat $0201. Harga $E0 ini diterjemahkan
sebagai low-order
dari alamat dalam direct page ($0000 sampai $00FF).
Instruksi-instruksi
Mode Pengalamatandirect, antara lain: ADC, ADD, AND,
ASL; ASR, BCLR, BIT,
BRCLR; BRSET, BSET, CLR, CMP; COM, CPX, DEC, EOR;
INC, JMP, JSR, LDA; LDX,
LSL, LSR, NEG; ORA, ROL, ROR, SBC; STA, STX,
SUB, TST.
3.4 Extended
Pengalamatan extended
ini dapat digunakan untuk mengakses semua lokasi
dalam memori
mikrokontroler termasuk I/O, RAM, ROM, dan EPROM. Karena itu
operasi ini membutuhkan
tiga byte, satu untuk kode operasi, dan dua untuk alamat
dari operan.Contoh : 0200
C6 03 65 LDA $0365
Pertama CPU
akan membaca kode operasi C6, kemudian CPU akan
membaca $03 dari lokasi
memori $0201 dan diterjemahkan sebagai alamat highorder.
Setelah itu CPU membaca
$65 dari lokasi $0202 dan diterjemahkan
sebagai low-order
dari alamat. Instruksi-instruksi Mode Pengalamatan extended, antara
lain: ADC, ADD,AND, BIT; CMP, CPX, EOR, JMP; JSR, LDA, LDX, ORA; SBC, STA, STX,
SUB.
3.5 Indexed
Terdapat tiga jenis
pengalamatan indexed yang didukung oleh CPU keluarga
M68HC05, yaitu:
1. Mode pengalamatan indexed-no
offset. Dalam mode pengalamatan ini, alamat
efektif dari operan
terkandung dalam index register 8-bit.
Indexed-no offset dan
Indexed-8 bit offset, antara lain: ADC, ADD, AND,
ASL; ASR, BIT, CLR, CMP;
COM, CPX, DEC, EOR; INC, JMP, JSR, LDA; LDX,
LSL, LSR, NEG; ORA, ROL,
ROR, SBC; STA, STX, SUB, TST.
2. Mode pengalamatan indexed-8
bit offset. Dalam mode pengalamatan ini,alamat
efektif dicapai dengan
menambahkan data byte yang mengikuti kode operasi
dengan isi dari index
register.
3. Mode pengalamatan indexed-16
bit offset. Dalam mode pengalamatan ini,alamat efektif dari operan
suatu instruksi adalah hasil penjumlahan antara isi dari index register 8-bit
dengan dua byte alamat yang mengikuti kode operasi.
Instruksi-instruksi Mode
Pengalamatan indexed-16 bit offset, antara lain:
ADC, ADD, AND, BIT; CMP,
CPX, EOR, JMP; JSR, LDA, LDX, ORA; SBC, STA,
STX, SUB.
3.6 Relative
Mode
pengalamatan relative ini digunakan hanya dalam instruksi percabangan.
Karena kemampuannya untuk bercabang ke dua arah, byte offset adalah bilangan
bertanda dengan jangkauan –128 sampai +127. Jika kondisi percabangan TRUE, isi
dari byte bertanda 8-bit; jika FALSE maka kontrol program akan terus ke
instruksi di bawah instruksi percabangan. Contoh: 0200 27 rr BEQ DEST
Pertama CPU
akan membaca kode operasi $27. Bit CCR Z akan set jika hasil
dari operasi aritmatika
atau logika sebelumnya adalah nol. CPU kemudian akan
membaca harga offset $rr
dari alamat $0201. Setelah siklus ini, PC akan
menunjukkan ke byte
pertama dari instruksi berikutnya ($0202). Jika bit Z nol, maka
tidak ada aksi apa-apa.
Instruksi-instruksi
Mode Pengalamatan relative, antara lain: BCC, BCS, BEQ,
BHCC; BHCS, BHI, BHS, BIH;
BIL, BLO, BLS, BMC; BMI, BMS, BNE, BPL; BRA,
BRCLR, BRSET, BRN; BSR.
Jika ber minat,klik di SINI
Komentar
Posting Komentar