[SOLVED] mips computer architecture assembly Microsoft PowerPoint CSE220 Unit01 Introduction to Digital Systems.pptx

$25

File Name: mips_computer_architecture_assembly_Microsoft_PowerPoint__CSE220_Unit01_Introduction_to_Digital_Systems.pptx.zip
File Size: 1017.36 KB

5/5 - (1 vote)

Microsoft PowerPoint CSE220 Unit01 Introduction to Digital Systems.pptx

1

1Kevin McDonnell Stony Brook University CSE 220

CSE 220:

Systems Fundamentals I

Unit 1:

Introduction to Digital

Systems

2Kevin McDonnell Stony Brook University CSE 220

The Landscape of Computing
Three broad classes of modern computing devices:

Personal computers: general-purpose, low-performing
machines

Servers and supercomputers: more powerful
machines usually built for a particular purpose
Modern supercomputers typically have 10,000+

processing units and terabytes of memory
Embedded computers: special-purpose computers that

are embedded in a larger system, such as a car, TV,
network router, etc.

For which of these computing platforms will fault tolerance
be the least? (i.e., for which computer type is a failure
totally unacceptable?)

3Kevin McDonnell Stony Brook University CSE 220

But Wait, Theres More!
Harder to categorize are devices like smart phones and

tablets
Somewhere between a personal computer and an

embedded system? Or a totally different category?
Cloud computing systems also dont fit well into these

categories
An evolution of server technology
SaaS: software as a service why buy an expensive

server when you can rent one at a fraction of the price?

4Kevin McDonnell Stony Brook University CSE 220

Architecture vs. Organization
The terms computer architecture and computer

organization are often thrown about without clear
explanation of what these terms mean

Computer architecture refers to those aspects of the
hardware that are visible to the programmer
e.g., instructions the computer is capable of executing,

word size (native unit of data of CPU), data formats
Computer organization (also called microarchitecture)

refers to how the physical components of the machine
interact to implement the architecture
A particular computer architecture could be

implemented by several different microarchitectures

2

5Kevin McDonnell Stony Brook University CSE 220

Eight Great Ideas in Architecture
1. Design for Moores Law

Moores Law refers to the trend that
circuit complexity/speed doubles
every 18-24 months

Anticipate where technology will be
when a system is completed, not when
it is being designed

2. Use abstraction to simplify design
Abstraction refers to ignoring irrelevant

details and focusing on higher-level
design/implementation issues

Part of software development too

6Kevin McDonnell Stony Brook University CSE 220

Eight Great Ideas in Architecture
3. Make the common case fast

Enhance the performance of those operations which
occur most frequently

4. Increase performance via parallelism
Perform operations in parallel (simultaneously) when

possible
5. Increase performance via pipelining

A form of parallelism in which single instructions are
broken into multiple stages and executed in parallel

6. Increase performance via prediction
The computer guesses which operation will be

executed next and starts executing it early

7Kevin McDonnell Stony Brook University CSE 220

Eight Great Ideas in Architecture
7. Implement a hierarchy of memories

Fastest, smallest and expensive memory at the top;
slowest, largest and cheapest at the bottom

8. Increase dependability via redundancy
Include redundant components that can take over when

a failure occurs
Of particular importance in cloud computing systems

and other server technologies

8Kevin McDonnell Stony Brook University CSE 220

The Three Ys
1. Hierarchy

We will look at the design of a CPU from the bottom-up
as a collection of collaborating modules

2. Modularity
These modules have well-defined functions and

interfaces
3. Regularity

Modules can be reused many times in a single design,
thereby reducing then umber of distinct components
that must be designed

Note how well these concepts apply also to software design
and implementation

3

9Kevin McDonnell Stony Brook University CSE 220

von Neumann Architecture
The term von Neumann architecture refers to a

particular computer hardware design model for a stored-
program digital computer (e.g., PCs)

Separate central processing unit (CPU) and random-
access memory (RAM)

Both instructions and data stored in RAM
Data to be processed is transferred from RAM to CPU, and

