Review cpsc 321
Download
1 / 34

Review CPSC 321 - PowerPoint PPT Presentation


  • 144 Views
  • Uploaded on

Review CPSC 321. Andreas Klappenecker. Administrative Issues. Midterm is on October 12 Allen Parish’s help session Friday 10:15-12:15. Questions? Project partners?. Today’s Menu. What happened so far. History.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Review CPSC 321' - archibald


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Review cpsc 321 l.jpg

ReviewCPSC 321

Andreas Klappenecker


Administrative issues l.jpg
Administrative Issues

  • Midterm is on October 12

  • Allen Parish’s help session Friday 10:15-12:15



Today s menu l.jpg

Today’s Menu

What happened so far...


History l.jpg
History

One of the first calculation tools was the abacus, presumably invented sometime between 1000-500 B.C.


Early history l.jpg
Early History

  • around 1600, John Napier invents the Napier bones, a tool that helps in calculations

  • 1621, William Oughtred invents the slide rule that exploit Napier’s logarithms to assist in calculations

  • 1625 Wilhelm Schickard invents a mechanical device to add, subtract, multiply and divide numbers

  • 1640 Blaise Pascal invents his Arithmetic Machine (which could only add)

  • 1671 Wilhelm von Leibniz invents the Step Reckoner, a device that allows to perform additions, subtractions, multiplications, divisions, and evaluation of square roots (by stepped additions)


Early history7 l.jpg
Early History

  • Charles Babbage proposes in 1822 a machine to calculate tables for logarithms and trigonometric functions, called the Difference Engine.

  • Before completing the machine, he invents in 1833 the more sophisticated Analytic Engine that uses Jacquard punch cards to control the arithmetic calculations

    • The machine is programmable, has storage capabilities, and control flow mechanisms – it is a general purpose computer.

    • The Analytic Engine was never completed.

  • Augusta Ada Lovelace writes the first program for the Analytical Engine (to calculate Bernoulli numbers). Some consider her as the first programmer.


Slide8 l.jpg
Z1

The Z1 computer was clocked at 1 Hz. The memory consists of 64 words with 22 bits. Input and output is done by a punch tape reader and a punch tape writer.

The computer has two registers with 22 bits and is able to perform additions and subtractions (it is not a general purpose computer).


Slide9 l.jpg
Z3

Zuse constructed the Z3, a fully programmable general purpose computer, in 1939-1941. Remarkably, it contained a binary floating point arithmetic. It was clocked at 5.33 Hz, based on relays, and had 64 words of 22 bits.

The small memory did not allow for storage of the program.

(Art and photo courtesy of Horst Zuse)


Performance l.jpg
Performance

  • Response time: time between start and finish of the task (aka execution time)

  • Throughput: total amount of work done in a given time


Performance11 l.jpg
Performance

(Absolute) Performance

Relative Performance


Amdahl s law l.jpg
Amdahl’s Law

The execution time after making an improvement to the system is given by

Exec time after improvement = I/A + E

I = execution time affected by improvement

A = amount of improvement

E = execution time unaffected


Assembly language l.jpg
Assembly Language

.text # code section

.globl main

main: li $v0, 4 # system call for print string

la $a0, str # load address of string to print

syscall # print the string

li $v0, 10 # system call for exit

syscall # exit

.data

str: .asciiz “Hello world!\n” # NUL terminated string, as in C


Things to know l.jpg
Things to know...

  • Instruction and pseudo-instructions

  • Register conventions (strictly enforced)

  • Machine language instruction given, find the corresponding assembly language instruction

  • Code puzzles

  • Solve a small programming task


Instruction word formats l.jpg
Instruction Word Formats

Register format

Immediate format

Jump format

op-code rs rt rd shamt funct

6 5 5 5 5 6

op-code rs rt immediate value

6 5 5 16

op-code 26 bit current segment address

6 26


Machine language l.jpg
Machine Language

What does that mean?

  • Machine language level programming means that we have to provide the bit encodings for the instructions

  • For example, add $t0, $s1, $s2 represents the 32bit string

  • 00000010001100100100000000100000

  • Assembly language mnemonics usually translate into one instruction

  • We also have pseudo-instructions that translate into several instructions


Watson the case is clear l.jpg
Watson, the case is clear…

  • add $t0, $s1, $s2

  • 00000010001100100100000000100000

  • 000000 10001 10010 01000 00000 100000

    • Operation and function field tell the computer to perform an addition

  • 000000 10001 10010 01000 00000 100000

    • registers $17, $18 and $8

op-code rs rt rd shamt funct

6 5 5 5 5 6


Number representations l.jpg
Number Representations

  • Signed and unsigned integers

  • Number conversions

  • Comparisons

  • Overflow rules


Detecting overflow l.jpg
Detecting Overflow

  • No overflow when adding a positive and a negative number

  • No overflow when signs are the same for subtraction

  • Overflow occurs when the value affects the sign:

    • overflow when adding two positives yields a negative

    • or, adding two negatives gives a positive

    • or, subtract a negative from a positive and get a negative

    • or, subtract a positive from a negative and get a positive




Logic design l.jpg
Logic Design

  • Determine truth tables of combinatorial circuits

  • Determine combinatorial circuits from truth tables

  • Determine critical path

  • Overflow detection in ALU


Slide23 l.jpg
SLT

  • 4 operations

  • subtraction output available

  • Connect

  • MSB set output

    • w/ LSB less


Adders l.jpg
Adders

  • Ripple carry

  • Carry-lookahead


Fast adders l.jpg
Fast Adders

Iterate the idea, generate and propagate

ci+1 = gi + pici

= gi + pi(gi-1 + pi-1 ci-1)

= gi + pigi-1+ pipi-1ci-1

= gi + pigi-1+ pipi-1gi-2 +…+ pipi-1 …p1g0

+pipi-1 …p1p0c0

Two level AND-OR circuit

Carry is known early!


Multiplication l.jpg
Multiplication

0010 (multiplicand)

__ x_1011 (multiplier)

0010 x 1

00100 x 1

001000 x 0 0010000 x 1 0010110


Booth multiplication l.jpg
Booth Multiplication

Current and previous bit

00: middle of run of 0s, no action

01: end of a run of 1s, add multiplicand

10: beginning of a run of 1s, subtract mcnd

11: middle of string of 1s, no action



Ieee 754 floating point representation l.jpg
IEEE 754 Floating Point Representation

  • Float – 1 sign bit, 8 exponent bits, 23 bits for significand.

    seeeeeeeefffffffffffffffffffffff

    value = (-1)s x F x 2E-127

    with F= 1 + .ffffffff .... fff

  • Double – 1 sign bit, 11 exponent bits, 52 bits for significand


Processor l.jpg
Processor

  • Be able to build the datapath

  • Be able to explain issues concerning datapath and control



Single versus multicycle processor l.jpg
Single- versus Multicycle Processor

  • What are the differences?

  • What is executed during the 7th cycle?

  • How many cycles do we need?



Need for speed l.jpg
Need for Speed

  • You need to be able to answer the question in a short time (75 minutes)

  • Routine calculations, such as number conversions, should not slow you down

  • Read the chapters very carefully!

  • Many repetitions will help you to gain a better understanding