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.

input/output architecture by Amira Hurriff

 Arahan keluar/masuk (i/o commands)


  • peranti i/o dikendali oleh controller hardware
- mengalihkan data dari atau kepada peranti
-mengerakkan operasi bersama perisian
  • arahan pendaftaran
- menyebabkan peranti bergerak
  • status pendaftaran
- mempamerkan apa yang dilakukan oleh peranti dan terjadinya error
  • pendaftaran data
- menulis : menghantar data kepada peranti
- membaca : menghantar data dari peranti


Teknik Keluar/masuk( input output technique)

contoh gambar: polling

a) program keluar/masuk (POLLING) :
 polling ini kadang-kadang sibuk.(menjadi polling sibuk menunggu).Dalam operasi ini,komputer tidak melakukan apa-apa selain menyemak status peranti sehingga siap disemak.Dicek sehingga berulang kali sehingga bersedia untuk arahan seterusnya.jika tidak bersedia, komputer akan kembali melakukan tugasan yang berbeza.alternatif yang tidak cekap.

b) kekacauan/kacauan (INTERRUPTS) :
merupakan isyarat dari peranti yang dilampirkan kepada ke komputer atau dari program dalam komputer yang menyebabkan program utama (sistem operasi) terhenti.dan berfikir untuk ke arahan seterusnya.
 
pada asasnya, komputer melakukan arahan pada satu masa.disebabkan diganggu ,maka ia akan menjadi multitasking  ia boleh melakukan beberapa perkara berbeza pada masa yang sama.ada juga baiknya gangguan ini,membolehkan pengguna berfikir untuk membuat kerja lain terlebih dahulu.





Tuesday, 18 December 2012

Random Access Memory (RAM) by Eliza Joanne

RAM adalah satu bentuk penyimpanan data komputer. Terdapat 2 jenis RAM moden yang utama iaitu static RAM (SRAM) dan dynamic RAM (DRAM).




SRAM

Mengutamakan transistors berganda, biasanya 4 hingga 6 untuk setiap memory cell tetapi tiada capasitor dalam setiap cell.

DRAM

Terdapat memory cells dengan sepasang transistor dan capacitor yang memerlukan refreshing yang berterusan. Proses refresh ini berlaku secara automatik seribu kali per saat.



Capacitor dalam DRAM memory cell adalah seperti baldi bocor di atas. Ia perlu refresh selalu atau akan discharge kepada 0. Proses refresh ini mengambil masa dan melambatkan memory.
                                    
  • Fast page mode dynamic random access memory (FPM DRAM)
    - merupakan bentuk DRAM yang asal.
    - menunggu proses keseluruhan mencari sedikit data mengikut row dan column dan kemudian
      membaca sedikit sebelum ia bermula pada bit seterusnya.
  • Extended data-out dynamic random access memory (EDO DRAM)
    - tidak menunggu keseluruhan proses bit pertama sebelum sambung kepada bit seterusnya.
    - apabila sahaja address bit pertama dicari, ia bermula mencari bit seterusnya.
    - lebih cepat 5 peratus daripada FPM DRAM.
  • Synchronous dynamic random access memory (SDRAM)
    - mengambil kelebihan burst mode concept untuk meningkatkan prestasi.
    - ini berlaku dengan berada atas row yang mempunyai bit yang diminta dan bergerak dengan cepat
      melalui column, membaca setiap bit.
    - idea ini adalah data yang diperlukan oleh CPU berada dalam urutan.
    - lebih cepat 5 peratus daripada EDO DRAM dan paling biasa digunakan dalam desktops hari ini.
  • Double data rate synchronous dynamic random access memory (DDR SDRAM)
    - sama seperti SDRAM kecuali DDR SDRAM lebih cepat.
  • Rambus dynamic random access memory (RDRAM)
    - adalah radical depature dari seni bina DRAM sebelumnya.
    - RDRAM sangat berbeza kerana menggunakan high-speed data bus yang istimewa yang dipanggil Rambus channel.
    - oleh kerana ia beroperasi pada kelajuan yang tinggi, ia menjana lebih banyak haba. Untuk melepaskan haba yang berlebihan, Rambus chip dimasukkan dengan haba spreader yang kelihatan seperti wafer yang panjang dan nipis. 
Complementary metal-oxide-semicomductor (CMOS) RAM:
-adalah sejenis cip memori yang mempunyai keperluan kuasa yang rendah.

