17
DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

Embed Size (px)

DESCRIPTION

Function Units in a Computer

Citation preview

Page 1: DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

DR. SIMING LIUSPRING 2016

COMPUTER SCIENCE AND ENGINEERINGUNIVERSITY OF NEVADA, RENO

Session 2 Computer Organization

Page 2: DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

Organization

Capabilities & performance characteristics of Principal Functional Units (e.g. Registers, ALU, Shifters, Logic Units, …)

Ways in which these components are interconnected

Information flows between components

Logic and means by which such information flow is controlled

Choreography of FUs to realize the ISA

Register Transfer Level (RTL) Description

SOFTWARE

ISA Level

FUs & Interconnect

Logic Designer’s View

Page 3: DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

Function Units in a Computer

Page 4: DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

Chapter 1 — Computer Abstractions and Technology — 4

Opening the BoxCapacitive multitouch LCD screen

3.8 V, 25 Watt-hour battery

Computer board

Page 5: DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

Chapter 1 — Computer Abstractions and Technology — 5

Inside the Processor (CPU)

Datapath: performs operations on dataControl: sequences datapath, memory, ...Cache memory

Small fast SRAM memory for immediate access to data

Page 6: DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

Inside the Processor

Apple A5

Page 7: DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

Classes of Computers

• Desktop computers: Designed to deliver good performance to a single user at low cost usually executing 3rd party software, usually incorporating a graphics display, a keyboard, and a mouse

• Servers: Used to run larger programs for multiple, simultaneous users typically accessed only via a network and that places a greater emphasis on dependability and (often) security

• Supercomputers: A high performance, high cost class of servers with hundreds to thousands of processors, terabytes of memory and petabytes of storage that are used for high-end scientific and engineering applications

• Embedded computers (processors): A computer inside another device used for running one predetermined application. Very often cost, power, and failure rate are more important than performance.

Page 8: DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

Growth in Embedded Processor Sales

(embedded growth >> desktop growth !!!)

Where else are embedded processors found?

Page 9: DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

The PostPC Era

Page 10: DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

Embedded Processor Characteristics

The largest class of computers spanning the widest range of applications and performance

Often have minimum performance requirements. Example? Often have stringent limitations on cost. Example? Often have stringent imitations on power consumption.

Example? Often have low tolerance for failure. Example?

Page 11: DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

Eight Great Ideas

Design for Moore’s LawUse abstraction to simplify designMake the common case fastPerformance via parallelismPerformance via pipeliningPerformance via predictionHierarchy of memoriesDependability via redundancy

Page 12: DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

Below the Program

Application software Written in high-level language

System software Compiler: translates HLL code

to machine code Operating System: service code

Handling input/output Managing memory and storage Scheduling tasks & sharing

resourcesHardware

Processor, memory, I/O controllers

Page 13: DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

Levels of Program Code

High-level language Level of abstraction

closer to problem domain Provides for productivity

and portability Assembly language

Textual representation of instructions

Hardware representation Binary digits (bits) Encoded instructions and

data

Have you seen an assembly file?

Page 14: DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

Advantages of HLLs

Higher-level languages (HLLs) Allow the programmer to think in a more natural language and for their

intended use (Fortran for scientific computation, Cobol for business programming, Lisp for symbol manipulation, Java for web programming, …)

Improve programmer productivity – more understandable code that is easier to debug and validate

Improve program maintainability Allow programs to be independent of the computer on which they are

developed (compilers and assemblers can translate HLL programs to the binary instructions of the machine)

Emergence of optimizing compilers that produce very efficient assembly code optimized for the target machine

As a result, very little programming is done today at the assembler level

Page 15: DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

Compiler Basics

High-level languages Programmers do not think in 0 and 1s

Languages can also be specific to target applications, such as Cobol (business) or Fortran (scientific)

Applications are more concise => fewer bugs Programs can be independent of system on which they

are developedCompilers convert source code to object codeLibraries simplify common tasks

Page 16: DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

Levels of Representation

High Level Language Program

Assembly Language Program

Machine Language Program

Control Signal Specification

Compiler

Assembler

Machine Interpretation

°°

temp = v[k];v[k] = v[k+1];v[k+1] = temp;

lw $15, 0($2)lw$16, 4($2)sw $16, 0($2)sw $15, 4($2)

0000 1001 1100 0110 1010 1111 0101 10001010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111

ALUOP[0:3] <= InstReg[9:11] & MASK

Page 17: DR. SIMING LIU SPRING 2016 COMPUTER SCIENCE AND ENGINEERING UNIVERSITY OF NEVADA, RENO Session 2 Computer Organization

Execution Cycle

InstructionFetch

InstructionDecode

OperandFetch

Execute

ResultStore

NextInstruction

Obtain instruction from program storage

Determine required actions and instruction size

Locate and obtain operand data

Compute result value or status

Deposit results in storage for later use

Determine successor instruction

How to improve the performance?