Anda di halaman 1dari 61

Pengantar Teknologi Komputer

Siklus Sistem Komputer


Topics
• Komponen-komponen komputer
• Fungsi komputer
• Struktur Interkoneksi
• Interkoneksi bus
• Bus-bus PC
System Components (1)
• CPU
— Komponen pengolah data berdasarkan instruksi-instruksi yang
diberikan atau penterjemah instruksi
— Tersusun atas beberapa komponen yaitu : ALU, CU, register,
interkoneksi CPU
• Memory
— Media penyimpanan data dan program yang diproses oleh
prosessor yang bersifat sementara
• I/O modules
— Data dan instruksi membutuhkan tempat penyimpanan dalam
sistem, modul input, dan alat untuk melaporkan hasil konversi
sinyal internal yang dapat digunakan oleh sistem, modul output
System Components (2)
• CPU
— Control Unit: mengontrol operasi CPU dan komputer secara
keseluruhan sehingga terjadinya sinkronisasi kerja antar
komponen dalam menjalankan fungsi-fungsi operasinya
— Arithmetic and Logic Unit :mengerjakan instruksi-instruksi
bahasa mesin yang diberikan padanya.
— CPU registers
– PC (program counter): alamat instruksi yang akan dieksekusi
selanjutnya
– IR (instruction register): instruksi op-code yang akan dieksekusi
– MAR (memory address register):menentukan alamat word di
memori untuk dibaca atau ditulis ke MBR
– MBR(memory buffer register): data dalam bentuk word yang akan
dituli/dibaca ke/dari memori
– I/O AR: menspesifikasikan perangkat I/O tertentu
– I/O BR: pertukaran data antara CPU and modul I/O
System Components (3)
• Memory
—Sekumpulan lokasi yang didefinisikan dengan alamat-
alamat yang memiliki nilai urut
• I/O Module
—Memiliki buffer internal untuk menampung sementara
data yang akan dipertukarkan antara memory dan
CPU
Diagram blok sistem komputer
Computer Components:
Top Level View
Siklus Instruksi

• Dua langkah:
—Fetch (membaca instruksi) :
membaca instruksi berikutnya
dari memori ke dalam CPU
—Execute (pelaksanaan
instruksi) :
menginterprestasikan opcode
dan melakukan operasi yang
diindikasikan

• Instruction cycle = fetch


cycle + execution cycle
Fetch Cycle
• How do we know which instruction is next to
fetch (i.e. where can we find it)?
—CPU membaca instruksi dari memori
—Program Counter (PC) mengawasi dan menghitung
instruksi selanjutnya dan akan menambah satu
hitungan setiap CPU membaca instruksi
• Where is the fetched instruction stored?
—Instruction Register (IR)
• Processor interprets instruction and performs
required actions
Execute Cycle
• Processor-memory
—data transfer between CPU and main memory
• Processor I/O
—Data transfer between CPU and I/O module
• Data processing
—Some arithmetic or logical operation on data
• Control
—Alteration of sequence of operations
—e.g. jump
• Combination of above
Example of Program
Execution

