Sunday, 23 December 2012

The Processor : Pipeline Datapath by Sangkirthana D/O Mahaletchnan



Single-cycle datapath(without pipeline) 

v Setiap langkah arahan dapat dirangka ke datapath dari kiri ke kanan.
v kini PC dan write-back step,
v  seperti yang ditunjukkan dalam warna, yang menghantar sama ada hasil ALU atau data dari ingatan ke kiri hendaklah ditulis dalam fail register.

Pipeline Version of Datapath



v Menambah register di antara setiap peringkat  pipeline datatype
v Register dinamakan
Ø IF/ID
Ø ID/EX
Ø EX/MEM
Ø MEM/WB
v Register tidak diperlukan selepas peringkat WB, kerana selepas WB arahan telah selesai.


v Semua data yang diperlukan mestilah disimpan di pipeline register
v Rd field of instruction word, diambil dari pringkat pertama iaitu IF untuk menentukan register destination, tetapi tidak akan dikemaskini hingga peringkat kelima iaitu WB
v Oleh itu, rd field mestilah melalui semua peringkat pipeline.(spt yg ditunjukkan dalam warna merah).
v Notis bahawa, ia tidak boleh menyimpan “instruction register” kerana pipelined machine perlu fetch maklumat baru dalam setiap clock cycle.



v  Control signals dengan cara yang sama seperti single-cycle Processor selepas instruction  fetched,  processor decodes dan menghasilkan  nilai appropriate control.
v  Tetapi , beberapa control signals tidak diperlukan hingga beberapa peringkat dan clock cycle.
v  Signals ini mesti menjadi propagated melalui pipeline hingga  sampai peringkat yang betul.
v Boleh memindahkan mereka ke pipeline registers bersama dengan data lain .
v  Control signals boleh dikategorikan kepada peringkat pipeline memgunakan mereka.

Input / Output architecture by Sangkirthana D/O Mahaletchnan


Interconnecting components
v Interconnecting antara CPU, Memory, I/O controllers
v Bus berkongsi communication channel
o    Wayar set parallel untuk data dan penyelarasan pemindahan data
o   Boleh menjadi kesesakan (bottleneck)
v Performance terhad kerana factor fizikal
o   Spt: panjang wayar, nombor connection.
v Alternatif yang terkini: kelajuan maximum apabila disambungkan bersiri dengan suis
o   seperti rangkaian
Buses types
v  Processor – memory buses
o   Pendek, kelajuan maximum
o   Lakaran dipadankan kepada memory organization
v  I/O buses
o   Panjang, membenarkan connection berganda
o   Dikhaskan mengikut standard untuk interoperability
o   Disambungkan kepada processor- memory melalui bridge.
Signal bus dan synchronization
v Data lines
o   carry address dan data
o   Multiplexed atau berasingan
v Control lines
o   Nyatakan jenis data, synchronize transaksi
v synchronous
o   Menggunakan  bus clock
v Asynchronous
o   Uses request/acknowledge control lines for handshaking
I/O management
v I/O mediated oleh OS
o   Multiple program dikongsi dengan sumber  I/O
Ø Memerlukan perlindungan dan jadual
o   I/O menyebabkan asynchronous diganggu
Ø mechanism yang sama
o   I/O programming adalah fiddly
Ø OS memberi abstraction kepada program.






EXTERNAL MEMORY By Sangkirthana a/p Mahaletchanan



Type of external memory:
·         Magnetic disk
o   Raid
o   removable
·         Optical
o   CD-ROM
o   CD-Recordable
o   CD-R/W
o   DVD
·         Magnetic tape
Magnetic disk
·         disk disaluti dengan bahan magnetisable
·         dahulu magnetic dick disaluti dengan aluminium
·         sekarang digantikan dengan kaca
o   untuk meningkatkan kelancaran
o   kurangkan kecacatan permukaan dan kurangkan kesalahan read/ write
o   keupayan untuk menahan kerosakan dan kejutan
Data Organization and formatting
  •   Concentric ring atau tracks
  •         Tracks dibahagikan kepada sectors
  •        Kurangkan size block di satu sector
  •         Boleh mempunyai lebih daripada satu sektor

Disk velocity
  •   Bit yang hampir dengan tengah putaran disk lebih pelahan daripada disk luar . 
  • Meningkatkan jarak antara bits di track yang berlainan.
  •   Putaran disk dengan constant angular velocity (CAV)

o   Sector berbentuk pie dan concentric tracks
o   Track sendirian and sector dikenalpasti
o   Mengerakan head untuk track dan menunggu untuk sector
o   Ruang yang banyak terbazir di luar track
Ø  Kurangkan density data
  •        Boleh mengunakan zones untuk meningkatkan capacity

o   Setiap zone menpunyai bits per track
o   Circuitry yang lebih rumit.
Access Method
·         Terdapat empat jenis access method antaranya


o   Sequential
Ø  Membaca data dari mula hingga ahkir mengikut turutan.
Ø  Access time bergantung kepada data dan data sebelumnya.
Ø  Contoh: tape

