ĐẠI HỌC DUY TÂN

KHOA ĐIỆN TỬ VIỄN THÔNG

CHƯƠNG 5 ĐẠI CƯƠNG VỀ KIẾN TRÚC MÁY TÍNH

Nguyễn Văn Thọ Khoa Điện tử viễn thông Đại học Duy Tân – 2010

Nguyen Van Tho – Duy Tan University.

VON NEUMANN & MÁY TÍNH VON NEUMANN John Louis von Neumann (1903- 1957) Nhà toán học, vật lý học người Hungari Người đề xuất khái niệm chương trình được lưu trữ qua bản phác thảo đầu tiên cho EDVAC (1945) Bản phác thảo cấu trúc cơ bản trở thành Máy tính Von Neumann. • memory, chứa đựng chỉ thị và dữ

liệu • processing unit, xử lý các phép tính số học và logic • a control unit, cung cấp chỉ thị

1

2-2

Nguyen Van Tho – Duy Tan University.

MÁY TÍNH VON NEUMANN

MEMORY

MAR

MDR

PROCESSING UNIT

INPUT Keyboard Mouse Scanner Disk

OUTPUT Monitor Printer LED Disk

TEMP

ALU

CONTROL UNIT

PC

IR

Nguyen Van Tho – Duy Tan University.

2-3

MEMORY - BỘ NHỚ

Một mảng k x m bit (k = 2n) Address(Địa chỉ)

• Giá trị địa chỉ là duy nhất cho mỗi vị trí trong bộ nhớ

00101101

Contents (Nội dung)

• m-bit value stored in location

0000 0001 0010 0011 0100 0101 0110

• • • 10100010

1101 1110 1111

Hoạt động cơ bản: LOAD

STORE

• Đọc 1 giá trị từ 1 vị trí trong bộ nhớ

• Ghi 1 giá trị vào 1 vị trí trong bộ nhớ

2

1-4 2-4

Nguyen Van Tho – Duy Tan University.

GIAO TIẾP VỚI BỘ NHỚ

MEMORY

Đơn vị xử lý làm gì để đọc/ghi ở bộ nhớ ? MAR: Memory Address Register Thanh ghi địa chỉ bộ nhớ

MAR

MDR

MDR: Memory Data Register

Thanh ghi dữ liệu bộ nhớ

Đọc từ 1 vị trí có địa chỉ (A): 1. Ghi địa chỉ (A) vào MAR. 2. Gửi tín hiệu điều khiển đọc tới bộ nhớ. 3. Đọc dữ liệu từ MDR.

Ghi giá trị (X) vào vị trí (A): 1. Ghi giá trị (X) vào MDR. 2. Ghi địa chỉ (A) vào MAR. 3. Gửi tín hiệu điều khiển ghi vào bộ nhớ.

Nguyen Van Tho – Duy Tan University.

1-5 2-5

Control Unit - Đơn vị điều khiển Điều khiển thi hành chương trình

CONTROL UNIT

PC

IR

IR - Instruction Register Thanh ghi chỉ thị PC - Program Counter Thanh ghi Bộ đếm chương trình

• Đọc 1 chỉ thị từ bộ nhớ (địa chỉ của chỉ thị nằm trong PC)

• Căn cứ vào chỉ thị nhận được, phát tín hiệu điều khiển để gọi thành

IR chứa chỉ thị hiện tại. PC chứa địa chỉ của chỉ thị kế tiếp sẽ xử lý Control unit:

phần tương ứng thực hiện tác vụ

1 chỉ thị có thể mất nhiều chu kỳ máy để thực hiện xong

3

1-6 2-6

Nguyen Van Tho – Duy Tan University.

Processing Unit – Đơn vị xử lý Functional Units

PROCESSING UNIT

TEMP

ALU

• ALU = Arithmetic and Logic Unit • Có nhiều đơn vị chức năng,

trong đó có 1 số chức năng đặc biệt (nhân, căn bậc 2, …) • LC-2 thực hiện được ADD, AND, NOT

Registers ( Thanh ghi)

• Dung lượng nhỏ, lưu trữ tạm thời • Chứa toán hạng và kết quả của các đơn vị chức năng • LC-2 có 8 thanh ghi (R0, …, R7)

Word Size (Độ dài từ)

Nguyen Van Tho – Duy Tan University.

OUTPUT Monitor Printer LED Disk

