KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH (Computer Organization and Architecture)

Chương 3 Bộ xử lý trung tâm

bangtqh@utc2.edu.vn

Nội dung

1. Nhiệm vụ và cấu trúc cơ bản của CPU

– Nhiệm vụ của CPU

– Cấu trúc cơ bản của CPU

2. Hoạt động của CPU

3. Kiến trúc các bộ xử lý tiên tiến

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 2

3.1. Nhiệm vụ - Cấu trúc cơ bản của CPU

(cid:1) Mô hình máy tính

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 3

Các mô hình máy tính

(cid:1) Mô hình Havard

– Lệnh và dữ liệu được lưu trữ trên hệ thống nhớ riêng

biệt

(cid:1) Mô hình Von-Newmann

– Lệnh và dữ liệu được lưu trữ trên cùng một hệ thống nhớ (cid:2) là mô hình của máy tính cá nhân hiện nay

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 4

CPU họ Intel

(cid:1)8080

– Bộ xử lý đa năng đầu tiên – Đường dẫn dữ liệu 8 bit – Được dùng như là một PC đầu tiên

(cid:1)8086

– Có khả năng cao hơn – 16 bit – Có cache lệnh, nhận trước được ít lệnh – 8088 (bus mở rộng 8 bit), được dùng lần đầu ở máy

IBM PC

(cid:1)80286

– Bộ nhớ RAM: 1M – Có thể quản lý được bộ nhớ đến 16MB

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 5

CPU họ Intel

(cid:1) 80386 – 32 bit – Hỗ trợ đa nhiệm

(cid:1) 80486

– Chứa cache và pipeline lệnh phức tạp – Thêm bộ đồng xử lý toán học

(cid:1) Petium

– Siêu vô hướng – Nhiều lệnh thực hiện song song

(cid:1) Pentium Pro

– Tăng tổ chức siêu vô hướng – Chức năng các thanh ghi linh hoạt – Tiên đoán rẽ nhánh – Phân tích luồng dữ liệu – Thực hiện suy đoán (speculative execution)

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 6

CPU họ Intel (cid:1)Pentium II

– Công nghệ MMX (MultiMedia eXtension) – Xử lý đồ họa, âm thanh, hình ảnh tốt

(cid:1)Pentium III

– Thêm các lệnh dấu chấm động cho đồ họa 3D

(cid:1)Pentium !V

– Chú ý tới các số ả Rập hơn các số La Mã – Tăng cường xử lý multimedia và dấu chấm động hơn.

(cid:1)Itanium – 64 bit – Nhận trước lệnh động, có thể pipeline bằng phần mềm – . . . . .

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 7

Sự phát triển của BXL họ Intel

L

Transistors Clock rate

MIPS

Year

Chip

1971

4004

2.3K

740kHz

0.07

10µm

1972

8008

3.5K

500kHz

0.05

10µm

1974

8080

4.5K

2MHz

0.29

6µm

1978

8086

5/8/10 MHz 0.33/0.66/0.75

29K

3µm

1979

8088

4.7/8 MHz

0.33/0.66

29K

3µm

1982

80286

134K

6/8/16MHz

1.5

1.5µm

1985

80386

275K

33

9.9

1µm

1989

80486

1.2M

50MHz

41

0.8µm

1993

Pentium ®

3.1M

66MHz

126.5

0.6µm

1995

Pentium ® Pro

5.5M

200MHz

200

0.35µm

1998

Pentium ® !!

7.5M

333MHz

>300

0.25µm

1998

Pentium 2 Xeon

7.5M

400MHz

400

0.25µm

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 8

Sự phát triển của BXL họ Intel

Year

Chip

L

Transistors Clock rate

MIPS

1999

Pentium ® !!!

9.9M

500MHz

>500

0.25µm

2000

Pentium ® !V

42M

1.5GHz

1.5K

0.18µm

2002

P4 Northwood

55M

2.4GHz

6.5K-10K

0.13µm

2003

Itanium ® 2

410M

3.0GHz

9.726K

0.13µm

2008

Core i3

32nm

3.33GHz

2009

Core i5

32nm

3.6GHz

Core i7

32nm

4GHz

2011- nay

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 9

Minh họa một số CPU của intel

Intel 8088 (LSI Microprocessor)

Intel 4004 - 1970s (First Microprocessor)

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 10

Minh họa một số CPU của intel

Pentium® III 28M transistors / 733MHz-1Gz / 13-26W L=0.25µm shrunk to L=0.18µm

PowerPC 7400 (G4) 6.5M transistors / 450MHz / 8-10W L=0.15µm

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 11

Minh họa một số CPU của intel

Co l¹i

Pentium® 4 42M transistors / 1.3-1.8GHz / 49-55W L=0.18µm

Pentium® 4 “Northwood” 55M transistors / 2-2.5GHz L=0.13µm Area=131mm2

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 12

Chức năng của CPU