Characteristics of a
Hypothetical Machine
(Figure 3.4 in the text)
Example of Program Execution
• Want: Loc941  Loc940 + Loc941
• One address format
LOAD 940; AC  Loc940
ADD 941; AC  AC + Loc941
STORE 941; Loc941  AC
• Hex representation of instruction
1940 = 0001 1001 0100 0000
OP-code of LOAD
Example of Program Execution
(Figure 3.5 in the text)
Instruction Cycle -
State Diagram
• Instruction Address Calculation ( IAC ), yaitu proses mengkalkulasi atau
menentukan alamat instruksi berikutnya yang akan dieksekusi
• Instruction Fetch ( IF ) yaitu membaca / mengambil instruksi dari lokasi
memorinya ke CPU
• Instruction Operation Decoding ( IOD ) yaitu menganalisa instruksi untuk
menentukan jenisoperasi yang akan dibentuk dan operand yang akan
digunakan.
• Operand Address Calculation ( OAC ) yaitu menentukan alamat operand,
hal ini dilakukanapabila melibatkan referensi operand pada memori
• Operand Fetch ( OF ) yaitu mengambil operand dari memori atau dari
modul I/O
• Data Operation ( DO ) yaitu proses membentuk operasi yang diperintahkan
dalam instruksi.
• Operand Store ( OS ) yaitu proses menyimpan hasil eksekusi ke dalam
memori ataumengeluarkan ke I/O.
Interrupts
• Mekanisme penghentian atau pengalihan
instruksi dalam CPU kepada routine interupsi.
Co. modul memori menginterupsi kerja CPU
• Program
—e.g. overflow, division by zero
• Timer
—Generated by internal processor timer
—Used in pre-emptive multi-tasking
• I/O
—from I/O controller, completion of I/O or error
• Hardware failure
—e.g. memory parity error, power failure
Why are Interrupts Useful?
• Devices are slow,
using interrupt improves processing efficiency by
—letting CPU execute its normal instruction sequence
and
—pause to service the external devices when they signal
that they are ready for CPU’s attention
Program Flow Control (1)
Program Timing
Short I/O Wait
Program Timing
Long I/O Wait
Program Flow Control (2)
Interrupt Cycle
• Added to instruction cycle
• Processor checks for interrupt
—Indicated by an interrupt signal
• If no interrupt, fetch next instruction
• If interrupt pending:
—Suspend execution of current program
—Save context
—Set PC to start address of interrupt handler routine
—Process interrupt
—Restore context and continue interrupted program
Instruction Cycle with Interrupts
Instruction Cycle (with Interrupts) -
State Diagram
Multiple Interrupts
• Disable interrupts - Sequential approach
—Processor will ignore further interrupts whilst
processing one interrupt
—Interrupts remain pending and are checked after first
interrupt has been processed
—Interrupts handled in sequence as they occur
• Define priorities - Nested approach
—Low priority interrupts can be interrupted by higher
priority interrupts
—When higher priority interrupt has been processed,
processor returns to previous interrupt
Multiple Interrupts - Sequential
Multiple Interrupts - Nested
Time Sequence of Multiple Interrupts
Interconnection Structures
• All the units must be connected
• Interconnection structure:
The collection of paths connecting system
modules
• Different type of connection for different type of
unit
—Memory
—Input/Output
—CPU
• Design depends on necessary exchanges
between modules
Data Transfer
• Memory  CPU
• CPU  Memory
• I/O  CPU
• CPU  I/O
• I/O  Memory (?)
DMA: direct memory access
Computer Modules
Memory Connection
• Receives and sends data
• Receives addresses (of locations)
• Receives control signals
—Read
—Write
—Timing
Input/Output Connection(1)
• Similar to memory from computer’s viewpoint
• Output
—Receive data from computer
—Send data to peripheral
• Input
—Receive data from peripheral
—Send data to computer
Input/Output Connection(2)
• Receive control signals from computer
• Send control signals to peripherals
—e.g. spin disk
• Receive addresses from computer
—e.g. port number to identify peripheral
• Send interrupt signals (control)
CPU Connection
• Reads instruction and data
• Writes out data (after processing)
• Sends control signals to other units
• Receives (& acts on) interrupts
Bus Interconnection (1)
• Bus:
—A communication pathway connecting two or more
devices
—Characteristics
– Shared
– Usually broadcast
– must ensure only one device transmitting at a time
—Often grouped
– A number of channels in one bus
– e.g. 32 bit data bus is 32 separate single bit channels
Buses Interconnection (2)
• There are a number of possible interconnection
systems
• Single and multiple BUS structures are most
common
—e.g. Control/Address/Data bus (PC)
—e.g. Unibus (DEC-PDP)
System Bus
• Bus that connects major computer components
• Typically 50-100 separate lines
• Three functional groups of lines
—Data
—Address
—Control
• Misc. lines
—power
—ground
—clock
Data Bus
• Carries data
—I.e., moves data between system modules
—Remember that there is no difference between “data”
and “instruction” at this level
• Width is a key determinant of performance
—Number of lines (1 bit carried by a line at a time)
—Determines number of bits can be transferred at a
time
—8, 16, 32, 64 bit
Address bus
• Identify the source or destination of data
—e.g. CPU needs to read an instruction (data) from a
given location in memory or an I/O port
• Width determines maximum memory capacity of
system
—e.g. 8080 has 16 bit address bus giving 64k address
space
Control Bus
• Control and timing information
—Memory read/write signal
—Interrupt request
—Clock signals
—access/use of data/address lines
Bus Interconnection Scheme
Bus Operation
• Operasi pengiriman data ke modul
1. Meminta penggunaan bus
2. Apabila telah disetujui, modul memindahkan data
yang diinginkan kemodul yang dituju
• Operasi meminta data dari modul lainnya
1. Meminta penggunaan bus
2. Mengirim request kemodul yang dituju melalui
saluran kontrol dan alamat yang sesuai.
3. Menunggun modul yang dituju mengirimkan data
yang diinginkan
Single Bus Problems
• Lots of devices on one bus leads to:
— Penurunan kinerja :
– Semakin besar delay propagasi untuk mengkoordinasikan
penggunaan bus
– Antrian penggunaan bus semakin panjang
– Dimungkinkan habisnya kapasitastransfer bus sehingga
memperlambat data
• Most systems use multiple buses to overcome
these problems
—Hierarchical
—Traditional
—High-performance
Traditional (ISA)
(with cache)
Arsitektur bus jamak
• Prosesor, cache memory dan memori utama terletak
pada bus tersendiri pada level tertinggi karena modul-
modul tersebut memiliki karakteristik pertukaran data
yang tinggi.
• Pada arsitektur berkinerja tinggi, modul-modul I/O
diklasifikasikan menjadi dua :
— Memerlukan transfer data berkecepatan tinggi
— Memerlukan transfer data berkecepatan rendah
• Modul dengan transfer data berkecepatan tinggi
disambung dengan bus berkecepatan tinggi pula
• Modul yang tidak memerlukan transfer data cepat
disambungkan pada bus ekspansi
High Performance Bus
• Keuntungan hirarki bus jamak kinerja tinggi
—Bus berkecepatan tinggi lebih terintegrasi dengan
prosesor
—Perubahan pada arsitektur prosesor tidak begitu
mempengaruhi kinerja bus
Elements of Bus Design
• Bus type
• Bus width
• Data transfer type
• Arbitration method
• Bus timing
Bus Types
• Dedicated
— Penggunaan alamat dan jalur data terpisah
— Keuntungan : Throughtput yang tinggi, karena
kemacetan lalulintas kecil
— Kerugian : meningkatnya ukuran dan biaya sistem