• Số bit ALU có thể xử lý trong 1 chỉ thị • Khác với độ rộng của thanh ghi • LC-2 là 16 bits 1-7 2-7

Input & Output Dùng để đưa dữ liệu vào bộ nhớ máy tính hoặc lấy dữ liệu ra từ bộ nhớ máy tính Các thiết bị thường sử dụng giao diện là các thanh ghi giống như 2 thanh ghi MAR và MDR của bộ nhớ

• LC-2 hỗ trợ keyboard (input) và bảng điện tử (output) • keyboard: thanh ghi dữ liệu KBDR( data register) & thanh ghi trạng thái KBSR (status register) • console: data register (CRTDR) & status register (CRTSR)

Một vài thiết bị có thể vừa là input , vừa là output

disk, network

Chương trình truy cập thiết bị thường sử dụng thông qua trình điều khiển thiết bị (driver)

4

1-8 2-8

Nguyen Van Tho – Duy Tan University.

Instruction Processing - Xử lý chỉ thị

Lấy chỉ thị từ bộ nhớ Lấy chỉ thị từ bộ nhớ

FETCH FETCH

Giải mã chỉ thị Giải mã chỉ thị

DECODE DECODE

Tính toán địa chỉ Tính toán địa chỉ

EVALUATE ADDRESS EVALUATE ADDRESS

Lấy các toán hạng từ bộ nhớ Lấy các toán hạng từ bộ nhớ

FETCH OPERANDS FETCH OPERANDS

Xử lý tính toán Xử lý tính toán

EXECUTE EXECUTE

Lưu trữ kết quả Lưu trữ kết quả

STORE STORE

Nguyen Van Tho – Duy Tan University.

2-9 1-9

Instruction - Chỉ thị Chỉ thị là đơn vị cơ bản của công việc Thành phần :

• opcode: tác vụ cần thi hành (cộng , trừ …) • operands: (toán hạng) số liệu hoặc địa chỉ số liệu cần cho tác vụ

1 chỉ thị được mã hóa thành 1 chuỗi các bit (Just like data!)

hành tác vụ.

• Chỉ thị thường có chiều dài 16, 32 bit. • Control unit thể hiện chỉ thị : phát 1 chuỗi các tín hiệu điều khiển để thi

• Operation is either executed completely, or not at all.

Chỉ thị của computer và định dạng của nó được gọi là Instruction Set Architecture (ISA).

5

1-10 2-10

Nguyen Van Tho – Duy Tan University.

Ví dụ : LC-3 ADD Instruction LC-3 có chỉ thị là 16-bit

• Mỗi chỉ thị có 4 bit opcode [15:12].

LC-3 có 8 thanh ghi (R0-R7) .

“Cộng nội dung của thanh ghi R2 với thanh ghi R6, lưu trữ kết quả trong thanh ghi R6.”

• Nguồn và đích của chỉ thị ADD là các thanh ghi.

Nguyen Van Tho – Duy Tan University.

1-11 2-11

FF

DD

Instruction Processing: FETCH Lấy chỉ thị kế tiếp từ PC đưa vào Instruction Register (IR). • Lấy nội dung của PC đưa vào MAR. • Gửi tín hiệu điều khiển đọc tới bộ nhớ • Đọc nội dung của MDR, đưa vào IR.

EAEA

Thanh ghi PC chỉ đến chỉ thị kế tiếp

OPOP

EXEX

SS

• PC = PC+1.

6

1-12 2-12

Nguyen Van Tho – Duy Tan University.

Instruction Processing: DECODE Nhận dạng opcode.

FF

• LC-3 : 4 bit [12-15] của chỉ thị. [0001]

DD

Xác định giá trị các toán hạng từ các bit còn lại

EAEA

• Example:

OPOP

EXEX

SS

(cid:190)ADD 3 bit [6-8] toán hạng nguồn 1 : 010 3 bit [0-2] toán hạng nguồn 2 : 110 3 bit [9-10] toán hạng đích : 110

Nguyen Van Tho – Duy Tan University.

FF

1-13 2-13

Instruction Processing: EVALUATE ADDRESS Trong những chỉ thị cần truy cập bộ nhớ, tính toán địa chỉ sử dụng cho việc truy cập bộ nhớ.

DD

EAEA

OPOP

EXEX

SS

7

1-14 2-14