(cid:1) Chức năng

– Điều khiển toàn bộ hoạt động của hệ thống – Xử lý dữ liệu

(cid:1) Nguyên tắc hoạt động

– BXL hoạt động dựa theo chương trình nằm sẵn trong

bộ nhớ

(cid:1) Cấu trúc cơ bản

– Khối điều khiển (Control Unit - CU) – Khối số học - logic (Arithmetic - Logic Unit: ALU) – Các thanh ghi (Register File - RF) – Đơn vị ghép nối BUS (Bus Interface Unit – BIU) – Bus bên trong (Internal Bus)

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 13

Nhiệm vụ của CPU

(cid:1) Nhận lệnh (Fetch Instructions): nhận lệnh từ bộ nhớ (cid:1) Giải mã lệnh (Decode instructions): Giải mã lệnh

được nhận vào để biết lệnh làm gì

(cid:1) Nhận dữ liệu (Fetch Data): Lệnh có thể yêu cầu nhận

dữ liệu từ bên ngoài vào

(cid:1) Xử lý dữ liệu (Process Data): Lệnh có thể yêu cầu

thực hiện một phép toán nào đó

(cid:1) Ghi dữ liệu (Write Data): Lệnh có thể yêu cầu cất kết

quả ra ngoài

Ngoài ra, trong quá trình thực hiện chương trình CPU còn nhận các yêu cầu từ bên ngoài (interrupt) và xử lý các yêu cầu đó

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 14

Chi tiết nhiệm vụ của CPU

(cid:1)Fetch Instructions - FI

– Đia chỉ của lệnh cần thực hiện nằm trong bộ đếm chương trình (PC - Program Counter), được đưa qua bộ đệm địa chỉ, qua bus địa chỉ để tìm ra ô nhớ chứa lệnh

– Tiếp theo, CPU phát ra tín hiệu đọc ô nhớ vừa

tìm được

– Nội dung của ngăn nhớ được chuyển qua data

bus và đưa đến thanh ghi lệnh (Instruction Reg.)

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 15

Chi tiết nhiệm vụ của CPU (tt)

(cid:1)Giải mã lệnh (Interpret Instructions)

– Lệnh từ thanh ghi lệnh được đưa đến khối điều

khiển

– Tại đây, lệnh được giải mã để xác định thao tác

mà lệnh yêu cầu

– Khi đó, khối điều khiển sẽ phát ra tín hiệu điều

khiển tương ứng với lệnh đó.

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 16

Chi tiết nhiệm vụ của CPU (tt)

(cid:1)Fetch Data

– BXL phát ra địa chỉ của ô nhớ/cổng vào ra

chứa dữ liệu cần nhận

– BXL phát ra tín hiệu điều khiển đọc ô nhớ/cổng

vào ra tương ứng

– Dữ liệu được chuyển qua bus dữ liệu đưa vào

tập thanh ghi bên trong

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 17

Chi tiết nhiệm vụ của CPU (tt) (cid:1)Xử lý dữ liệu (Process Data - PD)

– Dữ liệu được chuyển từ các thanh ghi vào ALU

– ALU sẽ thực hiện các phép toán dưới sự điều

khiển của khối điều khiển

– Kết quả phép toán được cất tạm thời vào thanh

ghi dữ liệu

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 18

Chi tiết nhiệm vụ của CPU (tt) (cid:1)Ghi dữ liệu (Write Data - WD)

– BXL phát ra địa chỉ của ô nhớ/cổng vào ra cần ghi dữ

liệu

– BXL phát ra tín hiệu điều khiển ghi ô nhớ/cổng vào ra

– Dữ liệu từ thanh ghi dữ liệu được chuyển ra ngoài

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 19

Cấu trúc cơ bản của CPU

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 20

ALU

(cid:1) Chức năng: Thực hiện các phép toán số học và

phép toán logic – Số học: cộng, trừ, nhân, chia, đảo dấu, tăng/giảm – Logic: AND, OR, NOT, XOR, SHR, SHL

(cid:1) Mô hình kết nối ALU

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 21

Control Unit - CU

(cid:1) Điều khiển nhận lệnh từ bộ nhớ vào thanh ghi lệnh

(cid:1) Tăng bộ đếm chương trình (Program Counter) để trỏ

san lệnh kế tiếp

(cid:1) Giải mã lệnh để xác định các thao tác mà lệnh yêu

cầu

(cid:1) Phát ra tín hiệu điều khiển thực hiện lệnh

(cid:1) Nhận các tín hiệu yêu cầu từ bus hệ thống và đáp

ứng các yêu cầu đó

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 22

Mô hình kết nối CU

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 23

Control Unit – CU (tt)

(cid:1) Tín hiệu đến CU

– Clock: Tín hiệu từ mạch tạo dao động bên ngoài

