1. Trang chủ
  2. » Giáo án - Bài giảng

kiến trúc máy tính võ tần phương chương ter01 sinhvienzone com

55 113 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 55
Dung lượng 3,44 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

2013 dce 7 Course Learning Outcomes • Towards the end of this course, you should be able to … – Describe the instruction set architecture of a MIPS processor – Analyze, write, and te

Trang 1

Faculty of Computer Science and Engineering

Department of Computer Engineering

Vo Tan Phuong

http://www.cse.hcmut.edu.vn/~vtphuong

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 3

• Welcome to CA CSE Fall 2013

• Computer Architectures and Trends

• High-Level, Assembly-, and Machine-Languages

• Components of a Computer System

• Chip Manufacturing Process

• Programmer's View of a Computer System

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 4

2013

dce

4

Welcome to CA CSE Fall 2013

Trang 5

2013

dce

5

Which Textbook will be Used?

• Computer Organization & Design:

The Hardware/Software Interface

– Fourth Edition – David Patterson and John Hennessy – Morgan Kaufmann Publishers, 2009

• Read the textbook in addition to slides

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 6

• MIPS Instruction Set Architecture (2 weeks)

• MIPS Assembly Programming (3 weeks)

• Performance (1 week)

• Basic Digital Function Block, ALU (1 week)

• Single Cycle MIPS Processor (2 weeks)

• Pipelined MIPS Processor (2 weeks)

• Main Memory System (1 week)

• Cache Memory System (1 week)

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 7

2013

dce

7

Course Learning Outcomes

• Towards the end of this course, you should be able to …

– Describe the instruction set architecture of a MIPS processor – Analyze, write, and test MIPS assembly language programs – Design the datapath and control of a single-cycle CPU

– Design the datapath/control of a pipelined CPU & handle hazards – Describe the organization/operation of memory and caches

– Analyze the performance of processors and caches

• Required Background

– Ability to program confidently in Java or C – Ability to design a combinational and sequential circuit

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 8

2013

dce

8

Tentative Grading Policy

Trang 9

– MARS: MIPS Assembly and Runtime Simulator

• Runs MIPS-32 assembly language programs

Trang 10

• Welcome to CA CSE Fall 2013

• Computer Architectures and Trends

• High-Level, Assembly-, and Machine-Languages

• Components of a Computer System

• Chip Manufacturing Process

• Programmer's View of a Computer System

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 11

2013

dce

11

What is “Computer Architecture” ?

• Computer Architecture =

Instruction Set Architecture +

Computer Organization

• Instruction Set Architecture (ISA)

– WHAT the computer does (logical view)

• Computer Organization

– HOW the ISA is implemented (physical view)

• We will study both in this course

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 12

2013

dce

12

Computer Architecture In Context

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 13

2013

dce

13

Trend 1: Growing Diversity In Apps & Systems

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 14

2013

dce

14

Trend 2: Software trend

• No longer just executing C/FORTRAN code

• Object Oriented Programming

Trang 15

2013

dce

15

Trend 3: Energy/Power Constrain all Modern Systems

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 16

2013

dce

16

Emerging Device Technologies

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 17

2013

dce

17

Power Constrains Single-Processor Scaling

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 18

2013

dce

18

Transition to Multicore Processors

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 19

2013

dce

19

Multicore Performance Scaling

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 20

• Desktop / Notebook Computers

– General purpose, variety of software – Subject to cost/performance tradeoff

• Server Computers

– Network based – High capacity, performance, reliability – Range from small servers to building sized

• Embedded Computers

– Hidden as components of systems – Stringent power/performance/cost constraints

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 22

• ARM processors

are used mostly in cellular phones

• Most processors

today are embedded

in cell phones, digital TVs, video games, and a variety of consumer devices

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 23

• Welcome to CA CSE Fall 2013

• Computer Architectures and Trends

• High-Level, Assembly-, and Machine-Languages

• Components of a Computer System

• Chip Manufacturing Process

• Programmer's View of a Computer System

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 24

2013

dce

24

Some Important Questions to Ask

• What is Assembly Language?

• What is Machine Language?

• How is Assembly related to a high-level language?

• Why Learn Assembly Language?

• What is an Assembler, Linker, and Debugger?

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 25

Machine independent Machine specific

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 26

2013

dce

26

Assembly and Machine Language

• Assemblers translate assembly to machine code

• Compilers translate high-level programs to machine code

– Either directly, or – Indirectly via an assembler

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 27

2013

dce

27

Compiler and Assembler

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 28

2013

dce

28

MIPS Assembly Language:

MIPS Machine Language:

00051080

00821020 8C620000 8CF20004 ACF20000 AC620004 03E00008

Assembler

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 29

2013

dce

29

Advantages of High-Level Languages

• Program development is faster

– High-level statements: fewer instructions to code

• Program maintenance is easier

– For the same above reasons

• Programs are portable

– Contain few machine-dependent details

• Can be used with little or no modifications on different machines

– Compiler translates to the target machine language – However, Assembly language programs are not portable

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 30

2013

dce

30

Why Learn Assembly Language?

• Many reasons:

– Accessibility to system hardware – Space and time efficiency

– Writing a compiler for a high-level language

• Accessibility to system hardware

– Assembly Language is useful for implementing system software – Also useful for small embedded system applications

• Space and Time efficiency

– Understanding sources of program inefficiency – Tuning program performance

– Writing compact code

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 31

2013

dce

31

Assembly Language Programming Tools

