B X LÝ TRUNG TÂM

Ộ Ử

(Central Processing Unit - CPU)

N i dung

ạ ộ

ơ ả ủ

ộ ử

ế

5.1.C u trúc c b n c a CPU 5.2. Ho t đ ng c a CPU 5.3. C u trúc c a các b x lý tiên ti n ấ 5.4. Ki n trúc Intel ế 5.5. CPU 8086

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

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

• Đ n v đi u khi n (Control Unit – CU) • Đ n v s h c và logic (Arithmetic and

ơ ơ

ị ề ị ố ọ Logic Unit - ALU)

• T p thanh ghi (Register File - RF) • Đ n v n i ghép bus (Bus Interface Unit -

ị ố

ậ ơ BIU)

• Bus bên trong (Internal Bus)

Nhi m v c a CPU ụ ủ

• Nh n l nh (Fetch Instruction): CPU đ c l nh t ọ ệ ừ

ậ ệ ớ

• Gi i mã l nh (Decode Instruction): Xác đ nh thao b nhộ ả ị

ầ • Nh n d li u (Fetch Data): nh n d li u t ậ b ữ ệ ừ ộ

nh ho c các c ng vào-ra ổ

ự ệ ậ ớ ử

• X lý d li u (Process Data): th c hi n phép toán s h c hay phép toán logic v i các d li u ữ ệ • Ghi d li u (Write Data): ghi d li u ra b nh ớ ớ ữ ệ ộ

ệ tác mà l nh yêu c u ệ ữ ệ ặ ữ ệ ố ọ ữ ệ hay c ng vào-ra ổ

5.2. Ho t đ ng c a CPU

ạ ộ

• Chu trình l nhệ – Nh n l nh ậ ệ – Gi i mã l nh ệ ả – Nh n toán h ng ạ ậ – Th c hi n l nh ệ ệ ự – C t toán h ng ạ ấ – Ng tắ

Chu trình l nhệ

Nh n l nh ậ ệ

• CPU đ a đ a ch c a l nh c n nh n t b ậ ừ ộ ầ ỉ ủ ệ

ế ư đ m ch ươ

ị ớ ọ ề ệ b nh đ c đ t lên bus d li u ặ ớ ượ ừ ộ c CPU copy vào thanh ghi l nh IR ị ng trình PC ra bus đ a ch ỉ • CPU phát tín hi u đi u khi n đ c b nh ộ • L nh t ữ ệ ệ và đ ệ ượ

• CPU tăng n i dung PC đ tr sang l nh k ế ể ỏ ệ ộ

ti pế

Gi

i mã l nh

thanh ghi l nh IR đ

ượ

c đ a ư

ị ề

ệ đ n đ n v đi u khi n ể ế

• Đ n v đi u khi n ti n hành gi ả ị

i mã l nh x y ra bên trong CPU

• Gi

• L nh t ừ ệ ơ ế i mã ị ề ơ l nh đ xác đ nh thao tác ph i th c ự ể ệ hi nệ ả

Nh n d li u

ữ ệ

• CPU đ a đ a ch c a toán h ng ra bus ỉ ủ

đ a ch

ư ỉ

nh nh n l nh

• CPU phát tín hi u đi u khi n đ c ọ ệ • Toán h ng đ c đ c vào CPU ượ ạ • T ng t ư ự

ọ ậ ệ

ươ

Nh n d li u gián ti p

ữ ệ

ế

ị ị ư

c đ c vào CPU, đó ộ

• CPU đ a đ a ch ra bus đ a ch ỉ ỉ • CPU phát tín hi u đi u khi n đ c ọ ề ệ • N i dung ngăn nh đ ớ ượ ị ể ọ ạ ỉ ủ

• Đ a ch này đ ị ỉ c CPU phát ra bus đ a ch đ ỉ ể ị

ể ề

chính là đ a ch c a toán h ng ượ tìm ra toán h ngạ • CPU phát tín hi u đi u khi n đ c ọ ệ • Toán h ng đ c đ c vào CPU ượ ạ ọ

Th c hi n l nh

ệ ệ

ạ ộ

• Có nhi u d ng tuỳ thu c vào l nh ớ

ề – Đ c/Ghi b nh ọ – Vào/Ra – Chuy n gi a các thanh ghi ữ ể – Thao tác s h c/logic ố ọ – Chuy n đi u khi n (r nhánh) ẽ ề – …

ể ể

Ghi toán h ngạ

ư ư

ữ ệ

c copy đ n

ề ữ ệ

ể ượ

ế

• CPU đ a đ a ch ra bus đ a ch ị • CPU đ a d li u c n ghi ra bus d li u ầ ữ ệ • CPU phát tín hi u đi u khi n ghi ệ • D li u trên bus d li u đ ị

ữ ệ v trí xác đ nh ị

Ng tắ

ộ ở ề

• CPU đ a đ a ch (th ộ ế ắ ỉ • N i dung c a b đ m ch ủ tr v sau khi ng t) đ ượ ị

ư ế

ề ớ

