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.. 11 Vào đầu mỗi chu kỳ lệnh, bộ xử lý tru
Trang 1+ Chương 3
Chức năng và kết nối máy tính
1
Trang 25 Kết nối điểm-điểm QPI
6 PCI Express
2
Trang 3 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
Trang 4Khá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
Trang 5+
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
Trang 6 Module xuất: Công cụ để hiện thị kết quả
Trang 8Cấu tạo máy tính: Nhìn từ trên xuống
I/O AR I/O BR
System Bus
I/O Module
Buffers
Instruction
0 1 2
n – 2
n – 1
Data Data Data Data
Instruction Instruction
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
Trang 10hiện từng chu kì lệnh
Thi hành
Trang 1111
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
Trang 12 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
Trang 13Đặc tính của Máy giả thiết
13
Trang 14+
thi hành chương trình
Trang 1515
Sơ đồ trạng thái chu kỳ lệnh
Trang 1616
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ớ
Trang 17Điều khiển dòng chương trình
I/O Command
END 1
WRITE
WRITE
WRITE
I/O Program
I/O Command
Interrupt Handler
WRITE
WRITE
WRITE
I/O Program
I/O Command
Interrupt Handler
Trang 18Chu 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
Trang 1919
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
Trang 20Interrupts Disabled
Interrupts Enabled
Execute Instruction
Check for Interrupt;
Process Interrupt
Bộ xử lý được sử dụng hiệu quả hơn khi có hỗ trợ gián đoạn
Trang 2121
Thời gian chương trình: Đợi I/O ngắn
Trang 2222
T hời gian chương trình: Đợi I/O dài
Trang 23Sơ đồ trạng thái chu kỳ lệnh
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
Trang 24+
Nhiều gián đoạn
User program
Interrupt handler X
Interrupt handler Y
(a) Sequential interrupt processing
(b) Nested interrupt processing
User program
Interrupt handler X
Interrupt handler Y
Truyền tín hiệu điều khiển
24
Trang 25Nhiề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
Trang 26+ 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
Trang 27Chứ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)
Trang 28Address Write Read
I/O Module
M Ports
External Data
Address
Internal Data
External Data
Interrupt Signals
Internal Data
Write Read
CPU
Data
Data
Address Instructions
Control Signals
Interrupt Signals
3
Cấu trúc kết
nối
28
Trang 29Cấ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ớ
Trang 304 BUS kết nối (1)
tin kết nối chung giữa 2 hay nhiều thiết bị
các thiết bị khác cùng kết nối với bus đó
sẽ bị chồng nhau và bị méo
1 và bit 0
30
Trang 314 BUS kết nối (2)
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
của máy tính (bộ xử lý, bộ nhớ, I/O)
sử dụng một hoặc nhiều bus hệ thống
31
Trang 32Bus dữ liệu
giữa các module hệ thống
Trang 33Bus đị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
Trang 34Bus đ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
Trang 35Sơ đồ kết nối BUS
Trang 36Vấn đề của đơn BUS 36
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ủa đơn bus
Trang 37System Bus
Processor
Main Memory
Local I/O controller
Expansion bus interface
Cấu hình đa bus
Kiến trúc truyền thống (Có cache)
37
Trang 38(a) Traditional Bus Architecture
Expansion bus interface FAX
SCSI
Modem
Serial FireWire Graphic
Main Memory
Cache /Bridge Processor 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
Trang 39+
Type
Dedicated Multiplexed
39
Trang 40Phân chia thời gian hoạt động trên BUS đồng bộ
Figure 3.18 Timing of Synchronous Bus Operations
cycle
Address
lines Address
enable
Read
Valid data out
Data lines Write
cycle
Write
40
Trang 41(a) System bus read cycle
Trang 42(b) System bus write cycle
Trang 435 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
Trang 4444
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
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
sắp xếp các bus chia sẻ
Truyền dữ liệu đóng gói
điều khiển (header) và mã kiểm soát lỗi
Trang 45Cấu hình
dụng QPI
Core A I/O Hub
I/O Hub
Core B
Core C
Core D
Trang 47Lớp liên kết QPI
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à xoá bộ đệm để nhiều dữ liệu mới đến của phía nhận
Trang 48mộ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
Trang 49+ 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
Trang 50PCIe
PCIe PCIe
PCIe
PCIe–PCI Bridge
Memory
Memory
Legacy endpoint
PCIe endpoint
PCIe endpoint
PCIe endpoint
Switch
Trang 51Data link layer packets (DLLP)
Transaction
Data Link
Physical Transaction
51
Trang 52+
Phân phối đa đường PCIe
B1 B2
B3 B4
B5 B6
byte stream
PCIe lane 0
Figure 3.26 PCIe Multilane Distribution
128b/
130b
PCIe lane 2
128b/
130b
PCIe lane 3
128b/
130b
52
Trang 53 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
Trang 54+ TL hỗ trợ bốn không gian địa chỉ:
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
Trang 55Các kiểu giao dịch TLP PCIe
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
Trang 56+
Figure 3.28 PCIe Protocol Data Unit Format
STP framing Sequence number
PCIe
56
Trang 57 Nhiều phân cấp bus
Các yếu tố thiết kế bus
Trang 58+ 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