o   Direct
Ø  block tersendiri dengan nama tersendiri
Ø  tidak mengikut turutan dan menlompat ketempat  yang ditujukan.
Ø  Access time bergantung kepada data dan data sebelumnya.
Ø  Contoh :disk
o   Random
Ø  Nama yang tetap boleh terus membaca data yang mahu
Ø  Access time tidak bergantung kepada data atau data sebelumnya.
Ø  Contoh : RAM
o   Associative
Ø  Data sementara
Ø  Access time tidak bergantung kepada data atau data sebelumnya.
Ø  Contoh : Cache



Input/Output Architecture by Eliza Joanne

Polling and interrupt-driven I/O 
- CPU memindahkan data antara memory dan I/O data registers.
- Mengambil masa lama untuk kelajuan tinggi peranti.
Direct memory access (DMA) 
- OS menyediakan alamat permulaan dalam memori.
- I/O controller memindahkan dari atau kepada memori secara autonomi.
- Controller sampukan apabila selesai atau ada kesilapan.
  • Special Purpose Processor : DMA controller
    - Free CPU dari data pemindahan tugas yang tulen.
    - DMA access : Pointer ke sumber, destinasi dan saiz data yang dikeluarkan untuk memulakan pemindahan.
    - Processor menulis data DMA access dara dan menyambung kerja. 
  • DMA controllers merupakan komponen piawai.
  • Bus-mastering I/O hardware. 
DMA/Cache Interaction
- Jika DMA menulis kepada cached memory block, cached copy menjadi stale.
- JIka write-back cache mempunyai block yang kotor dan DMA membaca memory block, ia membaca data stale.
- Perlu memastikan cache coherence, flush blocks dari cache jika digunakan untuk DMA atau digunakan non-cacheable memory locations untuk I/O.

DMA/VM Interaction 
  • OS mengunakan alamat maya untuk memory.
    - DMA block mungkin tidak menular dalam memori fizikal. 
  • Perlukah DMA menggunakan alamat maya?
    - Perlu controller membuat terjemahan. 
  • Jika DMA menggunakan alamat fizikal.
    - Mungkin perlu break transfers kepada page-sized chunks atau chain pelbagai pindahan atau memperuntukkan muka surat menular fizikal untuk DMA. 

Memory mapped I/O
-Registers adalah alamat di ruang yang sama seperti memori.
-Alamat decoder membezakan mereka.
-OS menggunakan mekanisme terjemahan alamat untuk membuat mereka hanya boleh diakses untuk kernel.

Isolated I/O instructions
-Membezakan arahan untuk mengakses I/O registers.
-Hanya boleh dilaksanakan dalam mode kernal.

I/O Transfer Mode
-Terdapat 2 jenis iaitu parallel transfer dan series transfer.
  • Parallel Transfer
    - Data transfer ini mempunyai read and write transfer.
    - Control disk seek.
    - Transfer integriti (transfer parity dan data encoding).
  • Series Transfer
    - Asynchronous Clocking
      => Master jam pemindahan.
      => Slave memperolehi jam dari master.
    - Synchronous clocking
      => Independent clocking.
      => Pengesahan oleh corak synchronous.

Saturday, 22 December 2012

Pipelining (part 2) by Eliza Joanne

Solution : Forwarding (aka Bypassing)
Menggunakan hasil apabila dikira. 
- Jangan menunggu untuk disimpan dalam register. 
- Memerlukan lebih sambungan dalam datapath.

Gambar rajah menunjukkan perwakilan grafik penghantaran.
Sambungan menunjukkan laluan penghantaran dari output peringkat EX "add" untuk input peringkat EX untuk "sub", menggantikan nilai daripada daftar "$ s0" membaca di peringkat kedua "sub".

Load-Use Data Hazard

Gambar rajah menunjukkan keperluan untuk stall even dengan forwarding apabila arahan R-format cuba menggunakan data.
Tanpa stall, laluan peringkat output  memory access kepada peringkat execution input akan mundur dalam masa, dan ini adalah mustahil.

Solution 1 : Stall on Branch 


Gambar rajah di atas menunjukkan pipeline stalling dalam setiap pada setiap cawangan bersyarat sebagai penyelesaian untuk mengawal bahaya. Contoh ini menganggap cabang bersyarat diambil, dan arahan di destinasi cawangan atau arahan.
Terdapat satu-peringkat pipeline stall, atau bubble, selepas cawangan tersebut. Proses ini mewujudkan stall yang lebih rumit. Jika bubble dimasukkan, kesan pada prestasi adalah sama.

Solution 2: Branch Prediction

Pipeline lebih panjang tidak boleh mudah menentukan cawangan awal.
- Stall penalty tidak boleh diterima.

Ramalan hasil cawangan.
- Hanya stall jika ramalan adalah salah.

Dalam MIPS pipeline.
- Boleh meramalkan cawangan tidak diambil.
- Mengambil arahan selepas cawangan, dengan tiada kelewatan.