Video VRAM:
-adalah juga dikenali sebagai multiport dynamic RAM.
-secara spesifik digunakan untuk video adapter atau 3-D accelerators. 

Single in-line memory module (SIMM)
-menggunakan 30-pin connector dan sebesar 3.5 x 0.75 inches.
-perlu dipasang secara berpasangan dengan kapasiti dan kelajuaan yang sama banyak.

Dual in-line memory module (DIMM)
-dengan 168-pin atau 184-pin connector dengan saiz 5.4 x 1 inch.
-boleh dipasang dengan sendiri tanpa berpasangan.

Small outline dual in-line memory module (SODIMM)
-adalah kecil iaitu kira-kira 2 x 1 inch.
-kapasiti adalah dari 16MB hingga 1GB untuk setiap module.




Sunday, 16 December 2012

The Simple Datapath By Mau Huey Ching

To execute one instruction in one clock cycle
  • No data path resource can be used more than once per instruction. Any element needed more than once must be duplicated.
    • One data memory
    • One instruction memory






The branch operation requires
  • Register file: for the two operands, the same as the RF for arithmetic-logic and load-store operations.
  • ALU: to compare the two operands, the same as the ALU for the arithmetic-logic and load-store operations. The zero status signal indicates whether or not the two operands are equal.
  • Sign-extension unit: the same as the unit for the load-store operations.
  • Shifter: shift left by 2 bits. The input and output are all 32 bits.







ALU
  • Inputs/outputs
    • Two 32-bit inputs
    • one 32-bit output
    • 3-bit ALU operation

Data Memory

Consider the MIPS load word and store word instructions:
  lw    $t1, offset($t2)
  sw    $t1, offset($t2)

Data memory
  • Address
  • Data input (32 bits)  
  • Write enable
  • Read enable

Memory by Mau Huey Ching


Memory is basically any form of electronic storage.Personal computer  system have a hierarchical memory structure including auxiliary memory(disks),main memory(DRAM) and cache memory(SRAM).

                                                                                Secondary storage       


                                                                       Main memory            
 
                                                                                Processor



CACHE MEMORY
Program and data that are stored in a fast small memory.




Main Memory          Cache memory         CPU
 
MAIN MEMORY
Program and data that are stored in a slower but bigger memory.









 



Wednesday, 12 December 2012

The Processor: Pipelining (part 1) - Amira Hurriff

Pipelining Analogy(in Laundry)

Terdapat 2 strategi iaitu :
- Satu tugas dalam satu masa (One-task-at-a-time)

'one task at a time ' mengambil masa yang lama,kerana ia menjalankan tugas dobi satu persatu mengikut urutan.

 - tugas bertindih ( Overlap Task)


'overlap task ' dapat menjimatkan masa. Melakukan 3 beban baju dalam masa yang sama(serentak) .

MIPS pipeline
ada 5 peringkat:

IF : instruction fetch from memory
ID : instruction decode & register read
EX : execute operation or calculate address
MEM : access memory operand
WB : result back to register




Pipeline performance

  1. single-cycle
  • ambil masa yang panjang
  • mengikut urutan
  • tahap kelajuan : single-cycle (Tc=800ps@rpm)
 2.   pipelined 
  • masa yang singkat untuk proses
  • proses boleh dilakukan serentak
  • tahap kelajuan : pipelined (Tc=200ps@rpm)

Pipeline speedup

kelajuan proses kerja pipeline processor lebih cepat berbanding non-pipeline processor.
Dan bagaimana mengira kelajuan pipeline?


S = (nk)/[k + (n – 1)], where S – speedup, n – number of instructions in program, k – number of stages instruction

Hazards


apa maksud hazards disini? bahaya? ..ye bahaya jika ada. situasi hazards ni, akan menghalang proses dari ke arahan yang seterusnya.
jenis-jenis Hazards:
  • structure hazards - sumber yang diperlukan sibuk
  • data hazard- kena menunggu arahan yang sebelum disiapkan dengan lengkap
  • control hazard- membuat keputusan ,berdasarkan arahan yang sebelumnya.


-structure hazard
-beberapa fungsi unit tidak menyalurkan maklumat sepenuhnya. membuatkan  proses tergendala.
-beberapa sumber tidak disalin dengan sepenuhnya.untuk membolehkan semua arahan dilaksanakan.maksud disini. sumber tidak lengkap.


-data hazards
arahan yang bergantung dari arahan sebelumnya.mengikut urutan.