Nguyen Van Tho – Duy Tan University.

Instruction Processing: FETCH OPERANDS Lấy các toán hạng nguồn để thi hành tác vụ.

FF

Examples:

DD

EAEA

• Lấy dữ liệu từ bộ nhớ (LDR) • Đọc dữ liệu từ thanh ghi

OPOP

EXEX

SS

Nguyen Van Tho – Duy Tan University.

1-15 2-15

Instruction Processing: EXECUTE Thi hành tác vụ với các toán hạng nguồn

FF

Examples:

DD

EAEA

OPOP

• Gửi toán hạng tới ALU và tín hiệu xác định ADD

EXEX

SS

8

1-16 2-16

Nguyen Van Tho – Duy Tan University.

Instruction Processing: STORE Lưu trữ kết quả ra bộ nhớ hoặc thanh ghi

FF

Examples:

DD

EAEA

• result of ADD is placed in destination register • result of memory load is placed in destination register • for store instruction, data is stored to memory

OPOP

EXEX

(cid:190)write address to MAR, data to MDR (cid:190)assert WRITE signal to memory

SS

Nguyen Van Tho – Duy Tan University.

1-17 2-17

Ideal Pipelining

1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 Cycle: Instr:

i WMXRDF

i+1 WMXRDF

i+2 WMXRDF

i+3 WMXRDF

i+4 WMXRDF

9

2-18

Nguyen Van Tho – Duy Tan University.

VON NEUMAN VS. HARDVARD

Nguyen Van Tho – Duy Tan University.

2-19

3 MỨC ĐỘ XỬ LÝ SONG SONG Many applications have thread-level parallelism • Web server: 100s of users connected simultaneously • O/S has many threads to choose from

Could run more than one thread at the same time Possible approaches

• Multithreading (Intel hyperthreading) • Multiple processor cores per chip • Multiple processor chips per system

10

2-20

Nguyen Van Tho – Duy Tan University.

Multithreading (Intel hyperthreading)

Bản chất của siêu phân luồng ?

AS

AS

Tài nguyên thực thi

Mô phỏng mỗi bộ xử lý vật lý như là 2 bộ xử lý logic, tài nguyên vật lý sẽ được chia sẻ và có cấu trúc chung giống hệt nhau cho cả 2 bộ xử lý logic. Hệ điều hành và phần mềm coi nó như 2 bộ xử lý song song

Kết quả là tốc độ trung bình tăng lên khoảng 20-30%. 2-21

Nguyen Van Tho – Duy Tan University.

Multithreading (Intel hyperthreading)

Hạn chế của siêu phân luồng ?

Khi CPU thực hiện đồng thời 2 chuỗi lệnh đơn giản (add, load,store) (cid:198) xung đột do cả hai chuỗi lệnh đều cùng dùng đến một đơn vị thực thi. Khi đó CPU sử dụng kỹ thuật siêu phân luồng hoá ra chậm hơn so với CPU thông thường (10%)

11

2-22

Nguyen Van Tho – Duy Tan University.

BỘ XỬ LÝ ĐA NHÂN

AS

AS

Tài nguyên thực thi Tài nguyên thực thi

Bộ xử lý đa nhân được kiến trúc bởi 2 hay nhiều CPU vật lý thực sự, có khả năng thực hiện đồng thời 2 chuỗi lệnh song song thực sự .

(cid:57)CPU 2 nhân (Core 2 Duo) tăng 40% hiệu năng (cid:57)CPU 4 nhân (Quad Core) tăng 50% hiệu năng hệ thống so với CPU 2 nhân.

Nguyen Van Tho – Duy Tan University.

2-23

Multiple Processor Cores per Chip

Processor Core & L1

Processor Core & L1

Processor Core & L1

Processor Core & L1

Processor Core & L1

Processor Core & L1

L2 Cache

L2 Cache

L2 Cache

L2 Cache

L2 Cache

Bus I/F

Bus I/F

Bus I/F

Bus I/F

Intel Pentium D

AMD Athlon X2

IBM Power5 Intel Core2 Duo

Increased level of integration per package/chip Perception of 2x performance (not always reality) Can share nothing (Intel), Bus interface (AMD), L2 (IBM)

12

2-24

Nguyen Van Tho – Duy Tan University.

Multiple Processor Cores per Chip

Nguyen Van Tho – Duy Tan University.