T0 • T0 là chu kỳ của xung nhịp • Mỗi thao tác của BXL cần k*T0 , k ∈ N • Tần số xung đồng hồ: f0 = 1/T0 • Ví dụ: máy tính dùng BXL có tốc độ 5GHz

f0 = 5GHz = 5*109 Hz ⇒ T0 = 1/f0 = 1/(5*109) = 0.2 ns

– Mã lệnh: từ thanh ghi lệnh đưa đến để giải mã – Các cờ (flags) từ thanh ghi cờ cho biết trạng thái của

CPU

– Các tín hiệu yêu cầu khác từ bus điều khiển

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 24

Control Unit – CU (tt)

(cid:1) Tín hiệu điều khiển của CU – Điều khiển các thanh ghi – Điều khiển ALU

(cid:1) Tín hiệu điều khiển bên ngoài CPU

– Điều khiển bộ nhớ – Điều khiển modle vào/ra

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 25

Tập các thanh ghi (Registers)

(cid:1) Các thanh ghi nằm trong CPU, được coi là mức đầu

tiên của hệ thống nhớ

(cid:1) Chứa các thông tin tạm thời phục vụ cho hoạt động

của CPU tại một thời điểm nhất định.

(cid:1) Mỗi thế hệ (hãng sản xuất) CPU có tập các thanh ghi

khác nhau

(cid:1) Số lượng thanh ghi nhiều (cid:2) hiệu năng của CPU tăng (cid:1) Có 2 loại thanh ghi: – Lập trình được – Không lập trình được

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 26

Tập các thanh ghi (tt)

(cid:1) Phân loại thanh ghi theo chức năng

– Thanh ghi địa chỉ: quản lý địa chỉ của các ngăn

nhớ hay của các cổng vào/ra

– Thanh ghi dữ liệu: chứa các dữ liệu tạm thời

trong quá trình tính toán

– Thanh ghi điều khiển/trạng thái: Chứa các thông tin điều khiển và trạng thái của CPU – Thanh ghi lệnh: Chứa lệnh đang được thực

hiện

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 27

Tập các thanh ghi (tt) (cid:1) Các thanh thi điển hình – Các thanh ghi địa chỉ – Bộ đếm chương trình (PC – Program Counter) – Thanh ghi con trỏ dữ liệu (DP – Data Pointer) – Thanh ghi con trỏ ngăn xếp (SP – Stack Pointer) – Thanh ghi cơ sở và thanh ghi chỉ số (Base Register &

Index Register)

– Các thanh ghi dữ liệu – Các thanh ghi trạng thái

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 28

Bộ đếm chương trình

(cid:1) Còn được gọi là con trỏ lệnh IP (Instruction Pointer) (cid:1) Chứa địa chỉ của lệnh tiếp theo sẽ được nhận vào (cid:1) Sau khi một lệnh được nhận vào, nội dung PC tự động

tăng để trỏ sang lệnh kế tiếp

……..

lệnh

lệnh

lệnh sẽ nhận

PC

Lệnh kế tiếp

lệnh

……..

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 29

Thanh ghi địa chỉ

. . . Vùng nhớ lệnh

(cid:1) Vùng lệnh: chứa các lệnh củă chương trình, do Thanh ghi bộ đếm chương trình quản lý.

CPU

. . . Vựng nhớ lệnh

(cid:1) Vùng dữ liệu: chứa dữ liệu, do thanh ghi con trỏ dữ liệu quản lý

. . . Vùng ngăn xếp (stack)

. . . Bộ nhớ

(cid:1) Vùng ngăn xếp: chứa địa chỉ chương trình chính, ngắt, phục vụ thực hiện rẽ nhánh, do thanh ghi con trỏ ngăn xếp quản lý

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 30

Thanh ghi con trỏ dữ liệu

(cid:1) Chứa địa chỉ của ngăn nhớ dữ liệu mà BXL cần truy

cập

. . .

(cid:1) Có một số thanh ghi con trỏ dữ liệu

Dữ liệu

–CS, DS, ES, SS…

Dữ liệu

Dữ liệu

DL cần đọc/ghi

DP Data pointer

Dữ liệu

Dữ liệu

. . .

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 31

Con trỏ ngăn xếp (cid:1) Ngăn xếp (Stack):

– Là vùng nhớ có cấu trúc LIFO (Last-In-First-Out) – Đáy ngăn xếp là một ngăn nhớ xác định – Đỉnh ngăn xếp có thể bị thay đổi

(cid:1) Con trỏ ngăn xếp SP:

– SP trỏ vào ngăn nhớ đỉnh ngăn xếp – Cất thêm thông tin vào ngăn xếp → SP giảm – Lấy thông tin từ ngăn xếp → SP tăng – Khi ngăn xếp rỗng → SP trỏ vào đáy

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 32

Minh họa con trỏ ngăn xếp

(cid:1) Thao tác trên ngăn xếp

– Cất vào (PUSH) – Lấy ra (POP)

Đỉnh Stack

SP

