Tải bản đầy đủ (.pdf) (58 trang)

Bài giảng Kiến trúc máy tính (ThS. Nguyễn Hằng Phương) Chương 3

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.91 MB, 58 trang )

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


×