Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
71 views24 pages

26-Last Lecture

The CS132 Computer Organisation and Architecture course covers a wide range of topics including numeric representation, digital logic, memory types, assembly language, and processor architecture. Key concepts discussed include performance measurement, processor design considerations, and the future of computing technologies. The course emphasizes practical applications and theoretical foundations in computer architecture and organization.

Uploaded by

Veer Patel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
71 views24 pages

26-Last Lecture

The CS132 Computer Organisation and Architecture course covers a wide range of topics including numeric representation, digital logic, memory types, assembly language, and processor architecture. Key concepts discussed include performance measurement, processor design considerations, and the future of computing technologies. The course emphasizes practical applications and theoretical foundations in computer architecture and organization.

Uploaded by

Veer Patel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

CS132 Roundup

aka “Step right up; step right up to the fantastical, majestical,


mystical module that is CS132 Computer Organisation and
Architecture!” https://warwick.ac.uk/fac/sci/dcs/teaching/material/cs132/
https://warwick.ac.uk/fac/sci/dcs/teaching/material/cs132/

29/11/2024 ● R0.21 ● Richard Kirk ([email protected])


CS132 Computer Organisation & Architecture
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 2

01 Introduction to CS132

• Alan Turing and Moore’s Law


• Measure performance in terms of FLoating point Operations Per
second (FLOPs)
• There is a huge variety of processors (some we will see later)
• (Analogue) signals and how they can be converted to digital signals
• Fundamental components such as bits, bytes, words and busses

Bit Signals Bus Key terms to learn (Digital) High


(Digital) Low
FLOPs Byte Word Most Significant Bit (MSB) Least Significant Bit (LSB)
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 3

02 Numeric Representation

• The difference between numeric representation and value


• How to convert between different bases
• Word sizes affect the range of values we can represent
• How to count in binary/octal/hex
• The different ways negative numbers can be represented
• How to add/subtract binary numbers

Octal Base Key terms to learn Biased Binary (numbers)

Two’s Complement Hexadecimal Overflow Hex Carry Signed Magnitude


CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 4

03 Numeric Representation 2

• The principles behind multiplication of 2 binary integers


• How to multiply 2 unsigned integers
• How to multiply 2 signed integers (using Signed Magnitude or Two’s
Complement)
• How factional numbers can be represented
• How 2 IEEE 754 Floating Point numbers can be added/subtracted

Fixed Point Booth’s Algorithm Key terms to learn Two’s Complement IEEE 754
Mantissa MSB
Exponent LSB Multiplication Sign Rounding Signed Magnitude
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 5

04 Introduction to Digital Logic

• Applied Boolean functions to our binary data


• Different ways in which each Boolean function
can be represented (symbols, gates, PICs)
• Used Boolean Algebra, Truth Tables and
Karnaugh Maps (K-Maps) to simplify our logic

AND NOT Key terms to learn Truth Tables


OR XOR XNOR Logic Gates
NAND NOR 𝐴ҧ Karnaugh/K Maps
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 9

05 Computational Logic

• Discussed the construction of logic gates using Universal Gates


• Explored the use of logic gates to build 1-bit half adders and 1-bit
full adders
• Chained 1-bit full adders to make an N-bit full adder
• Extended an N-bit full adder to do subtraction

Universal Gates Carryout Key terms to learn Carryin Z-Line

Overflow 1-bit half adder 1-bit full adder N-bit full adder N-bit full adder/subtactor
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 10

06 Breadboard Exploration

• Explored what a decoder and an encoder do


• Explored how a decoder could be constructed
• You do not need to know how the breadboards work for the
exam!
• You do not need to know the chip ID’s or anything about them for
the exam!

Key terms to learn


Decoder Encoder
n x m notation
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 11

07 Computational Logic 2
• Discussed why we might need a decoder/encoder → Addressing
• Discussed the difference between Active High and Active Low
• Explored Multiplexers and Demultiplexers (including there potential construction)
• Discussed 3 state logic, and how they can be used to connect/disconnect components
from the
• Discussed the differences between theory and physical logic gates
• Explored Logic Integrated Circuits

3-state buffers/logic Busses Key terms to learn Active High Multiplexers

PAL “Forbidden region” IC FPGA PLA Addressing Active Low Demultiplexers


CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 12

08 Sequential Logic

• Difference between computational and sequential logic


• Covered Flip-flops and Latches (and the differences)
• Discussed why enable lines are often included in Latches
• Discussed how many different Latches are designed
• Designed circuits to store data in registers and shift registers
• Designed a counter to count up
Enable Clock Latches Key terms to learn JK-type Flip-flops
Shift registers
Registers N-bit counters T-type SR-type D-type
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 13