Chiều tăng của địa chỉ

Đáy Stack

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 33

Thanh ghi cơ sở và thanh ghi chỉ số

(cid:1) Thanh ghi cơ sở: chứa địa chỉ của ngăn nhớ cơ sở (ngăn nhớ gốc tương đối), còn goi: địa chỉ đoạn (segment)

(cid:1) Thanh ghi chỉ số: chứa độ lệch của địa chỉ giữa ngăn nhớ mà BXL cần truy nhập so với ngăn nhớ cơ sở, còn gọi: địa chỉ offset

(cid:1) Địa chỉ ngăn nhớ cần truy nhập = segment + offset

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 34

Thanh ghi cơ sở và thanh ghi chỉ số

. . .

Ngăn nhớ cơ sở

Thanh ghi cơ sở

Gốc tương đối

Thanh ghi chỉ số

Ng/nhớ cần truy nhập

. . .

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 35

Các thanh ghi dữ liệu

(cid:1) Chứa các dữ liệu tạm thời hoặc kết quả trung gian

(cid:1) Cần có nhiều thanh ghi dữ liệu

– AX: dùng để lưu giữ kết quả tính toán – BX: Thanh ghi cơ sở, thường dùng để chứa địa chỉ cơ

sở của một vùng nhớ

– CX: Dùng để chứa số lần lặp – DX: Thường sử dụng cùng thanh ghi AX để thực hiện

các phép nhân hoặc chia 16 bit.

(cid:1) Các thanh ghi số nguyên: 8, 16, 32, 64, ... Bit

(cid:1) Các thanh ghi số thực (dấu phẩy động)

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 36

Thanh ghi trạng thái

(cid:1) Còn gọi là thanh ghi cờ (Flag Register)

(cid:1) Chứa các thông tin trạng thái của BXL

– Các cờ phép toán: báo hiệu trạng thái của phép toán – Các cờ điều khiển: biểu thị trnạg thái điều khiển của

BXL

(cid:1) Ví dụ cờ điều khiển: Cờ cho phép ngắt Interrupt (IF)

– Nếu IF = 1 → BXL ở trạng thái cho phép ngắt với tín

hiệu yêu cầu từ bên ngoài

– Nếu IF = 0 → BXL ở trạng thái cấm ngắt với tín hiệu

yêu cầu từ bên ngoài

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 37

Ví dụ cờ phép toán

(cid:1)Cờ zero (ZF): được thiết lập khi kết quả của

phép toán bằng 0

(cid:1)Cờ Sign (SF): được thiết lập khi kết quả

của phép toán là giá trị âm

(cid:1)Cờ Carry (CF): được thiết lập khi phép toán có nhớ hoặc có mượn ra khỏi bit cao nhất → tác dụng báo tràn với số không dấu (cid:1)Cờ Overflow (OF): được thiết lập khi cộng hai số nguyên cùng dấu mà kết quả có dấu ngược lại → tác dụng báo tràn với số có dấu

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 38

Tập thanh ghi của 1 số CPU

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 39

Ngắt (interrupt)

(cid:1) Ngắt là cơ chế cho phép CPU tạm dừng chương trình đang thực hiện để chuyển sang thực hiện 1 chương trình khác (cid:1) Các loại ngắt

– Ngắt do lỗi khi thực hiện chương trình – Ngắt do lỗi phần cứng – Ngắt do thiết bị ngoại vi phát tín hiệu yêu cầu trao đổi

dữ liệu

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 40

Ngắt (tt)

(cid:1) Hoạt động của ngắt

– Nội dung của bộ đếm chương trình PC được đưa ra

bus dữ liệu

– Vùng địa chỉ đặc biệt (vd con trỏ ngăng xếp SP) được

đưa vào MAR

– CPU phát tín hiệu điều khiển ghi bộ nhớ – Địa chỉ trở về trên bus dữ liệu được ghi ra 1 vị trí xác

định (vị trí stack)

– Địa chỉ lệnh đầu tiên của chương trình con điều khiển

ngắt được nạp vào PC

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 41

3.3. Kiến trúc 1 số VXL tiên tiến

1. Các VXL tiên tiến

– Các VXL họ Intel Pentium ® – VXL họ Intel Atom – Các VXL họ Intel Core và Core 2 – VXL họ Intel Xeon – Các VXL họ Intel Cori i3, i5, i7 – Các VXL họ AMD A-Series 2. Các công nghệ tiên tiến – Công nghệ Centrino – Công nghệ thực thi không theo trật tự (Out of Order

Execution)

– Công nghệ Cache thông minh (Advanced Smart Cache) – Công nghệ tiết kiệm điện (SpeedStep) – Công nghệ siêu phân luồng (Hyper Threading) – Công nghệ ảo hóa (Virtualization)

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 42

Họ VXL Pentium

(cid:1) Intel Pentium I (1993)

(cid:1) Intel Pentium II (1997)

