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
ứ