Computer Organization and Architecture
(Tổ chức và Kiến trúc Máy tính)
Chapter 04
CPU
Ref:
Chapter 3, William Stallings, Computer Organization and
Architecture: Designing for Performance 8th Edition, Prentice
Hall, 13/04/2009
Review: Major Components of a Computer
Processor Memory Devices
Control Input
Datapath Output
Secondary
Memory
(Disk)
Main
Memory
Cache
CPU viết tắt của chữ Central Processing Unit (tiếng Anh),
tạm dịch là bộ xử lý trung tâm, là các mạch điện tử trong
một máy tính, thực hiện các câu lệnh của chương trình máy
tính bằng cách thực hiện các phép tính số học, logic, so
sánh và các hoạt động nhập/xuất dữ liệu (I/O) cơ bản do
mã lệnh chỉ ra.
3
Chương trình
Chương trình là tập hợp của nhiều lệnh
Mỗi lệnh có thể là lệnh số học, luận lý, điều khiển, lệnh
lặp, …
Mỗi lệnh sẽ có một tập các tín hiểu điều khiển cần thiết.
Một số lệnh ví dụ: Add, Move, …
4
Các thành phần trong máy tính
CPU = Control Unit + ALU
Dữ liệu & Lệnh cần cho hệ thống thực thi.
Input & Output
Khối lưu trữ dữ liệu & lệnh: Bộ nhớ chính
5
Các thành phần trong máy tính
6
Chu trình lệnh
2 cơng đoạn chính:
Nạp lệnh
Thực thi
7
Nạp lệnh
PC lưu trữ địa chỉ lệnh kế tiếp thực thi
Processor nạp lệnh từ vị trí bộ nhớ
Tăng PC
Lệnh được lưu vào trong thanh ghi lệnh (IR)
Processor thực thi lệnh và các yêu cầu cần thiết để hoàn
tất lệnh.
8
Thực thi
Processor – Memory
Chuyển dữ liệu giữa CPU & Bộ nhớ chính
Processor I/O
Chuyển dữ liệu giữa CPU & các thiết bị I/O
Data Processing
Thực hiện các tác vụ số & luận lý
Control
Thực thi tuần tự, rẽ nhánh, lặp, nhảy, …
Ví dụ: jump
Tất cả các bước trên
9
Ví dụ thực thi chương trình
10
Sơ đồ trạng thái chu trình lệnh
11
Instruction fetch (if): Read instruction from its memory location into the
processor.
• Instruction operation decoding (iod): Analyze instruction to determine type
of operation to be performed and operand(s) to be used.
• Operand address calculation (oac): If the operation involves reference to an
operand in memory or available via I/O, then determine the address of the
operand.
• Operand fetch (of): Fetch the operand from memory or read it in from I/O.
• Data operation (do): Perform the operation indicated in the instruction.
• Operand store (os): Write the result into memory or out to I/O.
12
Interrupts
Kỹ thuật sử dụng các module xử lý các interrupt
Chương trình
Overflow, chia 0
Timer
Sinh ra bởi các bộ timer bên trong processor
Được sử dụng khi hệ thống thực hiện chế độ đa nhiệm (multi-
tasking) ở chế độ pre-emptive
I/O
I/O controller
Hư phần cứng
Lỗi: memory parity error
13
Luồng điều khiển chương trình
14
Chu Trình Interrupts
Được thêm vào quá trình thực thi lệnh
Processor kiểm tra interrupt
Sinh ra bởi tín hiệu interrupt
Nếu khơng có interrupt thực thi lệnh kế tiếp
Nếu Interrupt xảy ra:
Tạm dừng thực thi lệnh hiện tại
Lưu lại các thông tin
Thiết lệp PC đến lệnh đầu tiên đoạn chương trình xử lý
interrupt
Xử lý interrupt
Nạp các thông tin & tiếp tực thực thi chương trình
15
Các bước Interrupt
16
Chu trình thực hiện lệnh với Interrupt
17
Chu trình lệnh (có interrupt) – Lược đồ
trạng thái
18
Multiple Interrupts
Disable interrupts
Processor chỉ xử lý một interrupt tại một thời điểm
Các interrupt còn lại chưa xử lý, được kiểm tra để xử lý sau
khi interrupt trước đó đã hồn thành
Nếu có nhiều interrupt đồng thời thì processor xử lý tuần tự
từng interrupt
Define priorities
Các interrupt có độ ưu tiên thấp được xử lý sau các interrupt
có độ ưu tiên cao
Khi các interrupt có độ ưu tiên cao được xử lý xong, processor
quay trở lại xử lý các interrupt trước.
19
Multiple Interrupts – Tuần tự
20