(cid:1) Intel Pentium III (1999)

(cid:1) Intel Pentium IV (2000)

(cid:1) Intel Pentium M (2002)

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 43

Intel Pentium ®

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 44

Intel Pentium ® !!

(cid:1) Hỗ trợ công nghệ MMX cải tiến

(cid:1) Tích hợp 16KB cache L1 cho mã lệnh và 16KB cache

L1 cho dữ liệu

(cid:1) Tích hợp cache L2 với nhiều lựa chọn 256KB, 512KB

và 1MB

(cid:1) Hỗ trợ tính năng quản lý nguồn nâng cao

(cid:1) Sử dụng khe cắm slot

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 45

Intel Pentium ® !!!

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 46

Intel Pentium ® IV

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 47

Intel Pentium ® IV (cid:1) Cache thông thường:

– Mỗi lệnh luôn phải giải mã trước khi thực hiện

(cid:1) Execution Trace cache

– Thông thường các cache lệnh L1 được đặt trong bộ

giải mã: cung cấp lệnh cho bộ tìm nạp và giải mã lệnh; – P4 chuyển cache lệnh L1 thành Execution Trace Cache

(ETC) và đặt sau bộ giải mã

– ETC có thể lưu 12.000 vi lệnh đã giải mã – Với cách lệnh thuộc vòng lặp

• Chúng được giải mã 1 lần thành các vi lệnh và nạp vào

ETC

• Khi cần thực hiện, các vi lệnh đã giả mã trong ETC được

chuyển thẳng tới khối thực hiện

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 48

Intel Pentium ® M

(cid:1) Là VXL thiết kế cho các thiết bị di động, máy tính xác tay. Tiêu thụ điện năng thấp, hiệu năng cao

(cid:1) Các tính năng tiên tiến của Pentium M – Thực thi động (Dymanic Execution) – On-chip 32KB data L1 cache, 32KB

íntruction L1 cahe

– On-chip cache L2 từ 1-2MB (P4 cùng thời

điểm chỉ 512KB-1MB)

– Advanced Branch Prediction and Data

Pefetch Logic

– Hỗ trợ tập lệnh MMX, SSE và SSE2 – Công nghệ quản lý nguồn tiên tiến (Intel

Enhanced SpeedStep)

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 49

Họ VLX Intel Atom

(cid:1) Dự trên vi kiến trúc Atom và

công nghệ 45nm

(cid:1) Vi kiến trúc Atom tối ưu hóa cho các thiết bị có kích thước nhỏ, tiêu thụ ít năn lượng

(cid:1) Các đặc điểm tiên tiến – Enhanced SpeedStep

Technology

– Deep Power Down

Technology with Dynamic Cache Sizing

– Intel Virtualiztion Technology – Intel 64 architechture

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 50

Kiến trúc VLX Intel Atom

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 51

Intel Core và Core 2

(cid:1) Vi kiến trúc Core và Core 2 được thiết kế

dựa trên Pentium M

(cid:1) Core 2 về cơ bản giống Core nhưng dung lượng cache L2 lớn hơn (2MB so với 1MB)

(cid:1) Các tính năng tiên tiến

– Smart Cache: Cho phép chia sẻ dữ liệu

giữa 2 nhân

– Cải tiến pha giải mã và thực hiện các lệnh

SIMD

– Công nghệ giảm tiêu hao điện năng

(Dynamic Power Coordination và Enhanced Intel Deeper Sleep)

– Intel Thermal Manager sử dụng các sensor

số

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 52

Intel Core và Core 2

(cid:1) Sơ đồ khối

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 53

Intel Core và Core 2

(cid:1) L2 cache

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 54

VXL họ Intel Xeon

(cid:1) Được thiết kế cho máy chủ nhiều

CPU có hiệu năng cao

(cid:1) Các VXL họ Xeon dựa trên vi kiến trúc Intel P6, Net Burst, Core, Nehalem

(cid:1) Dòng Intel Xeon MP hỗ trợ siêu

phân luồng

(cid:1) Dòng Intel Xeon 5100 dựa trên vi kiến trúc Core và Intel 64 tiết kiệm năng lượng và cho hiệu năng cao, đồng thời hỗ trợ công nghệ ảo hóa

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 55

VXL họ Intel Xeon (tt)

(cid:1) Intel Xeon 5600

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 56

VXL họ Intel Xeon (tt)

(cid:1) Intel Xeon 7500 – 8 nhân, 16 luồng xử lý

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 57

VXL họ Intel Xeon (tt) (cid:1) Ivy Bridge - Intel Xeon E7 v2

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 58

VXL họ Intel Core i3, i5, i7

(cid:1) Các VXL họ Core ix ra đời từ năm 2010 tiếp sau VXL

họ Core 2 – Quy ước đặt tên mới không liên quan tới số nhân – Các tên core i3, i5, i7 được quy ước theo kiểu “sao”

của khách sạn

• i3 (3 sao): năng lực xử lý ở mức thấp • i5 (4 sao): năng lực xử lý ở mức trung bình • i7 (5 sao): năng lực xử lý ở mức cao

(cid:1) Các VLX học Core i3, i5, i7 dựa trên 3 thế thế hệ vi

kiến trúc: – Nehalam (2008): thế hệ 1 – Sandy Bridge (2011): thế hệ 2 – Ivy Bridge (2012): thế hệ 3

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 59

VXL họ Intel Core i3, i5, i7

(cid:1) Bổ sung thêm nhân đồ họa (GPU) vào CPU

– GPU nằm trên cùng 1 đế với CPU – GPU có khả năng truy cập cache L3 (cid:2) giảm thời gian

truy cập RAM

– GPU hỗ trợ thư viện đồ họa mới nhất như DirectX 11.0,

OpenGL 4.1, OpenCL 1.1

(cid:1) Thay Front-Side Bus (FSB) tốc độ thấp bằng bus tốc độ cao (QPI – Quick Path Interconnect) kết nối CPU với RAM

(cid:1) Bổ sung công nghệ tự ép xung (Tubor Boost – i5, i7) (cid:1) Thay bus PCI bằng bus DMI (Direct Media Interface)

kết nối CPU với chip cầu nam

(cid:1) Hỗ trợ bộ nhớ cache L3 lớn 3-8MB

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 60

Intel Core i7 (Haswell)

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 61

VLX họ AMD-A series

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 62

VLX họ AMD-A series

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 63

3.3.2. Các công nghệ tiên tiến

(cid:1) Công nghệ Centrino

(cid:1) Công nghệ thực thi không theo trật tự (Out of Order

Execution)

(cid:1) Công nghệ Cache thông minh (Advanced Smart

Cache)

(cid:1) Công nghệ tiết kiệm điện (SpeedStep)

(cid:1) Công nghệ siêu phân luồng (Hyper Threading)

(cid:1) Công nghệ ảo hóa (Virtualization)

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 64

Công nghệ Centrino

(cid:1) Là công nghệ hướng di động được Intel đưa ra năm 2003, ứng dụng cho các máy tính xách tay

(cid:1) Centrino gồm 3 thành phần chính – Intel CPU (Pentium M, Core 2….) – Intel Mobile Chipset – Intel Wireless network card

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 65

Công nghệ Centrino (tt) (cid:1) Các phiên bản của Centrino

– 2003: Pentimum M / Chipset Mobile 855 /PRO /wireless

2100/2200

– 2005: Pentium M / Chipset Mobile 915 / PRO/Wireless 2200BG

– 2006: Core/Core 2/Chipset Mobile 945/PRO/Wireless 3945 ABG

– 2007: Core 2 Duo/Chipset GM965/WiFi Link 4965 AGN

– 2008: Core 2 Duo/Mobile Express Series 4/WiFi Link 5350

– 2009: Core i3, i5, i7/Mobile Express Series 5/Ultimate 6300 AGN

– 2011: Sandy Bridge/Mobile Express Series 6/Ultimate 6300 AGN

– 2012: Ivy Bridge/Mobile Express Series 7/Ultimate-N 6300

– 2013: Haswell/Mobile Express Series 8/Wilkin Peak

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 66

C.nghệ thực thi không theo trật tự

(cid:1) Các lệnh của chương trình thường được thực thi theo

2 phương pháp:

– Thực thi tĩnh (theo trật tự - In Order Execution): Các

lệnh được nạp, giải mã, thực hiện và kết thúc theo trật tự của chúng khi biên dịch.

– Thực thi động(Không theo trật tự - Out of Order

Execution)

• Lệnh của chương trình được nạp và giải mã theo trật tự

của chúng sau khi biên dịch

• Các lệnh sau khi giải mã có thể thực hiện khác với trật tự

của chúng sau biên dịch

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 67

C.nghệ thực thi không theo trật tự

(cid:1) Ý tưởng chính

– Các lệnh được thực thi (execute) ngay (không theo trật tự) nếu các tham số/toán hạng đầu vào của chúng đã sẵn sàng (trong các thanh ghi)

– Các lện phải được hoàn tất (commit) ở giai đoạn lưu kết quả theo trật tự chương trình để đảm bảo kết quả thực hiện lệnh và kết quả của cả chương trình đúng.

(cid:1) Ưu điểm

– Giảm tối thiểu thời gian chờ thực hiện; – Tận dụng tối đa năng lực của đơn vị thực hiện lệnh – Nếu có 1 lệnh phải dừng do chưa đủ điều kiện thực hiện thì lệnh phía sau đã đủ điều kiện được đẩy lên thực hiện trước

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 68

C.nghệ thực thi không theo trật tự

(cid:1) Nhược điểm

– Phức tạp hơn thực thi theo

trật tự

– Phải bổ sung thêm Khối cấp phát & Đổi tên thanh ghi