09 Introduction To Memory

• Lots of different factors to worry about Registers • Ultra-fast memory

Random Access
• Part of the CPU

when picking types of memory Cache • Very fast memory


• Stores program and data memory

• The Memory Hierarchy • Fast memory


Main Store • Stores program and data memory that can’t fit

• Explored Random Access Memory


in Cache

• Non-volatile memory

Sequential
Magnetic Disk • Stores program and data memory that

• Explored cache performance

Access
can't fit in Main Store

• Large and very s low memory


Tape Optical Disk
• Touched on memory organisation
• Infreq uent access and backup
storage

Capacity

Cache L2 Access Time Tape Key terms to learn PROM Sequential Access Hit Penalty
L1 L3 SRAM Cost per bit/byte Main Store Random Access EEPROM Designer’s Dilemma
DRAM Capacity Miss Penalty Registers Volatile ROM EPROM Coherency Cache Misses
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 14

10 Long Term Memory

• HDD’s are spinning disks that can be accessed through an arm being
moved to the right place
• There is a collection of different magnetism strategies
• Optical Disks can handle massive errors
• Writing to optical disks can be permanent or rewritable

CD-R Return to Zero (RZ) Spiral Key terms to learn Seek Times
Phase Encoding (PE) Frame
CD-RW Infrared Return to Bias (RB) Non-Return to Zero One (NRZ1) Settle Sector Read Time
CD’s Data Encoding Sectors Rotational Latency Land HDD
DVD’s Lasers Tracks Preamble Pits Symbols
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 15

11 Errors in Memory
• Noise can come from anywhere, and can effect our memory
• Single Errors can be fixed with Parity Bits (to an extent)
• Burst Errors can be fixed with checksums and ECC
• Hamming Codes allow for an error to be detected and corrected within a word
• Hadamard Codes allow for (potentially) lots of errors to be detected and
corrected

Parity Odd Parity Key terms to learn Hadamard Codes Distance


Noise Burst Errors ECC Hamming Codes [H]2
Even Parity Checksum In-Word Error Correction Codes Hamming(7, 4) [H]2n
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 16

12 Introduction To Assembly

• Explored the Fetch-Decode-Execute cycle


• Discussed some initial components of a processor
• Explored an example assembly language → RISC-V
• Difference between coding languages, RTL and Assembly
• Different categories of assembly instructions

Fetch → Decode → Execute Key terms to learn Immediate Load


Registers Set Operand
ALU IR Machine Code
CU PC RTL 0x Opcode Store
Absolute Addressing Relative Addressing Shift Rotate Branch Jump Labels
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 17

13 Introduction To C

• C is developed to be more human-readable and portable than


Assembly
• Only has 4 primitive data types, but does have modifiers
• Doesn’t have objects, but has structs
• Has conditionals (same as Java) and loops (slightly different to Java)
• Stores memory addresses for values and arrays and requires the
developer to do memory management
Segmentation float char Key terms to learn GDB calloc Stack
Fault double int free
public unsigned short malloc
printf Pointer long struct \0 realloc Heap
private signed
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 18

14 Introduction To I/O

• Covered 2 types of I/O; Memory Mapped I/O and Direct Memory


Access
• Memory Mapped I/O → Particular memory addressed are related
to either an Input or and Output
• Direct Memory Access (DMA) → CPU is a bottleneck, so lets have a
smaller processor to handle this

Memory Mapped I/O DMA Key terms to learn I/O Bus (DMA)
Inputs DMAC Integrated DMA Burst Mode (DMA)
Outputs Busses Detached DMA Cycle Stealing Mode (DMA)
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 19

15 Synchronous I/O

• Defined why we need synchronisation for I/O in some cases


• Polling → Check that the I/O device is ready to send data
• Handshaking → I/O device and processor communicate when ready
• Interrupts → I/O can tell the processor it is ready to send data,
processor pauses what it was doing and handles I/O device

Polling Handshaking Key terms to learn Interrupts Control Line


“Bust Wait” (Poling) Data Bus Closed-loop Synchronisation Nesting Scheduling
Interleaved Polling Open-ended Synchronisation Valid Line Non-Maskable Interrupts
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 20

16 Case Study: Ethernet


• Discussed the history and concepts around 802.3 Ethernet
• Explored why Carrier-Sense Multiple Access with Collision Detection (CSMA/CD)
• Discussed copper vs. fibre, and the different categories (cat., straight through vs.
crossover, RJ45 vs. M12)
• Why copper wires use twisted pairs to reduce noise, and how noise can be removed
through shielding
• Discussed the need for Auto MDI-X, and how it works