• Multiplexed
— Penggunaan saluran yang sama untuk berbagai keperluan
— Keuntungan : Memerlukan saluran yang lebih sedikit,
menghemat ruang dan biaya
— Kerugian : Diperlukan rangkaian yang lebih kompleks untuk
setiap modul
Bus Width and Data Transfer Type
• Bus width
— Data
- Lebar bus data, mempengaruhi kinerja sistem
- Semakin lebar bus data, semakin besar bit yang dapat ditransfer pada suatu
waktu
— Address
– Lebar bus alamat mempengaruhi kapasitas.
– Semakin lebar bus alamat, semakin besar range lokasi yang dapat direferensi

• Data transfer type


— Read : Slave menaruh data pada bus data begitu slave mengetahui alamat dan
mengambil datanya
— Write : Master menaruh data pada bus data begitu alamat stabil dan slave
mempunyai kesempatan untuk mengetahui alamat
— Read modify Write : Operasi Read yang diikuti operasi Write ke alamat yang
sama
Tujuan untuk melindungi sumber daya memori yang dapat dipakai bersama di
dalam multiprogramming
— Read after Write : Operasi yang tidak dapat dibagi yang berisi operasi Write
diikuti operasi Read dari alamat yang sama
tujuannya sebagai pengecekan
— Blok data transfer
Bus Arbitration
• Why arbitration?
—More than one module controlling the bus, e.g. CPU
and DMA (direct Memory Acces) controller
—We want to make sure that only one module can
successfully transmit over bus at a time
• Arbitration may be centralised or distributed
—Centralized Arbitration merupakan suatu bus arbital
tunggal melakukan arbitration yang diperlukan
—distibuted arbitration yakni semua perangkat
berpartisipasi dalam pemilihan bus master
berikutnya.
Centralised Arbitration
• Single hardware device controlling bus access
—Bus Controller
—Arbiter
• May be part of CPU or separate
Distributed Arbitration
• Each module may claim the bus
• Control logic on all modules
Bus Timing (1)
• Timing berkaitan dengan cara terjadinya event
dikoordinasikan pada bus. Dengan timing yang
synchronous, terjadinya event pada bus ditentukan oleh
sebuah clock.
• Bus meliputi sebuah saluran, waktu tempat timing
mentransmisikan rangkaian bilangan 1 dan 0 dalam
durasi yang sama.
• Sebuah transmisi 1-0 dikenal sebagai siklus waktu atau
siklus bus dan menentukan besarnya slot waktu.
• Semua perangkat lainnya pada bus dapat membaca
saluran waktu, dan semua event dimulai pada awal
siklus waktu.
Bus Timing (2)
• Co-ordination of events on bus
—Synchronous (e.g., PCI)
—Asynchronous (e.g., Futurebus+)
• Synchronous
—Events determined by clock signals
—Control Bus includes clock line
—A single 1-0 is a bus cycle
—All devices can read clock line
—Usually sync on leading edge
—An event start at the beginning of a clock cycle,
usually a single cycle for an event
Bus Timing (3)
• Asynchronous
—Occurrence of one event on a bus follows and
depends on the occurrence of a previous event.
—More flexible in accommodating devices of various
speed
—More complicated
Synchronous Timing Diagram (1)
Synchronous Timing Diagram (2)
• Terjadinya event pada bus ditentukan oleh
sebuah pewaktu(clock). Sebuah transmisi 1 – 0
disebut siklus waktu atau siklus bus dan
menentukan besarnya slot waktu.
• Semua perangkat modul pada bus dapat
membaca atau pengetahui siklus clock. Biasanya
satu siklus untuk satu event.
• Model ini mudah diimplementasikan dan cepat
namun kurang fleksibel menangani peralatan
yang beda kecepatan operasinya.
• Biasanya digunakan untuk modul – modul
tertentu yang sudah jelas karakteristiknya.
Asynchronous Timing – Read Diagram
Asynchronous Timing – Write Diagram (1)

Anda mungkin juga menyukai