results are transferred back to RAM
Named for Hungarian-American mathematician John von

Neumann, but others participated in the original design
Most modern computers follow this basic design model,

but are substantially more complex

10Kevin McDonnell Stony Brook University CSE 220

von Neumann Architecture
CPU: performs the actual processing

control unit: performs instruction decoding and control
arithmetic/logic unit (ALU): performs basic

arithmetical and logical operations
registers: small amount of memory used to hold

addresses, instructions and data
RAM: larger memory used to store both program

instructions and data
I/O devices permit data to enter/leave machine

Well concern ourselves with standard input, standard
output, standard error and also file I/O

11Kevin McDonnell Stony Brook University CSE 220

Stored-program Computer
In a stored-program computer, the program to be executed

is stored in RAM along with the data to be processed
So please note: by saying stored program it does NOT

mean we are storing the programs on a disk
A program consists of binary instructions stored in RAM
Each instruction or small piece of data in RAM has an

associated memory address to indicate its location
A program counter (or instruction pointer) register in

the CPU stores the memory address of the next instruction
to be executed

Earlier computers were hard-wired to a particular
program via switches, patch cables, etc.

12Kevin McDonnell Stony Brook University CSE 220

Fetch/Decode/Execute Cycle
So what is a 3 GHz CPU doing 3 billion times per second?
The basic cycle of operation of a von Neumann-style

computer:
Fetch: the next instruction is retrieved from RAM
Decode: the instruction is examined to determine what

the CPU should do:
Opcode: field that determines the type of instruction
Operand(s): fields that determine the source and

destination of data to be operated on
Execute: the operation specified by the instruction is

performed, which may involve one or more memory
references

4

13Kevin McDonnell Stony Brook University CSE 220

Fetch/Decode/Execute Cycle

14Kevin McDonnell Stony Brook University CSE 220

Instruction Set
The instruction set of a computer is the repertoire of

instructions that the CPU can perform
Determined by the computer architects/designers
Hard-wired as part of the computer design
Different for each type of CPU

What is an instruction?
Answer: it depends on the kind of CPU
In RISC (reduced instruction set computer) CPUs, the

instruction set is small and consists of simple instructions
In CISC (complex instruction set computer) CPUs, the

instruction set is larger and consists of instructions that
vary in length and complexity

15Kevin McDonnell Stony Brook University CSE 220

Typical RISC Instructions
In this course we will study the MIPS architecture

(Microprocessor without Interlocked Pipeline Stages),
which is of the RISC type. Instructions include:
Load data from memory to CPU register
Copy (Store) data from CPU register to memory
Add, subtract, multiply, divide, etc. data in CPU

registers
AND, OR, XOR, NOT, etc. data in CPU registers
Shift and rotate data in CPU registers
Jump based on CPU state flags (condition codes)
Call a subroutine (function) and return to caller

16Kevin McDonnell Stony Brook University CSE 220

Example
A high-level programming language statement like

X = A + B would be translated to assembly language
instructions as follows:
LOAD A
LOAD B
ADD C, A, B
STORE C, X

Naturally, the real assembly instructions are a little more
sophisticated than this (e.g., from what memory address
are loading the data?), but the beauty of RISC machines is
that the instructions are quite simple

The assembly language instructions are then translated
into machine language (1s and 0s) for execution by the CPU

5

17Kevin McDonnell Stony Brook University CSE 220

Course Roadmap
Data representations: numbers, characters
MIPS assembly programming: basics, conditionals, loops
MIPS assembly programming: functions, 1D arrays
Digital logic design: basic circuit design
Digital logic design: computational units, timing
Digital logic design: circuit simplification
MIPS assembly programming: 2D arrays
MIPS architecture: single-cycle data path
MIPS assembly programming: recursive functions
MIPS architecture: multi-cycle data path
MIPS architecture: pipelined data path

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] mips computer architecture assembly Microsoft PowerPoint CSE220 Unit01 Introduction to Digital Systems.pptx
$25