Ethernet Coaxial cable Backoff Key terms to learn Twisted Pairs RJ45 M12 802.3
Auto MDI-X
Straight Through Copper cable Unshielded
BASE-T Frames Crossover Fibre cable Shielded
Carrier-Sense Multiple Access with Collision Detection (CSMA/CD) Cat EMI Emission EMI Absorption
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 21

17 Processor Architecture

• Difference between Architecture and Organisation


• Explored key components of the processor, such as
• Arithmetic and Logic Unit (ALU) • Program Counter (PC)
• Control Unit (CU) • Instruction Register (IR)
• Defined and explored Turing completeness
• Defined Macro and Micro instructions
• Explored Hardware-based and Microprogrammed CUs
Macro Instructions Architecture Key terms to learn Organisation Micro Instructions
Program Counter Control Unit Hardware CU Microprogrammed CU Arithmetic and Logic Unit
μIR μinstruction Clock Pulses μaddress μprogram Propagation Delay μPC Instruction Register
Sequencer
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 22

18 RISC & CISC Processor

• Reduced Instruction Set Computing


• Usually have a small, fixed-length instruction sets
• Will often use Hardware-based Control Units
• ARM processors are often RISC based processors
• Complex Instruction Set Computing → Often use μprogram-based
Control Units, so can have a much larger number of instructions
• Discussed Multithreading and Multicore systems
RISC MIPS x86 x86-64 Key terms to learn Simultaneous Registers CISC
Fixed-Width Instruction Sets Starvation Multithreading Multithreading
Thread Race Conditions Deadlock Multicore Hyperthreading Process Core
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 23

22 Case Study: 68K

• Explored the structure of the registers and components


• Discussed the differences between RISC-V assembly and 68K assembly
• Many instructions have permutations (such as byte/word/long instructions)
• Differences in using immediate and differing bases
• Explored the instruction set and memory addressing modes for 68K
• Explored subroutines and how they work in the 68K
68008A Registers Key terms to learn .b Addressing Modes Direct
Fetch Stack Addressing
D Registers Stack Pointer CU .w Immediate Addressing
Decode Program Counter (PC) Indirect
68000 MAR IR .l Absolute Addressing
Execute Condition Code Register (CCR) MBR ALU Subroutines Relative Addressing Addressing
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 24

23 Achieving Performance

• Discussed how performance can be measured, including time, FLOPS


and Memory Bandwidth
• Discussed how benchmarks and benchmark suites aid in the
comparison of processors
• Explored how pipelining can be used to increase the throughput of
instructions, including how to handle hazards
• How cache can be organised to aid in the movement of data
Time
FLOP Benchmarks Pipelining Key terms to learn Bubble Internal Forwarding Set
FLOPs STREAM Instruction Fetch (IF) Execute (E) Hazards Data Dependency Associative
Work LINPACK NAS Parallel Benchmarks Operand Fetch (OF) NOP Direct-Mapped Cache Mapped
CPI Memory Bandwidth Benchmarking Suites Operand Store (OS) Associative-Mapped Cache Cache
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 25

24 Considerations of Processor Design

• Engineering Limitations → Lasers can only get so small, transistors


are hitting there limits, limits to interconnect sizes
• Energy Limitations → Utilisation Wall and Cooling
• Parallelisation Limitations → Amdahl's Law and difficulties in going
from 2D and 3D
• Quantum Processors → difficulties in verifying and very expensive
Quantum Processors Speedup Key terms to learn Noise Cross-Section

2D Processors Parallelisation Utilisation Wall Components

Interconnects Transistors Power


3D Processors Amdahl’s Law
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 26

25 The Future of Processors

• Predicting the future is always difficult, especially when looking at


the far future
• High Bandwidth Memory → More data being sent in the same cycle
• Specialist Cores → Different processors for different computation
• GPU’s and FPGAs → Computation can be offloaded
• Heterogeneous Computing → More diverse computers
Heterogeneous Computing FPGA Key terms to learn GPU Homogeneous Computing
Switcher Specialist Cores High Bandwidth Memory Interconnects Cache
Memory-Bound Bottleneck DRAM IRDS Compute-Bound
CS132 Computer Organisation & Architecture

Friday, 29 November 2024


Slide 27

Exam Webpages

https://warwick.ac.uk/services/academicoffice/examinations/students/ https://warwick.ac.uk/services/exampapers?q=CS132&department=CS

You might also like