2-25

Multiple processor chips per system

13

2-26

Nguyen Van Tho – Duy Tan University.

ĐA NHIỆM VS SONG SONG Xử lý đa nhiệm : - Máy tính có khả năng thực hiện nhiều công việc cùng 1 lúc nhưng có thể không đồng thời - Các công việc được chia nhỏ ra và máy tính luân phiên thực hiện

Xử lý song song : -Xử lý đồng thời 2 hoặc nhiều hơn các công việc cùng 1 lúc. - Phải có phần cứng có khả năng xử lý song song

Nguyen Van Tho – Duy Tan University.

2-27

Clock (xung nhịp ) – Đơn vị đo tốc độ Clock là tín hiệu để giữ cho đơn vị điều khiển hoạt động. • Tại mỗi nhịp clock, control unit chuyển tới chu kỳ kế tiếp (cid:198) có thể là chỉ thị kế tiếp hoặc bước(phase) kế tiếp của chỉ thị. (1 chỉ thị có thể thực hiện trong 1 hoặc vài chu kỳ)

Mạch phát xung nhịp (Clock):

“1”

“0”

time→

• Dao động thạch anh • Phát ổn định liên tục các mức logic 0 và 1 • Chu kỳ - Clock cycle (or machine cycle)

Machine Cycle

14

1-28 2-28

Nguyen Van Tho – Duy Tan University.

Instructions & Clock Cycles MIPS & MHz

• MIPS = millions of instructions per second số triệu chỉ thị thực hiện được trong 1 giây Ví dụ: Máy tính có tốc độ 1 MIPS nghĩa là máy tính có khả năng thực hiện 1 triệu chỉ thị trong 1 giây

• MHz = millions of clock cycles per second số triệu chu kỳ lệnh trong 1 giây Ví dụ : Máy tính có tốc độ 1MHz nghĩa là máy tính có 1 triệu chu kỳ lệnh trong 1 giây

MIPS và MHz có khác nhau không ?

Nguyen Van Tho – Duy Tan University.

1-29 2-29

CISC & RISC

• CISC (complex Instruction Set computer): máy tính có tập lệnh phức tạp

(cid:190)nhiều lệnh (cid:190)cấu trúc phức tạp (cid:190)mỗi lệnh: có độ dài khác nhau và thực hiện trong 1 đến chục

chu kỳ xung nhịp (cid:190)Ví dụ: Intel x86, AMD • RISC (reduced instruction Set computer): máy tính có tập lệnh rút gọn

(cid:190)ít lệnh (cid:190)mỗi lệnh có độ dài cố định và thực hiện trong 1 đến 2 chu ký xung nhịp

(cid:190)cấu trúc vi xử lý đơn giản, có nhiều thanh ghi (cid:190)tốc độ xung nhịp lớn và tiêu thụ năng lượng thấp (cid:190)Ví dụ: ARM, PowerPC

15

2-30

Nguyen Van Tho – Duy Tan University.

KiẾN TRÚC MÁY TÍNH HiỆN ĐẠI

Cầu Bắc North Bridge

Cầu Nam Sound Bridge

Nguyen Van Tho – Duy Tan University.

2-31

DUAL CHANNEL MEMORY

Sử dụng 2 kênh truyền để tăng tốc độ truy xuất RAM

Chanel A

DDR2

Chanel B

North Bridge

DDR2

Main Memory

2-32

Để tận dụng công nghệ này phải có cặp RAM cắm theo quy định

16

Nguyen Van Tho – Duy Tan University.

DUAL CHANNEL MEMORY

Nguyen Van Tho – Duy Tan University.

2-33

SERIAL VS. PARALLEL Parallel : Cổng Printer, giao tiếp ổ cứng ATA , khe cắm mở rộng PCI , chuẩn đồ hoạ AGP… Serial : Cổng COM, USB , S-ATA, PCI-Express Xu hướng công nghệ : chuyển từ song song sang nối tiếp

PCI,AGP (cid:198) PCI Express ATA (cid:198) S-ATA

01000001

A Truyền

B Nhận

A Truyền

B Nhận

0 1 0 0 0 0 0 1

Serial

Parallel

17

2-34

Nguyen Van Tho – Duy Tan University.

VI KIẾN TRÚC NAHALEM (CORE I7)

Nguyen Van Tho – Duy Tan University.

2-35

18

2-36