Bài giảng tổ chức và cấu trúc máy tính của trường đại học công nghệ thông tin, chương 7. Bài giảng là slide powerpoint cung cấp đầy đủ kiến thức, bài tập, kỹ năng cho sinh viên về chương 7 của môn tổ chức và cấu trúc máy tính
Trang 1Computer Organization and Architecture
(Tổ chức và Kiến trúc Máy tính)
Trang 2Review: Major Components of a Computer
Processor Control Datapath
Memory
Devices Input Output
Trang 3CPU 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
Trang 4Chươ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
Trang 5Cá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
Trang 6Các thành phần trong máy tính
6
Trang 7Chu trình lệnh
2 công đoạn chính:
Nạp lệnh
Thực thi
Trang 8Nạ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
Trang 10Ví dụ thực thi chương trình
10
Trang 11Sơ đồ trạng thái chu trình lệnh
Trang 12 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
Trang 13Sinh 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
Trang 14Luồng điều khiển chương trình
14
Trang 15Chu 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
Trang 16Các bước Interrupt
16
Trang 17Chu trình thực hiện lệnh với Interrupt
Trang 18Chu trình lệnh (có interrupt) – Lược đồ
trạng thái
18
Trang 19Multiple 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 đó đã hoà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.
Trang 20Multiple Interrupts – Tuần tự
20
Trang 21Multiple Interrupts – Lồng
Trang 22Multiple Interrupts – trình tự thực hiện
22
Trang 23Mối Liên Kết
Tất cả các thành phần trong máy tính được kết nối với
Trang 24Các Module trong máy tính
24
Trang 25Memory – kết nối
Trang 26Input/Output – kết nối
Tương tự như kết nối từ bộ nhớ đến máy tính
Output
Nhận dữ liệu từ máy tính
Gửi dữ liệu đến các thiết bị ngoại vi
Input
Nhận dữ liệu từ thiết bị ngoại vi
Gửi dữ liệu đến máy tính
26
Trang 27Input/Output – kết nối
Nhận các tin hiệu điều khiển từ máy tính
Gửi các tín hiệu điều khiển đến các thiết bị ngoại vi
Ví dụ: spin disk
Nhận địa chỉ từ máy tính
Ví dụ: chỉ số port xác định thiết bị ngoại vi
Gửi các tín hiệu interrupt (điều khiển)
Trang 28CPU connection
Đọc lệnh & Dữ liệu
Ghi dữ liệu (sau khi thực thi lệnh)
Gửi các tín hiệu điều khiển đến các thành phần khác
trong máy tính
Nhận interrupt
28
Trang 29Bus là gì?
Là cách giao tiếp giữa hai hay nhiều thiết bị.
Sử dụng cơ chế broadcast
Thường sử dụng nhóm
Một kênh chứa một số kệnh
Bus dữ liệu 32 bit và 32 kênh 1 bit đơn
Trang 30 Có một số kết nối trong hệ thống
Cấu trúc single bus & multiple bus
Ví dụ:
PC: Control / Address / Data bus
DEC-PDP: Unibus
30
Trang 31Data Bus
Truyền dữ liệu
Không có sự phân biệt dữ liệu & lệnh
Độ rộng của bus – quyết định hiệu suất
Trang 32Address Bus
Xác định dữ liệu nguồn & đích
Ví dụ: CPU cần đọc 1 lệnh (dữ liệu) tại 1 vị trí ô nhớ
trong bộ nhớ
Độ rộng của Bus xác định khả năng lưu trữ tối đa của bộ
nhớ
Ví dụ: 8086 có 16 bit địa chỉ - xác định bộ nhớ có không gian
lưu trữ tối đa là 64k.
32
Trang 33Control Bus
Thông tin điều khiển (control) & định thời (timing)
Tín hiệu đọc/ghi bộ nhớ
Yêu cầu interrupt
Tín hiệu xung clock
Trang 34Mô hình liên kết Bus
34
Trang 35Kiến trúc Bus
Trang 37Traditional (ISA) (with cache)
Trang 38High Performance Bus
38
Trang 39Loại Bus
Dedicated
Chia bus dữ liệu & bus địa chỉ thành 2 loại bus riêng
Multiplexed
Chia sẽ đường truyền
Sử dụng đường điều khiển để quyết định truyền dữ liệu – địa
Trang 40Bus – cơ chế phân xử
Nhiều hơn 1 module điều khiển bus
Ví dụ: CPU & DMA controller
Chỉ 1 module điều khiển bus tại 1 thời điểm
Có 2 cơ chế phân xử
Tập trung
Phân tán
40
Trang 41Tập trung & Phân tán
Mỗi module muốn sử dụng bus thì phài yêu cầu được sử dụng
Có bộ điều khiển luận lý truy xuất tất cả các module
Trang 42Định thời
Bất đồng bộ
Đồng bộ
42
Trang 43PCI Bus
Đường hệ thống
Bao gồm clock & tín hiệu reset
Địa chỉ & Dữ liệu
Trang 45PCI bus
Trang 46Tài liệu tham khảo
Stallings, chapter 3 (all of it)
www.pcguide.com/ref/mbsys/buses/
46