• Editor

– Allows you to create and edit assembly language source files

• Assembler

– Converts assembly language programs into object files

– Object files contain the machine instructions

• Linker

– Combines object files created by the assembler with link libraries

– Produces a single executable program

• Debugger

– Allows you to trace the execution of a program – Allows you to view machine instructions, memory, and registers

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 32

2013

dce

32

Assemble and Link Process

Assembler Object File

Assembler Object File

Assembler Object File

Linker Executable

File

Link Libraries

A program may consist of multiple source files

Assembler translates each source file separately into an object file

Linker links all object files together with link libraries

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 33

2013

dce

33

MARS Assembler and Simulator Tool

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 34

• Welcome to CA CSE Fall 2013

• Computer Architectures and Trends

• High-Level, Assembly-, and Machine-Languages

• Components of a Computer System

• Chip Manufacturing Process

• Programmer's View of a Computer System

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 35

2013

dce

35

Opening the Box

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 36

2013

dce

36

How do Components Connect

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 37

2013

dce

37

Components of a Computer System

• Processor

– Datapath – Control

• Memory & Storage

– Main Memory – Disk Storage

• Input devices

• Output devices

• Bus: Interconnects processor to memory and I/O

• Network: newly added component for communication

Computer

Memory

I/O Devices Input

Output

B U

S Control

Trang 39

Toner

Rotating drum

Cleaning of excess toner

Charging

Heater

Fusing of toner

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 40

• Volatile Memory Devices

• 1-Transistor cell + capacitor

• Dense but slow, must be refreshed

• Typical choice for main memory

• 6-Transistor cell, faster but less dense than DRAM

• Typical choice for cache memory

• Non-Volatile Memory Devices

– Flash Memory

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 41

2013

dce

41

Arm provides read/write

heads for all surfaces

The disk heads are

connected together and

Magnetic Disk Storage

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 42

2013

dce

42

Magnetic Disk Storage

Track 0

Sector Recording area

Spindle

Direction of rotation

Seek Time : head movement to the

desired track (milliseconds)

Rotation Latency : disk rotation until

desired sector arrives under the head

Transfer Time : to transfer data

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 43

2013

dce

43

Inside the Processor (CPU)

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 44

2013

dce

44

Inside the Processor (CPU)

• Datapath: part of a processor that executes instructions

• Control: generates control signals for each instruction

Next Program Counter

Data Cache

Control

Clock

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 45

• Instruction and Data Caches

– Small and fast memory containing most recent instructions/data

• Register File

– General-purpose registers used for intermediate computations

• ALU = Arithmetic and Logic Unit

– Executes arithmetic and logic instructions

• Buses

– Used to wire and interconnect the various components

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 46

Generate control signals for instruction Read operands from registers

Compute result value

Writeback result in a register

Fetch - Execute Cycle

Instruction Decode Instruction Fetch

Trang 47

Operation of digital hardware is governed by a clock

 Clock period: duration of a clock cycle

Trang 48

• Welcome to CA CSE Fall 2013

• Computer Architectures and Trends

• High-Level, Assembly-, and Machine-Languages

• Components of a Computer System

• Chip Manufacturing Process

• Programmer's View of a Computer System

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 49

2013

dce

49

Chip Manufacturing Process

Tested dies

Bond die to package

Packaged dies

Part Tester

Tested Packaged dies

Ship to Customers

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 50

2013

dce

50

Wafer of Pentium 4 Processors

• 8 inches (20 cm) in diameter

– About 16 mm per side

• 55 million transistors per die

– 0.18 μm technology – Size of smallest transistor – Improved technology uses

Trang 51

2013

dce

51

Dramatic decrease in yield with larger dies

Yield = (Number of Good Dies) / (Total Number of Dies)

Effect of Die Size on Yield

Defective Die Good Die

(1 + (Defect per area  Die area / 2))2

1 Yield =

Die Cost = (Wafer Cost) / (Dies per Wafer  Yield)

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 52

• Welcome to CA CSE Fall 2013

• Computer Architectures and Trends

• High-Level, Assembly-, and Machine-Languages

• Components of a Computer System

• Chip Manufacturing Process

• Programmer's View of a Computer System

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 53

2013

dce

53

Programmer’s View of a Computer System

Application Programs High-Level Language

Assembly Language

Operating System

Instruction Set Architecture Microarchitecture

Physical Design

Level 0 Level 1 Level 2 Level 3 Level 4

of abstraction

Each level hides the details of the level below it

Trang 54

• Application Programs (Level 5)

– Written in high-level programming languages – Such as Java, C++, Pascal, Visual Basic – Programs compile into assembly language level (Level 4)

• Assembly Language (Level 4)

– Instruction mnemonics are used – Have one-to-one correspondence to machine language – Calls functions written at the operating system level (Level 3) – Programs are translated into machine language (Level 2)

• Operating System (Level 3)

– Provides services to level 4 and 5 programs – Translated to run at the machine instruction level (Level 2)

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 55

• Instruction Set Architecture (Level 2)

– Interface between software and hardware – Specifies how a processor functions

– Machine instructions, registers, and memory are exposed – Machine language is executed by Level 1 (microarchitecture)

• Microarchitecture (Level 1)

– Controls the execution of machine instructions (Level 2) – Implemented by digital logic

• Physical Design (Level 0)

– Implements the microarchitecture – Physical layout of circuits on a chip

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Ngày đăng: 28/01/2020, 23:10

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm