Tải bản đầy đủ (.pdf) (44 trang)

Bài giảng Kiến trúc và tổ chức máy tính: Chương 3 - ThS. Trần Quang Hải Bằng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.9 MB, 44 trang )

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



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



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
Mô hình máy tính




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

3

Các mơ hình máy tính
Mơ hình Havard
– Lệnh và dữ liệu được lưu trữ trên hệ thống nhớ riêng
biệt

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ớ
là mơ hình của máy tính cá nhân hiện nay



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

4


CPU họ Intel
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

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

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


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

5

CPU họ Intel
80386

– 32 bit
– Hỗ trợ đa nhiệm

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

Petium

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

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 đốn rẽ nhánh
Phân tích luồng dữ liệu
Thực hiện suy đoán (speculative execution)



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

6


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

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


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.

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



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

7

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

Chip

L

Transistors

Clock rate

MIPS

1971


4004

10µm

2.3K

740kHz

0.07

1972

8008

10µm

3.5K

500kHz

0.05

1974

8080

6µm

4.5K


2MHz

0.29

1978

8086

3µm

29K

5/8/10 MHz 0.33/0.66/0.75

1979

8088

3àm

29K

4.7/8 MHz

0.33/0.66

1982

80286


1.5àm

134K

6/8/16MHz

1.5

1985

80386

1àm

275K

33

9.9

1989

80486

0.8àm

1.2M

50MHz


41

1993

Pentium đ

0.6àm

3.1M

66MHz

126.5

1995

Pentium đ Pro

0.35àm

5.5M

200MHz

200

1998

Pentium đ !!


0.25àm

7.5M

333MHz

>300

1998

Pentium 2 Xeon

0.25àm

7.5M

400MHz

400



Chng 3 - Bộ xử lý trung tâm

8


S phỏt trin ca BXL h Intel
Year


Chip

L

Transistors

Clock rate

MIPS

1999

Pentium đ !!!

0.25àm

9.9M

500MHz

>500

2000

Pentium ® !V

0.18µm

42M


1.5GHz

1.5K

2002

P4 Northwood

0.13µm

55M

2.4GHz

6.5K-10K

2003

Itanium ® 2

0.13µm

410M

3.0GHz

9.726K

2008


Core i3

32nm

3.33GHz

2009

Core i5

32nm

3.6GHz

2011nay

Core i7

32nm

4GHz



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

9

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


Intel 4004 - 1970s
(First Microprocessor)



Intel 8088
(LSI Microprocessor)

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

10


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

Pentium® III

PowerPC 7400 (G4)

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



6.5M transistors / 450MHz / 8-10W
L=0.15µm

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


Minh ha mt s CPU ca 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

Chng 3 - Bộ12xử lý trung tâm

11


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

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ớ

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)



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

13

Nhiệm vụ của CPU
Nhận lệnh (Fetch Instructions): nhận lệnh từ bộ nhớ
Giải mã lệnh (Decode instructions): Giải mã lệnh
được nhận vào để biết lệnh làm gì
Nhận dữ liệu (Fetch Data): Lệnh có thể u cầu nhận
dữ liệu từ bên ngoài vào
Xử lý dữ liệu (Process Data): Lệnh có thể u cầu
thực hiện một phép tốn nào đó
Ghi dữ liệu (Write Data): Lệnh có thể yêu cầu cất kết
quả ra ngồi
Ngồi ra, trong q trình thực hiện chương trình CPU
cịn nhận các u cầu từ bên ngồi (interrupt) và xử lý
các u cầu đó



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

14


Chi tiết nhiệm vụ của CPU
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.)


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

15

Chi tiết nhiệm vụ của CPU (tt)
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 đó.



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

16


Chi tiết nhiệm vụ của CPU (tt)
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



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

17

Chi tiết nhiệm vụ của CPU (tt)
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



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

18


Chi tiết nhiệm vụ của CPU (tt)
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



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

19

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



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

20



ALU
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

Mơ hình kết nối ALU



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

21

Control Unit - CU
Điều khiển nhận lệnh từ bộ nhớ vào thanh ghi lệnh
Tăng bộ đếm chương trình (Program Counter) để trỏ
san lệnh kế tiếp
Giải mã lệnh để xác định các thao tác mà lệnh yêu
cầu
Phát ra tín hiệu điều khiển thực hiện lệnh
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 đó



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


22


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



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

23

