Tài liệu Kiến trúc máy tính - Chương 3: Chức năng và kết nối máy tính: + Chương 3
Chức năng và kết nối máy tính
1
+
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
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
3
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...
58 trang |
Chia sẻ: putihuynh11 | Lượt xem: 705 | Lượt tải: 1
Bạn đang xem trước 20 trang mẫu tài liệu Kiến trúc máy tính - Chương 3: Chức năng và kết nối máy tính, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
+ Chương 3
Chức năng và kết nối máy tính
1
+
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
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
3
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 (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
Phần mềm
6
Các thành phần chính
Bộ xử lý
Trình biên dịch lệnh
Module logic và số học đa năng
Các 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 xuất: Công cụ để hiện thị kết quả
Bộ nhớ để lưu trữ mã và kết quả tạm thời
7
Bộ nhớ
• Chỉ rõ địa chỉ của lệnh đọc hay ghi
tiếp theo trong bộ nhớ
Thanh ghi địa chỉ
bộ nhớ (MAR)
• 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 dữ liệu
bộ nhớ (MBR)
• Định rõ thiết bị I/O cụ thể
Thanh ghi địa chỉ
vào ra (I/OAR)
• Sử dụng để trao đổi dữ liệu giữa các
module I/O và CPU
Thanh ghi đệm vào
ra (I/OBR)
Cấu tạo
máy tính:
Nhìn từ
trên
xuống
PC MAR
IR MBR
I/O AR
I/O BR
CPU Main Memory
System
Bus
I/O Module
Buffers
Instruction
0
1
2
n – 2
n – 1
Data
Data
Data
Data
Instruction
Instruction
Figure 3.2 Computer Components: Top-Level View
PC = Program counter
IR = Instruction register
MAR = Memory address register
MBR = Memory buffer register
I/O AR = Input/output address register
I/O BR = Input/output buffer register
Execution
unit
8
+
2. Chức năng máy tính
9
Chức năng cơ bản của máy tính là
thực thi một chương trình!
10
Chu kỳ lệnh cơ bản
START HALT
Fetch Next
Instruction
Fetch Cycle Execute Cycle
Execute
Instruction
Figure 3.3 Basic Instruction Cycle
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
11
Chu kỳ truy xuất
Vào đầu mỗi chu kỳ lệnh, bộ xử lý truy xuất một lệnh từ
bộ nhớ
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 vừa được truy xuất được tải vào thanh ghi lệnh
Bộ xử lý biên dịch lệnh và thi hành những hành động cần
thiết
Phân loại các hành động:
12
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
Chu kỳ thi hành
Đặc tính của
Máy giả thiết
13
+
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 ngoà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
User
Program
WRITE
WRITE
WRITE
I/O
Program
I/O
Command
END
1
2
3
2
3
4
5
(a) No interrupts
= interrupt occurs during course of execution of user program
User
Program
WRITE
WRITE
WRITE
I/O
Program
I/O
Command
Interrupt
Handler
END
1
2a
2b
3a
3b
4
5
(b) Interrupts; short I/O wait
User
Program
WRITE
WRITE
WRITE
I/O
Program
I/O
Command
Interrupt
Handler
END
1 4
5
(c) Interrupts; long I/O wait
Figure 3.7 Program Flow of Control Without and With Interrupts
17
18
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 quá trình
Khôi phục ngữ cảnh và tiếp tục chương trình gián đoạn
19
Truyền điều khiển qua các gián đoạn
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
20
Chu kỳ lệnh có gián đoạn
START
HALT
Fetch Next
Instruction
Fetch Cycle Execute Cycle Interrupt Cycle
Interrupts
Disabled
Interrupts
Enabled
Execute
Instruction
Check for
Interrupt;
Process Interrupt
Figure 3.9 Instruction Cycle with Interrupts
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
Instruction
address
calculation
Instruction
operation
decoding
Operand
address
calculation
Data
Operation
Operand
address
calculation
Instruction
fetch
Instruction complete,
fetch next instruction
Multiple
operands
Return for string
or vector data
Figure 3.12 Instruction Cycle State Diagram, With Interrupts
No
interrupt
Operand
fetch
Operand
store
Interrupt
check
Interrupt
Multiple
results
23
+
Nhiều
gián đoạn
User program
Interrupt
handler X
Interrupt
handler Y
(a) Sequential interrupt processing
(b) Nested interrupt processing
Figure 3.13 Transfer of Control with Multiple Interrupts
User program
Interrupt
handler X
Interrupt
handler Y
Truyền tín
hiệu điều
khiển
24
25
Nhiều gián đoạn
Vô hiệu hoá 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
Các gián đoạn đó chờ xử lý và được kiểm tra sau khi
gián đoạn đầu tiên đã được xử lý
gián đoạn được xử lý theo trình tự xuất hiện
Độ ưu tiên
Các 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
Khi 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
+ Trình tự thời gian của nhiều gián đoạn
User program
Printer
interrupt service routine
Communication
interrupt service routine
Disk
interrupt service routine
Figure 3.14 Example Time Sequence of Multiple Interrupts
t =
10
t = 40
t =
15
t = 25
t = 25
t = 35
t = 0
Ví
dụ
26
27
Chức năng I/O
Module I/O có thể trao đổi dữ liệu trực tiếp với bộ xử lý
Bộ xử lý có thể đọc dữ liệu từ/ghi dữ liệu lên module I/O
Bộ xử lý xác định thiết bị nào được điều khiển bởi module I/O nào
I/O đưa ra lệnh chứ không phải là bộ nhớ đưa ra lệnh
Trong một số trường hợp, cần cho phép I/O trao đổi trực tiếp
với bộ nhớ
Bộ xử lý cấp cho module I/O quyền đọc/ghi vào bộ nhớ do đó việc
truyền tin giữa module I/O và bộ nhớ có thể diễn ra trực tiếp mà
không cần thông qua bộ xử lý
Module I/O đưa ra yêu cầu đọc/ghi tới bộ nhớ và giải phóng nhiệm
vụ chuyển dữ liệu cho bộ xử lý
Truy cập bộ nhớ trực tiếp (Direct Memory Access - DMA)
+
Các module
máy tính
Memory
N Words
0
N – 1
Data
Data
Address
Write
Read
I/O Module
M Ports
External
Data
Address
Internal
Data
External
Data
Interrupt
Signals
Internal
DataWrite
Read
CPU
Figure 3.15 Computer Modules
Data
Data
AddressInstructions
Control
Signals
Interrupt
Signals
3.
Cấu
trúc kết
nối
28
Cấu trúc kết nối hỗ trợ các hình thức truyền sau:
• Bộ xử lý đọc 1 lệnh hoặc 1 đơn vị dữ
liệu từ bộ nhớ
Bộ nhớ tới bộ xử
lý
• Bộ xử lý ghi 1 đơn vị dữ liệu vào bộ
nhớ
Bộ xử lý tới bộ
nhớ
• Bộ xử lý đọc dữ liệu từ thiết bị I/O
thông qua I/O module I/O tới bộ xử lý
• Bộ xử lý gửi dữ liệu tới thiết bị I/O Bộ xử lý tới I/O
• Module I/O có thể trao đổi dữ liệu trực
tiếp với bộ nhớ mà không cần đi qua bộ
xử lý nhờ DMA
I/O tới/từ bộ nhớ
29
4. BUS kết nối (1)
Bus là phương tiện truyền dẫn chung, là đường thông
tin kết nối chung giữa 2 hay nhiều thiết bị
Tín hiệu truyền bởi 1 thiết bị có thể được nhận bởi tất cả
các thiết bị khác cùng kết nối với bus đó
Nếu 2 thiết bị cùng truyền 1 lúc, tín hiệu của chúng
sẽ bị chồng nhau và bị méo
1 bus thường gồm nhiều đường thông tin
Mỗi đường có khả năng truyền tín hiệu dưới dạng bit
1 và bit 0
30
4. BUS kết nối (2)
Hệ thống máy tính có một số loại bus khác nhau cung
cấp đường kết nối giữa các thành phần thuộc các cấp
khác nhau của hệ thống máy tính
Bus hệ thống: Đường bus kết nối các thành phần chính
của máy tính (bộ xử lý, bộ nhớ, I/O)
Cấu trúc kết nối máy tính phổ biến nhất dựa trên việc
sử dụng một hoặc nhiều bus hệ thống
Bus dữ liệu, bus địa chỉ, bus điều khiển
31
Bus dữ liệu
Bus dữ liệu là đường kết nối dùng để truyền dữ liệu
giữa các module hệ thống
Bao gồm 32, 64, 128 đường hay nhiều hơn
Số lượng đường nối được xem là độ rộng của bus dữ
liệu
Số lượng đường nối quyết định bao nhiêu bit có thể
truyền đi cùng một lúc
Độ rộng bus dữ liệu là
yếu tố chính quyết
định hiệu suất toàn hệ thống
32
Bus địa chỉ
Được sử dụng để xác định địa chỉ nguồn/đích của dữ
liệu trên bus dữ liệu.
Nếu bộ xử lý muốn đọc 1 word từ bộ nhớ, nó sẽ đặt địa
chỉ của word đó lên đường bus địa chỉ.
Độ rộng bus xác định dung lượng nhớ tối đa của hệ
thống
Cũng được sử dụng để xác định cổng vào/ra.
Các bit bậc cao được sử dụng để lựa chọn module cụ
thể trên bus còn bit bậc thấp dùng để chọn vị trí bộ nhớ
hoặc cổng vào/ra trong module.
33
Bus điều khiển
Được sử dụng để điều khiển việc truy nhập và sử dụng
bus dữ liệu và bus địa chỉ.
Bởi vì bus dữ liệu và bus địa chỉ được chia sẻ cho tất cả
các thành phần nên cần phải có một công cụ kiểm soát
việc sử dụng chúng.
Các tín hiệu điều khiển truyền cả thông tin lệnh và định thời
giữa các mô đun hệ thống.
Tín hiệu định thời xác định tính hợp lệ của dữ liệu và thông
tin địa chỉ.
Tín hiệu lệnh chỉ ra hành động (operation) cần được thực
hiện.
34
Sơ đồ kết nối BUS
CPU Memory Memory I/O
Figure 3.16 Bus Interconnection Scheme
Bus
I/O
Control lines
Address lines
Data lines
35
Bus?
• Các đường song song trên bo mạch
• Dây cáp
• Dải giắc cắm kết nối trên bo mạch chủ (ví dụ. PCI)
Vấn đề của đơn BUS
36
Khi số lượng lớn thiết bị được kết nối với bus, hiệu
suất sẽ bị ảnh hưởng.
Càng nhiều thiết bị gắn vào bus, bus càng dài trễ
truyền càng lớn.
Bus có thể trở thành nút cổ chai nếu lượng dữ liệu
truyền tổng cộng gần bằng dung lượng bus
Các hệ thống sử dụng đa bus để khắc phục các vấn
đề của đơn bus
Cache
System Bus
Processor
Main
Memory
Local I/O
controller
Expansion
bus interface
Network
SCSI
Modem
Serial
(a) Traditional Bus Architecture
Expansion Bus
Figure 3.17 Example Bus Configurations
Local Bus
Expansion
bus interface
FAX
SCSI
Modem
Serial
(b) High-Performance Architecture
FireWire Graphic
Main
Memory
Cache
/BridgeProcessor
Local Bus
Video LAN
System Bus
High-Speed Bus
Expansion Bus
Cấu hình đa bus
Kiến trúc truyền thống (Có cache)
37
Cache
System Bus
Processor
Main
Memory
Local I/O
controller
Expansion
bus interface
Network
SCSI
Modem
Serial
(a) Traditional Bus Architecture
Expansion Bus
Figure 3.17 Example Bus Configurations
Local Bus
Expansion
bus interface
FAX
SCSI
Modem
Serial
(b) High-Performance Architecture
FireWire Graphic
Main
Memory
Cache
/BridgeProcessor
Local Bus
Video LAN
System Bus
High-Speed Bus
Expansion Bus
Cấu hình đa bus
Kiến trúc hiệu suất cao
38
+
Các yếu tố trong thiết kế Bus
Type
Dedicated
Multiplexed
Method of Arbitration
Centralized
Distributed
Timing
Synchronous
Asynchronous
Bus Width
Address
Data
Data Transfer Type
Read
Write
Read-modify-write
Read-after-write
Block
39
Phân chia
thời gian
hoạt động
trên BUS
đồng bộ
Figure 3.18 Timing of Synchronous Bus Operations
Status signals
Stable address
Valid data in
T1 T2 T3
Clock
Status
lines
Data
linesRead
cycle
Address
lines
Address
enable
Read
Valid data out
Data
linesWrite
cycle
Write
40
Status
lines
Status signals
(a) System bus read cycle
Address
lines
Read
Stable address
Data
lines Valid data
Figure 3.19 Timing of Asynchronous Bus Operations
Acknowledge
Status
lines
Status signals
(b) System bus write cycle
Address
lines
Write
Stable address
Data
lines Valid data
Acknowledge
Phân chia thời gian hoạt động trên
BUS đồng bộ
41
Status
lines
Status signals
(a) System bus read cycle
Address
lines
Read
Stable address
Data
lines Valid data
Figure 3.19 Timing of Asynchronous Bus Operations
Acknowledge
Status
lines
Status signals
(b) System bus write cycle
Address
lines
Write
Stable address
Data
lines Valid data
Acknowledge
Phân chia thời gian hoạt động trên
BUS đồng bộ
42
43
5. Kết nối điểm - điểm
Lý do chính dẫn tới sự thay đổi từ BUS sang kết nối
điểm-điểm là những hạn chế về điện gặp phải khi tăng
tần số của các bus đồng bộ
Tốc độ dữ liệu càng cao thì càng khó thực hiện chức
năng đồng bộ và phân xử một cách kịp thời
Chia sẻ bus trên cùng 1 chip làm tăng thêm khó khăn
trong việc tăng tốc độ dữ liệu bus và làm giảm độ trễ trến
bus để bắt kịp với vi xử lý.
Có độ trễ thấp, tốc độ dữ liệu cao, và khả năng mở rộng
tốt hơn.
44
QPI Kết nối đường dẫn nhanh
(Quick Path Interconnect)
Được giới thiệu vào năm 2008
Nhiều kết nối trực tiếp
Các kết nối từng cặp trực tiếp tới các thành phần khác giúp loại bỏ
việc phân xử thường thấy trong các hệ thống truyền dẫn chia sẻ.
Kiến trúc giao thức phân lớp
Các kết nối của bộ xử lý sử dụng kiến trúc giao thức phân lớp chứ
không chỉ đơn giản sử dụng tín hiệu điều khiển thường thấy trong
sắp xếp các bus chia sẻ.
Truyền dữ liệu đóng gói
Dữ liệu được gửi thành 1 chuỗi các gói chứa tiêu đề
điều khiển (header) và mã kiểm soát lỗi.
Cấu hình
chip đa
nhân sử
dụng
QPI
Figure 3.20 Multicore Configuration Using QPI
Core
A
I/O Hub
I/O Hub
Core
B
Core
C
Core
D
D
R
A
M
I/
O
d
e
v
ic
e
I/
O
d
e
v
ic
e
D
R
A
M
D
R
A
M
D
R
A
M
I/
O
d
e
v
ic
e
I/
O
d
e
v
ic
e
QPI PCI Express Memory bus
45
Các lớp QPI
Figure 3.21 QPI Layers
Link
Physical
Protocol
Packets
Flits
Phits
Routing
Link
Physical
Protocol
Routing
46
47
Lớp liên kết QPI
Chức năng điều khiển lỗi
Phát hiện và khắc phục lỗi bit,
do đó tránh cho các lớp cao
hơn gặp lỗi bit
Thực hiện hai chức
năng chính: điều khiển
luồng và điều khiển lỗi.
Vận hành trên cấp flit
Mỗi flit gồm tải tin 72-
bit và một mã kiểm
soát lỗi 8-bit được gọi
là cyclic redundancy
check (CRC)
Chức năng điều khiển luồng
Cần thiết để đảm bảo rằng 1
thực thể QPI gửi không áp
đảo 1 thực thể QPI nhận
bằng cách gửi dữ liệu nhanh
hơn khả năng xử lý dữ liệu
và xoá bộ đệm để nhiều dữ
liệu mới đến của phía nhận
+
Lớp Giao thức và Định tuyến QPI
Được sử dụng để xác định
đường đi mà một gói sẽ đi
qua các kết nối hệ thống
có sẵn
Xác định bởi phần sụn và
mô tả các đường dẫn mà
một gói tin có thể đi theo
Gói (packet) là đơn vị truyền
Một chức năng quan trọng
được thực hiện ở lớp này là
giao thức liên kết bộ nhớ cache
- đảm bảo rằng các giá trị bộ
nhớ chính được giữ trong nhiều
cache là phù hợp
Một tải gói dữ liệu điển hình là
một khối dữ liệu được gửi đến
hoặc từ một bộ nhớ cache
Lớp Định tuyến Lớp Giao thức
48
+
Kết nối thiết bị ngoại vi
Peripheral Component Interconnect (PCI)
Một bus băng thông cao, độc lập với bộ xử lý, có thể hoạt động như
một bus ngoại vi
Cung cấp hiệu suất hệ thống tốt hơn cho các hệ thống con I / O tốc độ
cao
Nhóm quan tâm đặc biệt PCI (Special Interest Group - SIG)
Được tạo ra để phát triển và duy trì tính tương thích của các đặc tính
PCI
PCI Express (PCIe)
Cơ chế kết nối điểm-điểm nhằm thay thế cơ chế dựa trên bus như PCI
Yêu cầu chính là dung lượng cao để hỗ trợ nhu cầu của thiết bị I / O
tốc độ dữ liệu cao hơn, như Gigabit Ethernet
Một yêu cầu khác là phải hỗ trợ các luồng dữ liệu phụ thuộc thời gian
49
Cấu hình
PCIe
Figure 3.24 Typical Configuration Using PCIe
Chipset
Core Core
Gigabit
Ethernet
PCIe
PCIe
PCIe PCIe
PCIePCIe
PCIe
PCIe–PCI
Bridge
Memory
Memory
Legacy
endpoint
PCIe
endpoint
PCIe
endpoint
PCIe
endpoint
Switch
+
Các lớp giao thức PCIe
Figure 3.25 PCIe Protocol Layers
Data Link
Physical
Transaction layer
packets (TLP)
Data link layer
packets (DLLP)
Transaction
Data Link
Physical
Transaction
51
+
Phân phối đa đường PCIe
B1B2B3B4B5B6B7 B0
byte stream
PCIe
lane 0
Figure 3.26 PCIe Multilane Distribution
B4 B0
B5 B1
B6 B2
B7 B3
128b/
130b
PCIe
lane 1
128b/
130b
PCIe
lane 2
128b/
130b
PCIe
lane 3
128b/
130b
52
+
Lớp giao dịch
PCIe
Transaction Layer
(TL)
Nhận các yêu cầu đọc và ghi từ
phần mềm phía trên TL và tạo ra các
gói tin yêu cầu truyền tới đích qua
lớp liên kết (link layer)
Các giao dịch sử dụng kỹ thuật giao
dịch phân chia (split transaction)
Một thiết bị PCIe nguồn gửi 1 gói tin
yêu cầu đi, sau đó đợi 1 phản hồi gọi
là gói hoàn thành
Bản tin TL và một số giao dịch ghi là
giao dịch gửi (posted transaction)
không cần phản hồi
Định dạng gói TL hỗ trợ địa chỉ bộ
nhớ 32-bit và địa chỉ bộ nhớ 64-bit
mở rộng
+
TL hỗ trợ bốn không gian địa chỉ:
Bộ nhớ
Không gian bộ nhớ bao
gồm bộ nhớ chính của hệ
thống và thiết bị I / O PCIe
Các khoảng địa chỉ bộ
nhớ nhất định được ánh
xạ vào các thiết bị I / O
Cấu hình
Không gian địa chỉ này
cho phép TL đọc / ghi các
thanh ghi cấu hình kết hợp
với các thiết bị I / O
I / O
Không gian địa chỉ này
được sử dụng cho thiết bị
PCI kế thừa, với dải địa chỉ
dành riêng dùng để xác
định các thiết bị I / O kế
thừa
Message
Không gian địa chỉ này
dành cho các tín hiệu điều
khiển liên quan đến gián
đoạn, xử lý lỗi, và quản lý
năng lượng
54
Các kiểu giao dịch TLP PCIe
Address Space TLP Type Purpose
Memory Read Request
Memory Read Lock Request Memory
Memory Write Request
Transfer data to or from a location in the
system memory map.
I/O Read Request
I/O
I/O Write Request
Transfer data to or from a location in the
system memory map for legacy devices.
Config Type 0 Read Request
Config Type 0 Write Request
Config Type 1 Read Request
Configuration
Config Type 1 Write Request
Transfer data to or from a location in the
configuration space of a PCIe device.
Message Request
Message
Message Request with Data
Provides in-band messaging and event
reporting.
Completion
Completion with Data
Completion Locked
Memory, I/O,
Configuration
Completion Locked with Data
Returned for certain requests.
55
+
Figure 3.28 PCIe Protocol Data Unit Format
STP framing
Sequence number
ECRC
LCRC
(a) Transaction Layer Packet (b) Data Link Layer Packet
STP framing
A
p
p
e n
d
ed
b
y
P
h
y
si
ca
l
L
a
y
er
A
p
p
en
d
ed
b
y
D
a
ta
L
in
k
L
a
y
er
C
re
a
te
d
b
y
T
ra
n
sa
ct
io
n
L
a
y
er
C
re
a
te
d
b
y
D
L
L
1
2
12 or 16
0 to 4096
0 or 4
4
1
Number
of octets
Data
Header
Start
DLLP
End
1
4
1
CRC2
A
p
p
en
d
ed
b
y
P
L
Định dạng
Đơn vị dữ liệu
Giao thức
PCIe
56
+ Tổng kết
Thành phần máy tính
Chức năng máy tính
Lệnh truy xuất và thi hành
Gián đoạn
Chức năng I / O
Cấu trúc kết nối
Kết nối bus
Cấu trúc bus
Nhiều phân cấp bus
Các yếu tố thiết kế bus
Kết nối điểm-điểm
Lớp vật lý QPI
Lớp liên kết QPI
Lớp định tuyến QPI
Lớp giao thức QPI
PCI Express
Kiến trúc vật lý và logic PCI
Lớp vật lý PCIe
Lớp giao dịch PCIe
Lớp liên kết dữ liệu PCIe
Chương 3
Chức năng máy
tính và kết nối
57
+
Câu hỏi chương 3
1. Chức năng chính của máy tính?
2. Xác định các trạng thái trong 1 vòng thực thi lệnh.
3. Trình bày hai cách xử lý khi có nhiều gián đoạn.
4. Cấu trúc kết nối bên trong máy tính (ví dụ: bus) hỗ trợ
những kiểu truyền gì?
5. Lợi ích của việc sử dụng kiến trúc đa bus so với kiến
trúc đơn bus?
6. Định nghĩa ngắn gọn các lớp giao thức QPI.
7. Định nghĩa ngắn gọn các lớp giao thức PCIe
58
Các file đính kèm theo tài liệu này:
- kien_truc_may_tinh_ch03_chuc_nang_may_tinh_4362_1993030.pdf