– Bổ sung thêm bộ phận lập

lịch động

– Bổ sung thêm bộ sắp xếp

và bộ thu hồi kết quả

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 69

Công nghệ OOE trong Pentium III

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 70

Công nghệ Advanced Smart Cache

(cid:1) Cache chia sẻ (L2 hoặc L3) giữa các nhân cho phép – Nếu các nhân có cùng nhu cầu xử lý 1 đơn vị dữ liệu, chỉ 1 copy của dữ liệu được nạp vào cache chia sẻ

– Giảm lưu lượng trên bus hệ thống

– Dung lượng cache được sử dụng hiệu quả hơn

• Không có biên giới cứng phân chia cache giữa các nhân

• Nếu 1 nhân có nhu cầu dữ liệu lớn hơn nhân khác, nó sẽ

được cấp dung lượng cache nhiều hơn (cid:2) tận dụng được không gian rảnh rỗi của cache

– Do không gian cache sử dụng hiệu quả hơn (cid:2) Không gian cache hiệu dụng lớn hơn (cid:2) cạnh tranh trong cache giảm (cid:2) tăng hệ số hit (cid:2) tăng hiệu năng hệ thống

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 71

Công nghệ thông minh (tt)

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 72

Cache thông minh trong Core i7

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 73

Công nghệ tiết kiệm điện

(cid:1) Intel Speedstep là công nghệ cho phép tự động thay

đổi xung nhịp CPU bằng phần mềm.

– Xung nhịp điện áp được tự động điều chỉnh phù hợp

với tải hệ thống, giúp giảm tiêu hao điện năng. (cid:1) Hầu hết các OS hỗ trợ công nghệ Speedstep

– Windows

– Linux

– Unix (BSD, Solaris,…)

– Mac OS

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 74

Các phiên bản của Speedstep

(cid:1) V1.1 trong Pentium II: Hỗ trợ 2 chế độ làm việc thông

qua điều chỉnh hệ số nhân xung nhịp – Tải cao: CPU hoạt động với xung nhịp 1GHz, tiêu thụ

20W

– Tải thấp: CPU hoạt động với xung nhịp 600MHz tiêu

thụ 6W

(cid:1) V2.1 (Enhanced Speedstep) trong Pentium III mobile tương tự như v1.1 nhưng đồng thời giảm điện áp trong CPU xuống trong chế độ tải thấp

(cid:1) V2.2 trong Pentium 4-M hỗ trợ 2 chế độ làm việc – Tải cao: CPU ở xung nhịp 1.8GHz tiêu thụ 30W – Tải thấp: CPU ở xung nhịp 1.2MHz tiêu thụ 20W

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 75

Các phiên bản của Speedstep (tt)

(cid:1) V3.1

(Enhanced

Intel Speedstep-EIST)

trong

PentiumM – Tự động điều chỉnh xung nhịp điện áp theo bước lõi Dothan)

lõi Banias và 133MHz với

