1
+
Chương 3
Chức năng và kết nối máy tính
+
NỘI DUNG
1. Các thành phần máy tính
2. Chức năng máy tính
Chu kỳ Truy xuất và Thực thi
Gián đoạn
Chức năng I/O
3. Cấu trúc kết nối
4. Kết nối bus
Cấu trúc Bus
Đa Bus
Các yếu tố thiết kế bus
5. Kết nối điểm-điểm QPI
6. PCI Express
2
3
1. Các thành phần máy tính
Máy tính hiện đại ngày nay được phát triển dựa trên thiết kế của
John von Neumann tại Viện nghiên cứu cao cấp Princeton
Được gọi là kiến trúc Von Neumann và dựa trên ba khái niệm
chính:
Dữ liệu và lệnh được lưu trữ trên một bộ nhớ đọc-ghi
Nội dung của bộ nhớ được đánh địa chỉ theo vị trí mà khơng
quan tâm đến kiểu dữ liệu.
Thi hành lệnh một cách tuần tự (trừ khi được thay đổi rõ ràng)
Chương trình nối cứng (Hardwired program)
Kết quả của quá trình kết nối các thành phần khác nhau theo
một cấu hình mong muốn
Khái niệm
chương
trình
• Hệ thống mạch
nối cứng khơng
linh hoạt
• Phần cứng đa
năng có thể
thực hiện nhiều
tác vụ khác
nhau, tạo ra
các tín hiệu
điều khiển
+ Phần mềm
Phần
mềm (Software)
Một chuỗi các mã hoặc câu lệnh
Một bộ phận phần cứng làm chức năng phiên dịch từng
lệnh và tạo ra tín hiệu điều khiển
Đưa ra chuỗi mã mới cho mỗi chương trình khác nhau
thay vì đi lại dây nối phần cứng
5
Các thành phần chính
Bộ
xử lý
Trình
biên dịch lệnh
Module
Các
logic và số học đa năng
thành phần xuất nhập I/O
Module
nhập: Bao gồm các thành phần cơ bản cho việc
nhận vào dữ liệu và lệnh; chuyển đổi chúng thành dạng
tín hiệu sử dụng bên trong hệ thống
Module
Bộ
xuất: Công cụ để hiện thị kết quả
nhớ để lưu trữ mã và kết quả tạm thời
6
Bộ nhớ
Thanh ghi địa chỉ
bộ nhớ (MAR)
• Chỉ rõ địa chỉ của lệnh đọc hay ghi
tiếp theo trong bộ nhớ
Thanh ghi dữ liệu
bộ nhớ (MBR)
• Chứa dữ liệu sắp được ghi vào bộ
nhớ hoặc nhận dữ liệu được đọc ra từ
bộ nhớ
Thanh ghi địa chỉ
vào ra (I/OAR)
• Định rõ thiết bị I/O cụ thể
Thanh ghi đệm vào
ra (I/OBR)
• Sử dụng để trao đổi dữ liệu giữa các
module I/O và CPU
7
CPU
Main Memory
PC
MAR
IR
MBR
8
0
1
2
System
Bus
Instruction
Instruction
Instruction
I/O AR
Execution
unit
Data
Data
Data
I/O BR
Cấu tạo
Data
máy tính:
I/O Module
n–2
n–1
Nhìn từ
trên
Buffers
PC
IR
MAR
MBR
I/O AR
I/O BR
=
=
=
=
=
=
Program counter
Instruction register
Memory address register
Memory buffer register
Input/output address register
Input/output buffer register
xuống
2. Chức năng máy tính
+
Chức năng cơ bản của máy tính là
thực thi một chương trình!
9
10
Chu kỳ lệnh cơ bản
Thực thi một chương trình là lặp lại quá trình thực
hiện từng chu kì lệnh.
2 bước:
Truy xuất
Thi hành
START
Fetch Cycle
Execute Cycle
Fetch Next
Instruction
Execute
Instruction
HALT
11
Chu kỳ truy xuất
đầu mỗi chu kỳ lệnh, bộ xử lý truy xuất một lệnh từ
bộ nhớ
Vào
Thanh
ghi bộ đếm chương trình (PC) chứa địa chỉ của
lệnh được truy xuất tiếp theo
Bộ
xử lý sau mỗi lần truy xuất 1 lệnh sẽ tăng bộ đếm lên
do đó nó sẽ truy xuất được lệnh tiếp theo vào lần sau.
Lệnh
Bộ
vừa được truy xuất được tải vào thanh ghi lệnh
xử lý biên dịch lệnh và thi hành những hành động cần
thiết
Chu kỳ thi hành
12
Phân loại các hành động:
Bộ xử lý – bộ nhớ
Dữ liệu truyền từ bộ xử lý đến bộ nhớ hoặc ngược lại
Bộ xử lý – I/O
Dữ liệu truyền đến/đi từ thiết bị ngoại vi bằng cách
truyền thông tin giữa bộ xử lý và module I/O
Xử lý dữ liệu
Bộ xử lý có thể thực hiện một số phép toán số học hoặc
logic trên dữ liệu
Điều khiển
Đưa ra lệnh chỉ rõ thứ tự thực hiện các lệnh bị thay đổi
13
Đặc tính của
Máy giả thiết
+
Ví dụ
thi hành
chương
trình
15
Sơ đồ trạng thái chu kỳ lệnh
16
Phân loại các gián đoạn
Gián đoạn chương trình: Gây ra bởi lỗi thi hành lệnh, ví dụ
như tràn số học, lỗi chia cho 0, cố tình thực hiện các lệnh máy
khơng hợp lệ, hoặc tham chiếu ngồi phạm vi bộ nhớ mà người sử
dụng được phép
Gián đoạn định thời: Gây ra bởi đồng hồ nằm trong bộ xử
lý. Nó cho phép hệ điều hành thực hiện các chức năng cơ bản
nhất định.
Gián đoạn I/O: Gây ra bởi bộ điều khiển I/O, để báo hiệu
hoàn thành một thao tác, yêu cầu dịch vụ từ bộ xử lý, hoặc báo
hiệu các trường hợp lỗi
Gián đoạn lỗi phần cứng: Gây ra bởi một số lỗi như lỗi
nguồn hay lỗi bộ nhớ
Điều khiển dịng chương trình
I/O
Program
User
Program
4
1
I/O
Command
WRITE
User
Program
I/O
Program
4
1
WRITE
I/O
Command
User
Program
17
I/O
Program
4
1
WRITE
I/O
Command
5
2a
END
2
2
Interrupt
Handler
2b
WRITE
5
WRITE
Interrupt
Handler
5
WRITE
END
END
3a
3
3
3b
WRITE
WRITE
(a) No interrupts
(b) Interrupts; short I/O wait
= interrupt occurs during course of execution of user program
WRITE
(c) Interrupts; long I/O wait
Chu kỳ gián đoạn
Thêm vào chu kỳ lệnh
bộ vi xử lý kiểm tra để ngắt
Được chỉ thị bằng tín hiệu gián đoạn
Nếu khơng có gián đoạn, truy xuất lệnh tiếp theo
Nếu gián đoạn đang chờ xử lý:
Tạm ngưng thực hiện chương trình hiện tại
Lưu ngữ cảnh
Đặt PC về địa chỉ bắt đầu của trình xử lý gián đoạn
Ngắt q trình
Khơi phục ngữ cảnh và tiếp tục chương trình gián đoạn
18
Truyền điều khiển qua các gián đoạn
19
Bộ xử lý và hệ điều hành có
trách nhiệm dừng chương trình
người dùng và sau đó nối lại tại
cùng một điểm
Chu kỳ lệnh có gián đoạn
Fetch Cycle
Execute Cycle
20
Interrupt Cycle
Interrupts
Disabled
START
Fetch Next
Instruction
Execute
Instruction
Check for
Interrupt;
Interrupts Process Interrupt
Enabled
HALT
Bộ xử lý được sử dụng hiệu quả hơn khi có hỗ trợ gián đoạn
21
Thời gian
chương
trình:
Đợi I/O
ngắn
22
Thời gian
chương
trình:
Đợi I/O dài
Sơ đồ trạng thái chu kỳ lệnh
Có gián đoạn
Operand
fetch
Instruction
fetch
Operand
store
Multiple
operands
Instruction
address
calculation
Instruction
operation
decoding
Operand
address
calculation
Instruction complete,
fetch next instruction
23
Multiple
results
Data
Operation
Return for string
or vector data
Operand
address
calculation
Interrupt
check
No
interrupt
Figure 3.12 Instruction Cycle State Diagram, With Interrupts
Interrupt
User program
Interrupt
handler X
24
Interrupt
handler Y
Nhiều
gián đoạn
(a) Sequential interrupt processing
User program
Interrupt
handler X
+
Interrupt
handler Y
(b) Nested interrupt processing
Truyền tín
hiệu điều
khiển
Nhiều gián đoạn
Vơ
25
hiệu hố gián đoạn
Bộ
vi xử lý sẽ bỏ qua các gián đoạn khác trong khi xử lý
một gián đoạn
gián đoạn đó chờ xử lý và được kiểm tra sau khi
gián đoạn đầu tiên đã được xử lý
Các
gián
Độ
đoạn được xử lý theo trình tự xuất hiện
ưu tiên
gián đoạn ưu tiên thấp có thể bị ngắt bởi các gián
đoạn ưu tiên cao hơn
Các
gián đoạn ưu tiên cao hơn đã được xử lý xong, bộ
xử lý quay trở lại gián đoạn trước
Khi