Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
522,72 KB
Nội dung
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 1
8 September 2009 1
NKK-HUT
Hệ thống máy tính
Chương 4
KIẾN TRÚCBỘXỬ LÝ
Nguyễn Kim Khánh
Trường ĐạihọcBáchkhoaHàNội
8 September 2009 2
NKK-HUT
Nội dung học phần
Chương 1. Giới thiệu chung
Chương 2. Kiếntrúcbộ nhớ
Chương 3. Kiếntrúc vào-ra
Chương 4. Kiếntrúcbộxửlý
Chương 5. Kiếntrúc máy tính tiên tiến
8 September 2009 3
NKK-HUT
4.1. Cấutrúccơ bảncủa CPU
4.2. Tậplệnh
4.3. Hoạt động củaCPU
4.4. Kỹ thuật đường ống lệnh
4.5. Các kiếntrúc song song mức lệnh
4.6. Một số kiếntrúc thông dụng
Nộidung
8 September 2009 4
NKK-HUT
4.1. Cấutrúccơ bảncủaCPU
Nhiệmvụ củaCPU:
Nhậnlệnh (Fetch Instruction): CPU đọclệnh từ bộ
nhớ.
Giảimãlệnh (Decode Instruction): xác định thao tác
mà lệnh yêu cầu.
Nhậndữ liệu (Fetch Data): nhậndữ liệutừ bộ nhớ
hoặccáccổng vào-ra.
Xửlý dữ liệu (Process Data): thựchiện phép toán số
học hay phép toán logic vớicácdữ liệu.
Ghi dữ liệu (Write Data): ghi dữ liệurabộ nhớ hay
cổng vào-ra
1. Nhiệmvụ và cấutrúccủaCPU
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 2
8 September 2009 5
NKK-HUT
Sơđồcấutrúccơ bảncủaCPU
8 September 2009 6
NKK-HUT
Đơnvịđiềukhiển (Control Unit - CU)
Đơnvị số học và logic (Arithmetic and
Logic Unit - ALU)
Tập thanh ghi (Register File - RF)
Đơnvị nối ghép bus (Bus Interface Unit -
BIU)
Bus bên trong (Internal Bus)
Các thành phầncơ bảncủaCPU
8 September 2009 7
NKK-HUT
2. Đơnvị số học và logic
Chứcnăng: Thựchiệncácphéptoán
số học và phép toán logic:
Số học: cộng, trừ, nhân, chia, tăng, giảm,
đảodấu
Logic: AND, OR, XOR, NOT, phép dịch bit.
8 September 2009 8
NKK-HUT
Mô hình kếtnốiALU
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 3
8 September 2009 9
NKK-HUT
3. Đơnvịđiềukhiển
Chứcnăng
Điềukhiểnnhậnlệnh từ bộ nhớđưavào
thanh ghi lệnh
Tăng nội dung củaPC để trỏ sang lệnh kế
tiếp
Giảimãlệnh đã đượcnhận để xác định thao
tác mà lệnh yêu cầu
Phát ra các tín hiệu điềukhiểnthựchiệnlệnh
Nhậncáctínhiệuyêucầutừ bus hệ thống và
đáp ứng vớicácyêucầu đó.
8 September 2009 10
NKK-HUT
Mô hình kếtnối đơnvịđiềukhiển
8 September 2009 11
NKK-HUT
Các tín hiệu đưa đến đơnvịđiềukhiển
Clock: tín hiệunhịptừ mạch tạodao
động bên ngoài.
Mã lệnh từ thanh ghi lệnh đưa đến để
giảimã.
Các cờ từ thanh ghi cờ cho biếttrạng
thái củaCPU.
Các tín hiệuyêucầutừ bus điềukhiển
8 September 2009 12
NKK-HUT
Các tín hiệu phát ra từđơnvịđiềukhiển
Các tín hiệu điềukhiển bên trong CPU:
Điềukhiển các thanh ghi
ĐiềukhiểnALU
Các tín hiệu điềukhiển bên ngoài CPU:
Điềukhiểnbộ nhớ
Điềukhiểncácmô-đun vào-ra
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 4
8 September 2009 13
NKK-HUT
Các phương pháp thiếtkếđơnvịđiềukhiển
Đơnvịđiềukhiểnvi chương trình
(Microprogrammed Control Unit)
Đơnvịđiềukhiểnnốikếtcứng
(Hardwired Control Unit)
8 September 2009 14
NKK-HUT
Đơnvịđiềukhiểnvi chương trình
8 September 2009 15
NKK-HUT
Đơnvịđiềukhiểnvi chương trình (tiếp)
Bộ nhớ vi chương trình (ROM) lưutrữ
các vi chương trình (microprogram)
Mộtvi chương trình bao gồmcácvi
lệnh (microinstruction)
Mỗivi lệnh mã hoá cho một vi thao tác
(microoperation)
Để hoàn thành mộtlệnh cầnthựchiện
mộthoặcmột vài vi chương trình
Tốc độ chậm
8 September 2009 16
NKK-HUT
Đơnvịđiềukhiểnnốikếtcứng
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 5
8 September 2009 17
NKK-HUT
Đơnvịđiềukhiểnnốikếtcứng (tiếp)
Sử dụng mạch cứng để giảimãvàtạo
các tín hiệu điềukhiểnthựchiệnlệnh
Tốc độ nhanh
Đơnvịđiềukhiểnphứctạp
8 September 2009 18
NKK-HUT
4.Tập thanh ghi
Chứcnăng và đặc điểm:
Chứacácthôngtin tạmthờiphụcvụ cho
hoạt động ở thời điểmhiệntạicủaCPU
Đượccoilàmức đầutiêncủahệ thống nhớ
Số lượng thanh ghi nhiều Æ tăng hiệunăng
củaCPU
Có hai loại thanh ghi:
Các thanh ghi lậptrìnhđược
Các thanh ghi không lậptrìnhđược
8 September 2009 19
NKK-HUT
Phân loại thanh ghi theo chứcnăng
Thanh ghi địachỉ: quảnlýđịachỉ củangăn
nhớ hay cổng vào-ra.
Thanh ghi dữ liệu: chứatạmthờicácdữ
liệu.
Thanh ghi đanăng: có thể chứa địachỉ
hoặcdữ liệu.
Thanh ghi điềukhiển/trạng thái: chứacác
thông tin điềukhiểnvàtrạng thái củaCPU.
Thanh ghi lệnh: chứalệnh đang đượcthực
hiện.
8 September 2009 20
NKK-HUT
Mộtsố thanh ghi điểnhình
Các thanh ghi địachỉ
Bộđếmchương trình PC (Program Counter)
Con trỏ dữ liệu DP (Data Pointer)
Con trỏ ngănxếp SP (Stack Pointer)
Thanh ghi cơ sở và thanh ghi chỉ số
(Base Register & Index Register)
Các thanh ghi dữ liệu
Thanh ghi trạng thái
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 6
8 September 2009 21
NKK-HUT
Bộđếmchương trình PC
Còn đượcgọi là con trỏ lệnh IP
(Instruction Pointer)
Giữđịachỉ củalệnh tiếp theo sẽđược
nhận vào.
Sau khi mộtlệnh đượcnhận vào, nội
dung PC tựđộng tăng để trỏ sang lệnh
kế tiếp.
8 September 2009 22
NKK-HUT
Minh họabộđếmchương trình
8 September 2009 23
NKK-HUT
Thanh ghi con trỏ dữ liệu
Chứa địachỉ củangănnhớ dữ liệumà
CPU muốntruynhập
Thường có mộtsố thanh ghi con trỏ dữ
liệu
8 September 2009 24
NKK-HUT
Minh hoạ thanh ghi con trỏ dữ liệu
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 7
8 September 2009 25
NKK-HUT
Ngănxếp (Stack)
Ngănxếplàvùngnhớ có cấutrúcLIFO
(Last In - First Out)
Ngănxếpthường dùng để phụcvụ cho
chương trình con
Đáy ngănxếplàmộtngănnhớ xác định
Đỉnh ngănxếplàthôngtin nằm ở vị trí
trên cùng trong ngănxếp
Đỉnh ngănxếpcóthể bị thay đổi
8 September 2009 26
NKK-HUT
Con trỏ ngănxếp SP (Stack Pointer)
Chứa địachỉ củangănnhớđỉnh ngănxếp
Khi cấtmộtthôngtin vàongănxếp:
Nội dung của SP tựđộng giảm
Thông tin đượccất vào ngănnhớđượctrỏ
bởiSP
Khi lấymột thông tin ra khỏingănxếp:
Thông tin được đọctừ ngănnhớđượctrỏ bởi
SP
Nội dung của SP tựđộng tăng
Khi ngănxếprỗng, SP trỏ vào đáy
8 September 2009 27
NKK-HUT
Minh họa con trỏ ngănxếpSP
8 September 2009 28
NKK-HUT
Thanh ghi cơ sở và thanh ghi chỉ số
Thanh ghi cơ sở: chứa địachỉ củangăn
nhớ cơ sở (địachỉ cơ sở)
Thanh ghi chỉ số: chứa độ lệch địachỉ
giữangănnhớ mà CPU cầntruynhập
so vớingănnhớ cơ sở (chỉ số)
Địachỉ củangănnhớ cầntruynhập=
địachỉ cơ sở + chỉ số
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 8
8 September 2009 29
NKK-HUT
Minh họa thanh ghi cơ sở và thanh ghi chỉ số
8 September 2009 30
NKK-HUT
Các thanh ghi dữ liệu
Chứacácdữ liệutạmthờihoặccáckết
quả trung gian
Cần có nhiều thanh ghi dữ liệu
Các thanh ghi số nguyên: 8, 16, 32, 64
bit
Các thanh ghi số dấuphẩy động
8 September 2009 31
NKK-HUT
Thanh ghi trạng thái (Status Register)
Còn gọi là thanh ghi cờ (Flag Register)
Chứa các thông tin trạng thái củaCPU
Các cờ phép toán: báo hiệutrạng thái của
kếtquả phép toán
Các cờđiềukhiển: biểuthị trạng thái điều
khiểncủaCPU
8 September 2009 32
NKK-HUT
Ví dụ cờ phép toán
Cờ Zero (cờ rỗng): đượcthiếtlậplên1 khi
kếtquả của phép toán bằng 0.
Cờ Sign (cờ dấu): đượcthiếtlậplên1 khikết
quả phép toán nhỏ hơn0
Cờ Carry (cờ nhớ): đượcthiếtlậplên1 nếu
phép toán có nhớ ra ngoài bit cao nhất Æ cờ
báo tràn vớisố không dấu.
Cờ Overflow (cờ tràn): đượcthiếtlậplên1
nếucộng hai số nguyên cùng dấumàkếtquả
có dấungượclại Æ cờ báo tràn vớisố có
dấu.
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 9
8 September 2009 33
NKK-HUT
Ví dụ cờđiềukhiển
Cờ Interrupt (Cờ chophépngắt):
NếuIF = 1 Æ CPU ở trạng thái cho phép
ngắtvới tín hiệuyêucầungắttừ bên ngoài
gửitới
NếuIF = 0 Æ CPU ở trạng thái cấmngắt
với tín hiệuyêucầungắttừ bên ngoài gửi
tới
8 September 2009 34
NKK-HUT
4.2. Tậplệnh
Mỗibộ xửlý có mộttậplệnh xác định
Tậplệnh thường có hàng chục đến hàng
trămlệnh
Mỗilệnh là mộtchuỗisố nhị phân mà bộ xử
lý hiểu được để thựchiệnmộtthaotácxác
định.
Các lệnh đượcmôtả bằngcáckýhiệugợi
nhớ Æ chínhlàcáclệnh củahợpngữ
1. Giớithiệu chung về tậplệnh
8 September 2009 35
NKK-HUT
Các thành phầncủalệnh máy
Mã thao tác (operation code Æ opcode):
mã hóa cho thao tác mà bộxửlý phảithực
hiện
Địachỉ toán hạng: chỉ ra nơichứacáctoán
hạng mà thao tác sẽ tác động
Toán hạng nguồn: dữ liệuvàocủa thao tác
Toán hạng đích: dữ liệuracủa thao tác
8 September 2009 36
NKK-HUT
Số lượng địachỉ toán hạng trong lệnh (1)
Ba địachỉ toán hạng:
2 toán hạng nguồn, 1 toán hạng đích
c = a + b
Từ lệnh dài vì phải mã hoá địachỉ cho cả
ba toán hạng
Đượcsử dụng trên các bộxửlý tiên tiến
Bài giảng Hệ thống máy tính
Nguyễn Kim Khánh - ĐHBKHN 10
8 September 2009 37
NKK-HUT
Số lượng địachỉ toán hạng trong lệnh (2)
Hai địachỉ toán hạng:
Mộttoánhạng vừalàtoánhạng nguồn
vừalàtoánhạng đích; toán hạng còn lạilà
toán hạng nguồn
a = a + b
Giá trị cũ của 1 toán hạng nguồnbị mấtvì
phảichứakếtquả
Rút gọn độ dài từ lệnh
Phổ biến
8 September 2009 38
NKK-HUT
Số lượng địachỉ toán hạng trong lệnh (3)
Một địachỉ toán hạng:
Mộttoánhạng đượcchỉ ra trong lệnh
Mộttoánhạng là ngầm định Æ thường là
thanh ghi (thanh chứa –accumulator)
Đượcsử dụng trên các máy ở các thế hệ
trước
8 September 2009 39
NKK-HUT
Số lượng địachỉ toán hạng trong lệnh (4)
0 địachỉ toán hạng:
Các toán hạng đều đượcngầm định
Sử dụng Stack
Ví dụ:
push a
push b
add
pop c
có nghĩalà: c = a+b
không thông dụng
8 September 2009 40
NKK-HUT
Đánh giá về sốđịachỉ toán hạng
Nhiều địachỉ toán hạng
Các lệnh phứctạphơn
Cầnnhiều thanh ghi
Chương trình có ít lệnh hơn
Nhậnlệnh và thựchiệnlệnh chậmhơn
Ít địachỉ toán hạng
Các lệnh đơngiảnhơn
Cần ít thanh ghi
Chương trình có nhiềulệnh hơn
Nhậnlệnh và thựchiệnlệnh nhanh hơn
[...]... kiếntrúc thông dụng 1 Kiến trúc Intel Kiếntrúc 4-bit: Kiếntrúc 8-bit: Kiếntrúc 16-bit: Kiếntrúc 32-bit: Kiếntrúc 64-bit: Kiếntrúc 16-bit (IA-16) 4004 8008,8080,8085 8086/8088,80186,80286 80386, 80486, Pentium,Pentium II, Celeron, Pentium III, Pentium 4, Core Itanium, Core 2 8 September 2009 Các thanh ghi bên trong: 16-bit Xửlý các phép toán số nguyên với 16-bit Quản lýbộ nhớ theo đoạn 64KBytes... 64-bit Xửlý các phép toán số dấu phẩy động Không tương thích phần cứng với các bộxửlý trước đó Tương thích phần mềm bằng cách giả lập môi trường Xửlý các phép toán số dấu phẩy động (từ 80486) 8 September 2009 Nguyễn Kim Khánh - ĐHBKHN 107 8 September 2009 108 27 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT 2 Một số kiếntrúc khác Kiếntrúc MIPS (đã học) Kiếntrúc ARM Kiếntrúc Sun SPARC Kiến trúc. .. NKK-HUT Kiếntrúc 32-bit (IA-32) Kiếntrúc 64-bit (IA-64) 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ó ba chế độ làm việc: Chế độ 8086 thực (Real 8086 mode): làm việc như một bộ xử lý 8086 Chế độ 8086 ảo (Virtual 8086 mode): làm việc như nhiều bộ 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 Các thanh ghi bên trong: 64-bit Xử lý. .. pipeline lệnh Chuyển dữ liệu Xửlý số học với số nguyên Xửlý logic Điều khiển vào-ra Chuyển điều khiển (rẽ nhánh) Điều khiển hệ thống 8 September 2009 45 NKK-HUT 8 September 2009 46 NKK-HUT Các lệnh chuyển dữ liệu MOVE LOAD STORE EXCHANGE CLEAR SET PUSH POP Các lệnh số học ADD Copy dữ liệu từ nguồn đến đích Nạp dữ liệu từ bộ nhớ đến bộxửlý Cất dữ liệu từ bộxửlý đến bộ nhớ Trao đổi nội dung của... PC (chứa địa chỉ của lệnh_kế_tiếp) ra Stack Nạp vào PC địa chỉ của lệnh đầu tiên của chương trình con được gọi Bộxửlý được chuyển sang thực hiện chương trình con tương ứng Lệnh trở về từ chương trình con: lệnh RETURN Lấy địa chỉ của lệnh_kế_tiếp được cất ở Stack nạp trả lại cho PC Bộ xửlý được điều khiển quay trở về thực hiện tiếp lệnh nằm sau lệnh CALL 8 September 2009 57 NKK-HUT 8 September 2009... 4.5 Các kiếntrúc song song mức lệnh Superpipeline Siêu đường ống (Superpipeline & Hyperpipeline) Siêu vô hướng (Superscalar) VLIW (Very Long Instruction Word) 8 September 2009 101 NKK-HUT 8 September 2009 102 NKK-HUT Superscalar 8 September 2009 Nguyễn Kim Khánh - ĐHBKHN VLIW (Very Long Instruction Word) 103 8 September 2009 104 26 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT 4.6 Một số kiếntrúc thông... trưng của RISC CISC và RISC Số lượng lệnh ít Hầu hết các lệnh truy nhập toán hạng ở các thanh ghi Truy nhập bộ nhớ bằng các lệnh LOAD/STORE Thời gian thực hiện lệnh là một chu kỳ máy Các lệnh có độ dài cố định (32 bit) CISC Complex Instruction Set Computer: Máy tính với tập lệnh phức tạp Các bộ xửlý truyền thống: x86, 680x0 RISC Reduced Instruction Set Computer: Máy tính với tập lệnh thu gọn SunSPARC,... Thanh ghi chứa chỉ số 8 September 2009 77 NKK-HUT 8 September 2009 78 NKK-HUT Giản đồ trạng thái 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ươ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ừ bộ nhớ được đặt lên bus dữ liệu và được CPU copy vào thanh ghi lệnh IR CPU tăng nội dung PC để trỏ sang lệnh kế tiếp 8 September 2009 Nguyễn Kim Khánh - ĐHBKHN... Hazard của đường ống lệnh Hazard về cấu trúc Hazard cấu trúc Nguyên nhân: Dùng chung tài nguyên Khắc phục: Hazard dữ liệu nhân tài nguyên để tránh xung đột Làm trễ Ví dụ: Bus dữ liệu: truyền lệnh và dữ liệu Bus lệnh riêng, bus dữ liệu riêng (cache lệnh và cache dữ liệu) Hazard điều khiển 8 September 2009 93 NKK-HUT 8 September 2009 94 NKK-HUT Ví dụ Hazard về cấu trúc conflict on arithmetic unit MULT... September 2009 88 22 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Ngắt Sơ đồ mô tả chu trình ngắt Nội dung của bộ đếm chương trình PC (địa chỉ trở về sau khi ngắt) được đưa ra bus dữ liệu CPU đưa địa chỉ (thường được lấy từ con trỏ ngăn xếp SP) ra bus địa chỉ 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í xác định (ở ngăn xếp) Địa chỉ lệnh đầu tiên của chương . tính Chương 4 KIẾN TRÚC BỘ XỬ LÝ Nguyễn Kim Khánh Trường ĐạihọcBáchkhoaHàNội 8 September 2009 2 NKK-HUT Nội dung học phần Chương 1. Giới thiệu chung Chương 2. Kiến trúc bộ nhớ Chương 3. Kiến trúc. 4. Kiến trúc bộ xử lý Chương 5. Kiến trúc máy tính tiên tiến 8 September 2009 3 NKK-HUT 4.1. Cấutrúccơ bảncủa CPU 4.2. Tậplệnh 4.3. Hoạt động củaCPU 4.4. Kỹ thuật đường ống lệnh 4.5. Các kiến. chuyểndữ liệu MOVE Copy dữ liệutừ nguồn đến đích LOAD Nạpdữ liệutừ bộ nhớđếnbộ xử lý STORE Cấtdữ liệutừ bộ xử lý đếnbộ nhớ EXCHANGE Trao đổinội dung củanguồnvàđích CLEAR Chuyển các bit