RANGKUMAN
1. Bab 1 – Memahami Struktur dan fungsi CPU
1.1 Kegiatan belajar 1 – Struktur dan fungsi CPU
Rangkuman
CPU adalah komponen pengolah data berdasarkan instruksi – instruksi yang diberikan kepadanya, yang tersusun atas beberapa komponen, yaitu:
1. Arithmetic and Logic Unit (ALU) atau language machine, bertugas membentuk fungsi
– fungsi pengolahan data computer, yang terdiri dari dua bagian, yaitu unit arithmetika dan unit logika Boolean.
2. Control Unit, bertugas mengontrol operasi CPU dan secara keselurahan mengontrol computer, termasuk mengambil instruksi – instruksi dari memori utama dan menentukan jenis instruksi tersebut.
3. Registers, adalah media penyimpan internal CPU yang digunakan saat proses pengolahan data, yang bersifat sementara.
4. CPU Interconnections, adalah sistem koneksi dan bus yang menghubungkan komponen internal CPU, yaitu ALU, unit kontrol dan register – register dan juga dengan bus – bus eksternal CPU.
Hal-hal yang dilakukan CPU adalah sebagai berikut :
1. Fetch instruction (mengambil instruksi).
2. Interpret instruction (menterjemahkan instruksi).
3. Fetch data (mengambil data).
4. Process data (mengolah data).
5. Write data (menulis data).
1.2 Kegiatan belajar 2 – Control Unit
Rangkuman
Tugas dari CU : Mengatur dan mengendalikan alat-alat input dan output, Mengambil instruksi-instruksi dari memori utama, Mengambil data dari memori utama kalau diperlukan oleh proses, Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandinganlogika serta mengawasi kerja serta Menyimpan hasil proses ke memori utama.
Masukan-masukan unit control: Clock / pewaktu, Register instruksi, Flag, Sinyal control untuk mengontrol bus
1.3 Kegiatan belajar 3 – Register
Rangkuman
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. Terdapat empat register yang penting, yaitu: Program Counter (PC); Instruction Register (IR); Memory Address Register (MAR); Memori Buffer Register (MBR); Memori Data Register (MDR)
Fungsi CPU, yaitu Menjalankan program – program yang disimpan dalam memori utama dengan cara mengambil instruksi – instruksi, menguji instruksi tersebut dan mengeksekusinya satu persatu sesuai alur perintah.
2. Bab 2 – Memahami Karakteristik set Instruksi
2.1 Kegiatan belajar 1 – Elemen elemen instruksi
Rangkuman
Elemen-elemen instruksi yang diperlukan oleh CPU, antara lain; Operation Code/Kode Operasi; Operasi dispesifikasikan oleh kode biner; Source Operand Reference/Referensi Operand Sumber; Result Operand Reference/Reference Operand Hasil; Next Instruction Reference/Reference Operand Selanjutnya.
Sumber dan hasil operand dapat berada di salah satu dari tiga daerah, yaitu: Memori utama atau memori virtual; Register CPU; Perangkat I/O.
Dalam komputer, instruksi direpresentasikan oleh sekumpulan bit.Mnemonic adalah singkatan-singkatan yang mengindikasikan suatu operasi yang merupakan representasi dari opcode. Contoh: ADD; SUB; LOAD; INC.
2.1 Kegiatan belajar 2 – Tipe – tipe Instruksi
Rangkuman
Tipe atau jenis-jenis instruksi, antara lain:
1. Data procecessing: Arithmetic dan Logic Instructions
Data processing adalah jenis pemrosesan yang dapat mengubah data menjadi informasi atau pengetahuan.Setelah diolah, data ini biasanya mempunyai nilai yang informative, maka istilah pemrosesan data sering dikatakan sebagai sistem informasi.
2. Data storage: Memory instructions
Sering disebut sebagai memori komputer, merujuk kepada komponen komputer, perangkat komputer, dan media perekaman yang mempertahankan data digital yang digunakan untuk beberapa interval waktu.
Dalam penggunaan kontemporer, memori komputer merujuk kepada bentuk media penyimpanan berbahan semikonduktor, yang dikenal dengan sebutan Random Access Memory (RAM).Akan tetapi, istilah "computer storage" sekarang secara umum merujuk kepada media penyimpanan massal seperti halnya hard disk.
3. Data Movement: I/O instructions
Proses data movement ini adalah memindahkan (dapat dikatakan 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 dan Export & Import. Load berfungsi untuk memasukan data / transaksi ke sebuah table. Sedangkan upload berfungsi untuk membuat dari data table ke fisik / file. Upload Parameter, antara lain: limit, sample, dan when.
Bulk Data Movement (Software Pendukung), antara lain: ETL [Extrat Transform Load] dan Replication and Propagation. Hak akses dalam load & unload, import & export minimal adalah akses select.
Dalam distribution database terdapat 3 istilah yaitu: Autonomi [idependent]; Isolation [stand alone]; dan Transparancy [all user]. Lawan dari database terdistribusi adalah database terpusat.
4. Control: Test and branch instructions
CU diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store).Control Unit - CU) adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan/kendali/ kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut.
2.2 Kegiatan belajar 3 – Tipe – tipe operand
Rangkuman
Operand adalah sebuah objek yang ada pada operasi matematika yang dapat digunakan untuk melakukan operasi. Operand atau operator dalam bahasa C berbentuk symbol yang berupa karakter yang ada pada keyboard seperti = , * dan sebagainya.
Tipe Operand, antara lain:
a. Tipe Data, dapat berupa angka bulat (integer), angka biasa (real), atau berupa karakter (char), dan sebagainya. Ada dua kategori dari tipe data yaitu tipe dasar (berupa Bilangan bulat Integer, Long, Byte; Bilangan pecahan double dan float; dan karakter) dan tipe bentukan (berupa Array (larik) dan string).
b. Variabel, yaitu nama yang mewakili sutau elemen data seperti : jenkel untuk jenis kelamin, t4lahir untuk tempat lahir. Aturan yang wajib diikuti dalam pemberian nama variabel, antara lain: Harus dimulai dengan huruf abjad; Tidak boleh ada spasi diantaranya; tidak menggunakan simbol-simbol; Sebaiknya memiliki arti yang sesuai dengan elemen data; Sebaiknya tidak terlalu panjang
c. Operator dan Operan. 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: Operator Aritmetika; Operator relational; Operator Logik.
2.3 Kegiatan belajar 4 – Tipe – tipe operasi data
Rangkuman
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.4 Kegiatan belajar 5 – Instruksi percabangan
Rangkuman
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. Apabila evaluasi terhadap kondisi memberikan nilai true maka statement dikerjakan, sebaliknya jika false maka statement tidak dikerjakan. Statement dapat berupa instruksi kosong, instruksi tunggal atau beberapa instruksi yang dilingkup dengan { }. Tidak diperbolehkan ada klausa else tanpa instruksi if.
3. Nested If (Struktur If bersarang), yaitu pada suatu instruksi if, statement yang dikerjakan apabila kondisi bernilai true dapat berupa instruksi if yang lain. Hal yang sama juga berlaku untuk statement yang dikerjakan pada bagian klausa else.
3. Bab 3 – Mode dan format pengalamatan
3.1 Kegiatan belajar 1 – Inherent
Rangkuman
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 Kegiatan belajar 2 – Immediate
Rangkuman
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 Kegiatan belajar 3 – Direction
Rangkuman
Mode pengalamatan direct menyebabkan efisiensi alamat dalam 256 byte pertama dalam memori. Pengalamatan direct ini efisien bagi memori program dan waktu eksekusi. 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).Setelah itu CPU menyusun alamat lengkap $00E0 dengan menganggap high-order byte alamat sebagai $00.Alamat lengkap $00E0 ini kemudian diletakkan dalam bus alamat dan diproses.
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 Kegiatan belajar 4 – Extended
Rangkuman
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 high-order. Setelah itu
CPU membaca $65 dari lokasi $0202 dan diterjemahkan sebagai low-order dari
alamat.Terakhir, CPU membangun alamat lengkap $0365 dan meletakkannya dalam bus alamat dan kemudian melakukan operasi read.
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 Kegiatan belajar 5 – Indexed
Rangkuman
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. Karena itu, mode pengalamatan ini dapat mengakses 256 lokasi memori (dari $0000 sampai $00FF). Instruksi mode ini membutuhkan satu byte instruksi. Contoh: 0200 F6 LDA 0,X
Pertama CPU akan membaca kode operasi $F6, kemudian CPU menyusun alamat lengkap dengan menjumlahkan $0000 ke isi dari index register 8-bit (X). Alamat ini kemudian diletakkan dalam bus alamat dan setelah itu dilakukan proses pembacaan data.
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. Operasi ini adalah dua byte instruksi di mana offset terkandung dalam byte yang mengikuti kode operasi. Isi dari index register tidak akan dirubah. Contoh: 0200 E6 05 LDA 5,X
Pertama CPU akan membaca kode operasi $E6, kemudian CPU akan membaca 8-bit offset ($05) dari alamat $0201, lalu menyusun alamat lengkap dengan menambahkan nilai offset $05 ke isi dari index register 8-bit (X). Setelah itu, alamat diletakkan dalam bus alamat dan diproses.
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 ini memakan tiga byte, satu untuk kode operasi dan dua byte untuk offset 16-bit. Contoh: 0200 D6 03 77 LDA $377,X
Pertama CPU akan membaca kode operasi $D6, kemudian CPU akan membaca high order alamat ($03) dari alamat memori $0201 dan membaca low order alamat ($77) dari alamat $0202. CPU akan menyusun alamat lengkap dengan menambahkan isi dari index register 8-bit dengan 16-bit alamat yang baru saja dibaca. Alamat ini diletakkkan dalam bus alamat dan diproses.
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 Kegiatan belajar 6 – Relative
Rangkuman
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. Program akan terus ke instruksi berikutnya pada alamat $0202. Jika bit Z satu, CPU akan menambahkan nilai offset $rr ke isi dari PC sekarang untuk mendapatkan alamat tujuan dari percabangan. Hal ini menyebabkan eksekusi program berlanjut ke alamat baru (DEST).
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.