• 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 v trí ng trình PC (đ a ch ị ỉ ươ c đ a ra bus d li u ữ ệ ư ng đ con tr c l y t ườ ỏ ượ ấ ừ ngăn x p SP) ra bus đ a ch ỉ ị ể ữ ệ ượ ị ị

ỉ ở ề xác đ nh ( ngăn x p) ở ế ị

ng trình con đi u ị ỉ ệ ủ ươ ề

khi n ng t đ • Đ a ch l nh đ u tiên c a ch ầ c n p vào PC ắ ượ ể ạ

5.3. C u trúc chung c a các b ộ ủ x lý tiên ti n ử

ế

5.3. C u trúc chung c a các b ộ ủ x lý tiên ti n ử

ế

ơ

ữ ệ

ặ • Đ n v x lý d li u âm thanh, hình nh, vector…

ữ ệ

ữ ệ

• Gi

• Các đ n v x lý d li u ị ử – Các đ n v s nguyên ị ố ơ – Các đ n v s d u ch m đ ng ị ố ấ ộ ấ ơ – Các đ n v ch c năng đ c bi t ệ ứ ị ơ ị ử ơ • B nh cache ớ ợ ượ ồ ế

ộ – Đ c tích h p trên chip vi x lý ử – Cache L1 g m hai ph n tách r i: Cache l nh, Cache d li u ờ ậ ệ

ệ i quy t xung đ t khi nh n l nh và d li u ữ ệ

ữ ệ

ệ ớ

ổ ị ơ

– Cache L2: Chung cho l nh và d li u. • Đ n v qu n lý b nh ơ ộ – Chuy n đ i đ a ch o thành đ a ch v t lý ỉ ậ ỉ ả – Cung c p c ch phân trang/phân đo n ạ – Cung c p ch đ b o v b nh

ế ế ộ ả

ệ ộ

ấ ấ

5.5. Ki n trúc Intel

ế

ế ế ế ế

• Ki n trúc 4-bit: 4004 • Ki n trúc 8-bit: 8008, 8080, 8085 • Ki n trúc 16-bit: 8086/8088, 80186, 80286 • Ki n trúc 32-bit: 80386, 80486, • Pentium, Pentium II • Celeron, Pentium III, • Pentium IV • Ki n trúc 64-bit: Itanium ế • 128 bit?

Ki n trúc 16-bit (IA-16)

ế

• Các thanh ghi bên trong: 16-bit • X lý các phép toán s nguyên v i ớ

• Qu n lý b nh theo đo n 64 ớ

• M đ u cho dòng máy tính IBM-PC

ử 16-bit ả KBytes ở ầ

Ki n trúc 32-bit (IA-32)

ế

• Các thanh ghi bên trong: 32 bit • X lý các phép toán s nguyên v i 32-bit • Có 3 ch đ làm vi c ệ ế ộ

– Ch đ 8086 th c (Real 8086 mode): làm vi c nh m t b ư ộ ộ

– Ch đ 8086 o (Virtual 8086 mode): làm vi c nh nhi u b ộ

ư

ế ộ x lý 8086 ế ộ

ả x lý 8086 (đa nhi m 16-bit) – Ch đ b o v (Protected mode) ệ

ế ộ ả • Đa nhi m 32-bit ệ • Qu n lý b nh o

ớ ả

• X lý các phép toán s d u ch m đ ng (t

80486)

ố ấ

Ki n trúc 64-bit (IA-64)

ế

ấ ộ

ng thích ph n c ng v i các b x lý ố ố ấ ầ ươ ứ ớ ộ ử

l p môi ầ ằ ả ậ

tr • T tr • Các thanh ghi bên trong: 64 bit • X lý các phép toán s nguyên v i 64-bit ử • X lý các phép toán s d u ch m đ ng ử • Không t c đó ướ ng thích ph n m m b ng cách gi ề ươ ngườ

CPU 8086/88

ử ế ⇒ Qu n lý 1MB b ộ ả

19 ÷ A0

÷ FFFFF

• Vi x lý 16 bit. • Tuy n đ a ch : A ỉ ị nh (100 000H) – đ a ch b nh 00000 ớ ỉ ộ ữ ệ • Tuy n d li u : D

15 ÷ D0 (8086) / D7 ÷ D0

ớ ị ế (8088)

• Th c t s d ng tuy n đ a ch d li u ự ế ử ụ ế ị

ỉ ữ ệ ⇒ C n m ch tách ạ ầ

chung : AD7 ÷ AD0 tuy n ế

CPU 8086-8088

Qu n lý b nh CPU 8086

• Đ a ch v t lý : dùng đ ể

ị thi ế ế ạ – s 20 bit A

19A18A17 . . . A1A0

ỉ ậ t k m ch ố (00000 ÷ FFFFF)

• Đ a ch lu n lý : dùng ỉ ậ ươ

trong ch ng trình – 2 thành ph n segment : ầ

offset

– Dùng thanh ghi đo n ch a

segment

– Dùng thanh ghi đa d ng ụ

ch a offset