(100MHz với trong khoảng 40-100% xung nhịp chuẩn

– Bổ sung thêm khả năng điều chỉnh dung lượng hoạt động thực của bộ nhớ cache (ngắt điện bớt 1 phần cache trong chế độ tải thấp)

(cid:1) V3.2 (Enhanced EIST) – Cơ chế tương tự V3.1 – Hỗ trợ CPU nhiều nhân

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 76

Công nghệ Speedstep

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 77

Công nghệ siêu phân luồng

(cid:1) Hyper Threading Technology là công nghệ cho phép nhiêu luồng thực hiện chạy đồng thời trên 1 CPU vật lý – Do intel đưa ra vào năm 2002 trên CPU Xeon và sau

đó là Pentium 4

– Công nghệ này được áp dụng trên các VXL họ Atom,

Core iX và nhiệu họ VXL khác

– Đòi hỏi Hệ điều hành phải hỗ trợ đa xử lý nhiều luồng

đồng thời (Stimultaneous Multi-Threading)

(cid:1) Công nghệ siêu phân luồng được thiết kế nhằm cải

thiện khả năng xử lý song song. – Mỗi CPU/Core vật lý có khả nưng thực hiện 2 luồng ảo – Các luồng ảo có khả năng chia sẻ tài nguyên và công

việc. bangtqh@utc2.edu.vn

Chương 3 - Bộ xử lý trung tâm 78

Công nghệ siêu phân luồng (tt)

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 79

Công nghệ siêu phân luồng (tt)

(cid:1) Công nghệ HT được thực hiện bằng cách:

– Mỗi CPU ảo có 1 số thành phần riêng, thường là phần lưu trạng thái kiến trúc (Architecture State), gồm đầy đủ các thanh ghi của nó (thanh ghi dữ liệu, thanh ghi đoạn,…)

– Các CPU ảo sẽ chia sẻ thành phân thực hiện của

CPU vật lý

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 80

Công nghệ siêu phân luồng (tt)

(cid:1) Hệ điều hành nhìn CPU hỗ trợ phân luồng như 2 CPU

logic – Cho phép Hệ điều hành lập lịch xử lý các luồng song song

trên CPU ảo

– Khi một luồng bị dừng vì một lý do nào đó, HĐH có thể cấp phát tài nguyên CPU vật lý cho luồng khác (cid:2) giúp cải thiện hiệu năng

(cid:1) Tối ưu hóa HĐH trong hệ thống siêu phân luồng

– Một hệ thống có 2 CPU vật lý, mỗi CPU vật lý hỗ trợ 2 CPU ảo (cid:2) có 4 CPU ảo. Nếu bộ lập lịch của HĐH không hỗ trợ siêu phân luồng nó sẽ coi 4 CPU ảo là ngang nhau

– Nếu tại một thời điểm có 2 luồng yêu cầu được thực hiện (cid:2) HĐH chọn 2 CPU ảo và 1 CPU vật lý để chạy (cid:2) một CPU vật lý tải rất cao trong khi CPU vật lý kia rỗi hoàn toàn (cid:2) hiệu năng kém hơn hệ thống không hỗ trợ siêu phân luồng – Để tránh hiện tượng này, HĐH phải có khả năng phân biệt

CPU vật lý và CPU ảo để lập lịch cho phù hợp

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 81

Công nghệ siêu phân luồng (tt) (cid:1) Hiệu năng của hệ thống siêu phân luồng

– Cải thiện hiệu năng cho các ứng dụng đa luồng – Cho phép nhiều luồng thực hiện đồng thời – Cải thiện được khả năng đáp ứng của ứng dụng (cid:1) Số liệu thực nghiệm trên công nghệ siêu phân luồng – Tăng diện tích đế (die) khoảng 5% so với CPU thường – Hiệu năng tăng khoảng 15-30% (theo Intel) – Theo thực nghiệm của Tom’s Hardware, Pentium IV 3.0GHz có HT nhanh hơn Pentium IV 3.6 GHz không có HT

– Hiệu năng phụ thuộc vào ứng dụng, nếu chạy đồng

thời 2 chương trình nặng tải (tính toán nhiều) thì 1 hoặc cả 2 chạy chậm hơn khi có HT

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 82

Công nghệ ảo hóa (Virtualization)

(cid:1) Ảo hóa

– Là sự kết hợp của các công nghệ phần cứng và phần mềm để tạo ra các máy ảo (VM – Virtual Machine)

– Cho phép trừu tượng hóa phần cứng để 1 máy tính có

thể hoạt đọng như nhiều máy tính

(cid:1) Ưu điểm

– Giảm số máy vật lý nhưng vẫn đảm bảo sự đa dạng

của nền tảng theo yêu cầu

– Tiết kiệm không gian vật lý, điện năng và các tiện ích

phục vụ khác

– Hữu ích trong việc phát triển, kiểm thử phần mềm – Hỗ trợ cân bằng tải động và khôi phục sau sự cố – Sử dụng nhiều trong điện toán đám mấy, dịch vụ hóa

tài nguyên phần cứng

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 83

Công nghệ ảo hóa (tt)

(cid:1) Virtual Machine Monitor (VMM)

– Là phần trung tâm của công nghệ ảo hóa – Điểm khó khăn nhất trong thiết kết VMM là vấn đề điều khiển sử dụng tài nguyên vật lý 1 cách hiệu quả (Vấn đề ánh xạ bộ nhớ; Vấn đề ánh xạ thiết bị vào/ra….)

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 84

Công nghệ ảo hóa (tt) (cid:1) CPU hỗ trợ ảo hóa giúp cho

– Giảm tải các thao tác của VMM – Tăng tốc độ và năng lực của VMM – Giảm độ phức tạp khi phát riển VMM – Giúp VMM chia sẻ tài nguyên phần cứng hiệu quả hơn

(cid:1) Một số phần mềm tạo máy ảo như 1 ứng dụng trên

HĐH nền – MS Windows Virtual PC – VMWare Workstation, VMWare Server – Oracle VM – KVM – Virtual Box – IMB VM – Sun xVM

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 85

Công nghệ ảo hóa (tt)

(cid:1) Một số phần mềm tạo máy ảo như 1 HĐH nền

– Microsoft Hyper-V – VMWare vSphere Hypervisor – Linux-VServer – Sloaris Containers – OpenVZ – Free VPS

(cid:1) Đặc điểm:

– Được cài trực tiếp lên phần cứng vật lý, trực tiếp quản

lý và tối ưu hóa cho chia sẻ tài nguyên phần cứng

– Hỗ trợ nhiều máy ảo tốc độ cao – Thích hợp với ảo hóa máy chủ, tạo máy chủ ảo

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 86

Thắc mắc – Thảo luận?

bangtqh@utc2.edu.vn Chương 3 - Bộ xử lý trung tâm 87