Control Unit – CU (tt)
Tín hiệu đến CU
– Clock: Tín hiệu từ mạch tạo dao động bên ngồ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



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

24


Control Unit – CU (tt)
Tín hiệu điều khiển của CU
– Điều khiển các thanh ghi
– Điều khiển ALU

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



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

25

Tập các thanh ghi (Registers)
Các thanh ghi nằm trong CPU, được coi là mức đầu
tiên của hệ thống nhớ
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.
Mỗi thế hệ (hãng sản xuất) CPU có tập các thanh ghi
khác nhau
Số lượng thanh ghi nhiều

hiệu năng của CPU tăng
Có 2 loại thanh ghi:
– Lập trình được
– Khơng lập trình được



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

26


Tập các thanh ghi (tt)
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 q trình tính tố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



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

27


Tập các thanh ghi (tt)
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








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

28


Bộ đếm chương trình
Cịn được gọi là con trỏ lệnh IP (Instruction Pointer)
Chứa địa chỉ của lệnh tiếp theo sẽ được nhận vào
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
……..



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

29

Thanh ghi địa chỉ
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 dữ liệu: chứa dữ liệu,
do thanh ghi con trỏ dữ liệu
quản lý

. . .
Vùng nhớ lệnh

. . .
Vựng nhớ lệnh


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

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ý


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

. . .
Bộ nhớ

30


Thanh ghi con trỏ dữ liệu
Chứa địa chỉ của ngăn nhớ dữ liệu mà BXL cần truy
cập
Có một số thanh ghi con trỏ dữ liệu
–CS, DS, ES, SS…

. . .
Dữ liệu
Dữ liệu
Dữ liệu


DP
Data pointer

DL cần đọc/ghi

Dữ liệu
Dữ liệu

. . .


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

31

Con trỏ ngăn xếp
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

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



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

32


Minh họa con trỏ ngăn xếp
Thao tác trên ngăn xếp
– Cất vào (PUSH)
– Lấy ra (POP)

SP

Đỉnh Stack

Chiều
tăng
của
địa
chỉ
Đáy Stack



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

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

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)
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
Địa chỉ ngăn nhớ cần truy nhập = segment + offset



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

33


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

.

.

Ngăn nhớ cơ sở

Gốc tương đối

Thanh ghi chỉ số

Ng/nhớ cần truy nhập


.


.

.

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

35

Các thanh ghi dữ liệu
Chứa các dữ liệu tạm thời hoặc kết quả trung gian
Cần có nhiều thanh ghi dữ liệu
– AX: dùng để lưu giữ kết quả tính tố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.

Các thanh ghi số nguyên: 8, 16, 32, 64, ... Bit
Các thanh ghi số thực (dấu phẩy động)


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

36



Thanh ghi trạng thái
Còn gọi là thanh ghi cờ (Flag Register)
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

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 u cầu từ bên ngồi
– Nếu IF = 0 → BXL ở trạng thái cấm ngắt với tín hiệu
u cầu từ bên ngồi



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

37

Ví dụ cờ phép tốn
Cờ zero (ZF): được thiết lập khi kết quả của
phép toán bằng 0
Cờ Sign (SF): được thiết lập khi kết quả
của phép toán là giá trị âm
Cờ Carry (CF): được thiết lập khi phép tố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
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


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

38


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



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

39

Ngắt (interrupt)
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
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



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


40


Ngắt (tt)
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



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)


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

42


Họ VXL Pentium
Intel Pentium I (1993)
Intel Pentium II (1997)
Intel Pentium III (1999)
Intel Pentium IV (2000)
Intel Pentium M (2002)




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

43

Intel Pentium ®



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

44


Intel Pentium ® !!
Hỗ trợ cơng nghệ MMX cải tiến
Tích hợp 16KB cache L1 cho mã lệnh và 16KB cache
L1 cho dữ liệu
Tích hợp cache L2 với nhiều lựa chọn 256KB, 512KB
và 1MB
Hỗ trợ tính năng quản lý nguồn nâng cao
Sử dụng khe cắm slot



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

45


Intel Pentium ® !!!



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

46


Intel Pentium ® IV



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

47

Intel Pentium ® IV
Cache thơng thường:
– Mỗi lệnh ln phải giải mã trước khi thực hiện

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


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

48


Intel Pentium ® M
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
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)


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

49


Họ VLX Intel Atom
Dự trên vi kiến trúc Atom và
cơng nghệ 45nm
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
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


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

50


×