CENTRAL PROCESSING UNIT (CPU)
Arsitektur
dasar mesin tipe von neumann menjadi
kerangka referensi pada komputer digital umum (general-purpose) modern. 3 bagian
fundamental tersebut adalah:
Program
disimpan dalam unit memori utama yang berhadapan dengan piranti I/O melalui
CPU. CPU membaca dari atau menulis ke memori, dengan mengirimkan alamat word ke
unit memori melalui bus address
kemudian menerima atau mengirimkan data melalui bus data. Data dipertukarkan
antara CPU dan Unit I/O juga dengan menggunakan bus data. Operasi
disinkronisasikan oleh dua bus control dengan sinyal kendali yang dikirimkan
oleh CPU dan sinyal acknowledgment serta
sinyal interupsi yang diterima oleh CPU.
- Organisasi CPU
Gambar
diatas disebut jalur data dan berisi register-register (terutama 1 sampai 32), ALU (Arithmetic Logic
Unit) dan beberapa bus yang
menghubungkan bagian-bagian tersebut. Register-register tersebut melengkapi dua register untuk input
ALU, yang dalam gambar diberi label A
dan B. Register-register ini menyimpan input
ALU sementara ALU menjalankan fungsi perhitungan.
KUMPULAN REGISTER
Register
dari sebuah komputer secara kolektif disebut sebagai kumpulan register (register set).
pada
gambar (a) diatas menunjukkan kumpulan register pada mikroprosesor intel 8085. Pada CPU ini,
register A berfungsi sebagai sebuah
akumulator 8 bit. CPU juga mencakup sebuah program counter (PC), sebuah stack pointer (SP),
sebuah flag register dan enam register
pengalamatan 8 bit. Pada gambar (b) diatas, register 8 bit biasanya digunakan secara berpasangan.
Register A bersama sama dengan flag register, membentuk program status word
(PSW). Tiga pasangan lainnya digunakan
untuk tujuan pengalamatan, pasangan H
merupakan pasangan yang sangat umum digunakan.
Pasangan ini bisa dirujuk secara bersama-sama atau terpisah, yang
menyebabkan tersedianya berbagai variasi intruksi.
ARITHMETIC AND LOGIC UNIT (ALU)
Ide
mengenai satu adder umum yang mampu menambahkan
dua register bersama-sama dan menyimpan hasilnya dalam register lainnya
merupakan prinsip yang mendasar pada ALU. Sehingga ALU didefinisikan sebagai sebuah unit yang berisi
sirkuit untuk menjalankan sekumpulan
operasi mikro aritmatika dan logika.
Sebuah contoh dari dua fungsi ALU ditunjukkan sebagai berikut,
Sejumlah
n baris input dari A dan B dihubungkan dengan blok fungsi f1 dan f2. Kemudian sejumlah n baris
output pada blok tersebut dihubungkan
dengan sejumlah n multiplexer (MUX). Tergantung dari operasi
mikro tertentu yang harus dijalankan maka baris seleksi akan di-set untuk memilih baris output fungsi yang
semestinya untuk sejumlah n baris dari
R1, yaitu hasil operasi ALU. Jumlah baris seleksi yang diperlukan tergantung pada jumlah fungsi
di dalam ALU, pada bagian ini ada dua
input n-bit, yaitu A dan B, dan sebuah output n-bit, yaitu R1.
Fungsi
Aritmatika pada sebuah ALU biasanya mencakup integer, floating-point (real) dan
desimal berkode biner. Disini operasi yang terjadi adalah penambahan,
pengurangan, perkalian dan pembagian.
Fungsi
Logika pada ALU lebih sederhana. Untuk segala operasi logika yang ingin
diterapkan, maka hanya perlu memuat sejumlah n gerbang logika tertentu untuk
operasi tersebut (satu untuk setiap
pasangan bit input). Selain itu pula ALU dapat digunakan sebagai Pergeseran,
dengan menerapkan sirkuit geser kombinasional yang dikenal sebagai skalar
posisi. Karena kita ingin menjalankan pergeseran bersamaan dengan fungsi
aritmatika atau logika, seperti pada perkalian atau pengepakan string, maka
akan lebih efisien untuk men-set penggeser diluar ALU. Dengan cara ini dapat ditambahkan
dua angka dan menggeser seluruh hasil dalam satu langkah daripada meneruskan
hasilnya ke input ALU lagi dan kemudian
mensetup ALU untuk menggeser angka tersebut. Terlihat pada gambar dibawah ini:
CONTROL LOGIC UNIT (CLU)
CLU
pada komputer memasukkan informasi tentang instruksi dan mengeluarkan baris kendali yang
diperlukan untuk mengaktifkan operasi-mikro yang semestinya. CLU terbentuk atas
sebuah prosesor instruksi (IP atau instruction processor) yang berfungsi untuk
mengendalikan fetch, perhitungan alamat dan siklus interupsi, kemudian prosesor
aritmatika (AP atau arithmatic processor) yang berfungsi untuk mengendalikan
siklus eksekusi bagi operasi aritmatika dan logika.
Konfigurasi CPU
Komponen
CPU dapat tersusun dalam berbagai cara, sangat
tergantung pada jumlah bus data internal yang digunakan. Dua contoh diantaranya adalah Organisasi bus tunggal dan organisasi
triple bus.
Organisasi triple bus
Penggunaan
tiga bus data internal, seperti gambar diatas akan melonggarkan beberapa batasan
yang dibebankan oleh susunan bus-tunggal. Dalam hal ini, bus-bus yang terpisah
dapat digunakan untuk dua input ALU termasuk juga untuk output ALU. Jika
register dari kumpulan register adalah edge-trigerred, maka akan mungkin untuk
menjalankan jenis operasi-mikro R1 ← (R2) + (R3) pada satu sinyal waktu.
Organisasi Bus-Tunggal
ALU
memerlukan input register Y dan register Z secara bersamaan. Dengan hanya sebuah bus data
tunggal, sebuah operand akan disimpan
dalam Y dan yang lainnya dapat disimpan dalam bus. Sewaktu ALU menghitung
hasilnya, input tersebut harus tetap konstan pada bus. Karena itu,
kadang-kadang hasilnya disimpan dalam Z sampai operasi selesai dan kemudian
ditransfer melalui bus ke tempat dimana harus
disimpan. Dalam hubungan yang sama, CLU
memerlukan informasi dari register khusus (special purpose) secara bersamaan
untuk menghasilkan fungsi pengendalian
yang tepat. Oleh karena itu, register-register tersebut dihubungkan secara langsung ke CLU selain
dihubungkan dengan bus data untuk komunikasi
umum.
MEMORI
CPU
hanya dapat menyimpan data dan instruksi di register yang berukuran kecil
sehingga tidak dapat menyimpan semua informasi yang dibutuhkan untuk
keseluruhan proses program. Untuk mengatasi hal ini, maka CPU harus dilengkapi
dengan alat penyimpan yang berkapasitas lebih besar yaitu memori utama. Unit
ini dapat dibayangkan sebagai sekumpulan kotak-kotak yang masing-masing dapat
menyimpan sepenggal informasi baik berupa data maupun instruksi. Tiap-tiap
lokasi dari kotak ditunjukkan oleh suatu alamat (address), yaitu berupa nomor
yang menunjukkan lokasi tertentu dari kotak memori.
Ukuran
memori ditunjukkan oleh satuan byte, misalnya 1 Mb, 4 Mb, 8 Mb, atau bahkan
adayang sampai 256 Mb. Pada umumnya 1 byte memori terdiri dari 8 – 32 bit
(binary digit), yaitu banyaknya digit biner (0 atau 1) yang mampu disimpan
dalam satu kotak memori.
Random Access Memory (RAM)
Semua
data dan program yang dimasukkan melalui alat input akan disimpan terlebih
dahulu di memori utama, khususnya RAM, yang dapat diakses secara acak (dapat
diisi/ditulis, diambil, atau dihapus isinya) oleh pemrogram. Struktur RAM
terbagi menjadi empat bagian utama, yaitu:
- Input storage, digunakan untuk menampung input yang dimasukkan melalui alat input.
- Program storage, digunakan untuk menyimpan semua instruksi-instruksi program yang akan diakses.
- Working storage, digunakan untuk menyimpan data yang akan diolah dan hasil pengolahan.
- Output storage, digunakan untuk menampung hasil akhir dari pengolahan data yang akan ditampilkan ke alat output.
Input
yang dimasukkan melalui alat input akan ditampung terlebih dahulu di input
storage. Bila input tersebut berupa program maka akan dipindahkan ke program
storage, dan bila berbentuk data maka
akan dipindahkan ke working storage. Hasil dari pengolahan juga ditampung
terlebih dahulu di working storage dan bila akan ditampilkan ke alat output
maka hasil tersebut dipindahkan ke output storage.
Tidak ada komentar:
Posting Komentar