Tải bản đầy đủ (.doc) (11 trang)

Lời Giải Ôn Tập Môn Kiến Trúc Máy Tính

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 (323.32 KB, 11 trang )

Điểm Câu số 1

Trả lời
 Các chức năng chính của máy tính là gì, nêu ngắn gọn từng chức năng.
(1,0 điểm)

- Máy tính có 4 chức năng chính :
+ Xử lý dữ liệu
+ Lưu trữ dữ liệu
+ Di chuyển dữ liệu
+ Điều khiển

- Xử lý dữ liệu: Dữ liệu có thể có rất nhiều dạng và phạm vi yêu cầu xử lý
cũng rất rộng.

- Lưu trữ dữ liệu:
+ Chức năng lưu trữ ngắn hạn.

+ Chức năng lưu trữ dài hạn

- Di chuyển dữ liệu : máy tính phải có khả năng di chuyển dữ liệu giữa nó và
thế giới bên ngoài.

+ Tiến trình nhập xuất dữ liệu (I/O) : thực hiện di chuyển dữ liệu trong
cự ly ngắn giữa máy tính và thiết bị nối kết trực tiếp.

+ Tiến trình truyền dữ liệu: thực hiện di chuyển dữ liệu trong cự ly xa
giữa máy tính và thiết bị nối kết từ xa.
- Điều khiển: bên trong hệ thống máy tính, đơn vị điều khiển có nhiệm vụ
quản lý các tài nguyên máy tính và điều phối sự vận hành của các thành
phần chức năng phù hợp với yêu cầu nhận được từ người sử dụng.



 Bộ nhớ cache là gì, nêu đặc điểm của cache, có bao nhiêu loại bộ nhớ
cache trong máy tính.(1,0 điểm)

- Bộ nhớ cache là một bộ nhớ nhỏ hơn, nhanh hơn, lưu trữ các bản sao dữ liệu
từ các vị trí bộ nhớ chính được sử dụng thường xun nhất để máy tính có
thể truy cập lại dữ liệu ngay lập tức thay vì đọc lại dữ liệu từ nguồn ban đầu,
nó là bộ nhớ bán dẫn có tốc độ nhanh và chúng được đặt giữa CPU và bộ
nhớ chính nằm tăng tốc truy xuất của CPU tới bộ nhớ chính .

- Đặc điểm của bộ nhớ cache :
+ Nhiều lớp bộ nhớ giữa bộ xử lý và bộ nhớ chính
+ Thời gian truy cập nhỏ.
+ Nhỏ hơn và nhanh hơn bộ nhớ chính
+ Trung gian giữa bộ nhớ chính và thanh ghi trong CPU
+ Được sử dụng để tăng tốc độ truy cập bộ nhớ bằng cách đặt vào bộ nhớ

đệm dữ liệu từ bộ nhớ chính có khả năng được sử dụng trong tương lai gần .
+ Cải thiện hiệu suất lớn hơn có thể đạt được bằng cách sử dụng nhiều

cấp bộ nhớ đệm, với cấp 1 (L1) gần lõi nhất và các cấp bổ sung (L2, L3,
v.v.) xa dần với lõi

+ Cache có thể có hoặc khơng.
- Trong máy tính có tất cả 3 loại bộ nhớ cache là L1, L2 và L3
 Tại sao truy xuất bộ nhớ cache nhanh hơn memory thông thường. (1,0

điểm)
- Truy xuất bộ nhớ cache nhanh hơn memory thơng thường vì nó nằm gần


CPU hơn nên nó có thể nhận và bắt đầu xử lý các lệnh và dữ liệu nhanh hơn
nhiều . Địa chỉ từ một thanh ghi phải di chuyển một khoảng cách rất ngắn để
đến được bộ đệm - thường là một chu kỳ xung nhịp - và dữ liệu chỉ có
khoảng một chu kỳ để quay trở lại CPU, bộ nhớ đệm lưu trữ các lệnh mà bộ
xử lý có thể yêu cầu tiếp theo, sau đó có thể truy xuất nhanh hơn so với khi
chúng được giữ trong RAM.

Câu số 2

Trả lời
 Nêu và giải thích các kỹ thuật tăng tốc độ xử lý của CPU. (1,0 điểm)

- Pipelining( Kĩ thuật ống dẫn ): Bộ xử lý di chuyển dữ liệu hoặc hướng dẫn
vào một đường ống khái niệm với tất cả các giai đoạn của quá trình xử lý
đường ống đồng thời

- Dự đốn rẽ nhánh: Bộ xử lý nhìn trước mã lệnh được tìm nạp từ bộ nhớ và
dự đốn các nhánh hoặc nhóm lệnh nào có khả năng được xử lý tiếp theo

- Thực thi siêu cấp (Superscalar execution) F : Đây là khả năng đưa ra nhiều
hơn một lệnh trong mỗi chu kỳ xung nhịp của bộ xử lý. (Trên thực tế, nhiều
đường ống song song được sử dụng.)

- Phân tích luồng dữ liệu: Bộ xử lý phân tích các cấu trúc này phụ thuộc vào
kết quả hoặc dữ liệu của nhau để tạo ra một lịch trình hướng dẫn được tối ưu
hóa

- Thực thi suy đốn: Sử dụng dự đốn nhánh và phân tích luồng dữ liệu, một
số bộ xử lý thực thi các lệnh một cách phỏng đoán trước khi xuất hiện thực
tế trong quá trình thực thi chương trình, giữ các kết quả ở các vị trí tạm thời,

giữ cho các công cụ thực thi bận rộn nhất có thể

 Theo định luật Amdahl, tại sao số lượng CPU càng lớn vẫn không thể
tăng tốc độ xử lý lên cao hơn. (1,0 điểm)

- Vì trong chương trình ln có một phần phải xử lý tuần tự. Tăng số lượng
CPU sẽ làm giảm thời gian xử lý những phần có thể chạy song song, tuy
nhiên thời gian xử lý phần yêu cầu tuần tự sẽ không giảm được => tốc độ xử
lý chỉ có thể tăng tối đa đến một mức nào đó (điểm giới hạn là vị trí mà tất
cả các phần xử lý song song đều được hồn thành trong một chu trình xử
lý).

 Cho một chương trình máy tính thực hiện 2 triệu lệnh (instructions)

dùng CPU 400-MHz. Chương trình gồm có bốn loại lệnh khác nhau.

Các lệnh này có CPI và tỷ lệ theo bảng như sau:

Lệnh CPI Tỷ lệ (%)

Toán học (Arithmetic and logic) 1 50
18
Load/store with cache hit 2 22
10
Branch 4

Memory reference 8

u cầu: tính CPI trung bình, MIPS. (1,0 điểm)


- CPI trung bình = ( 1  0,5 ) + (2  0,18 ) + (4  0,22 ) + ( 8  0,1 ) = 2,54

- MIPS = =  157

 So sánh hiệu suất của ba máy tính A, B, C theo bảng sau:

Máy tính A Máy tính B Máy tính C
20
Chương trình 1 1 10

Chương trình 2 1000 100 20

Chương trình 3 500 1000 50

Chương trình 4 100 800 100

Trong bảng trên, thời gian xử lý được tính theo giây (seconds), với
100,000,000 lệnh được thực thi trong mỗi chương trình.
u cầu: tính MIPS cho mỗi máy tính với mỗi chương trình; tính giá trị
trung bình arithmetic và harmonic và xếp hạng các máy tính dựa theo các
giá trị trung bình trên. (1,0 điểm)

- Áp dụng công thức : MIPS = = =

MIPS của máy tính A : MIPS của máy tính B : MIPS của máy tính C :
MIPSA1 = = 100 ; MIPSB1 = = 10 ; MIPSC1 = = 5

MIPSA2 = = 0,1 ; MIPSB2 = = 1 ; MIPSC2 = = 5

MIPSA3 = = 0,2 ; MIPSB3 = = 0,1 ; MIPSC3 = = 2


MIPSA4 = = 1 ; MIPSB4 = = 0,125 ; MIPSC4 = = 1

Chương trình 1 Máy tính A Máy tính B Máy tính C
Chương trình 2 100 10 5
Chương trình 3 0.1 1 5
Chương trình 4 0.2 0.1 2
1 0.125 1

- Áp dụng công thức :

AM mean = =

Giá trị trung bình arithmetic của máy A :

AMA = = 25,325

Giá trị trung bình arithmetic của máy B :

AMB = = 2,8

Giá trị trung bình arithmetic của máy C :

AMC = = 3,25

Máy tính A Arithmetic Xếp hạng
Máy tính B
Máy tính C mean 1
25.325 3
2.8 2

3.25

- Áp dụng công thức :

HM  n 1 1  n n1 xi  0
( ) ........  ( )  ( )
x1 xn i1 xi

Harmonic của máy A :

HMA = = 0,25

Harmonic của máy B :

HMB = = 0,21

Harmonic của máy C :

HMC = = 2,1

Máy tính A Harmonic Xếp hạng
Máy tính B mean
Máy tính C 2
0.25 3
0.21 1
2.1

Câu số 3

Trả lời


 Giải thích chu kỳ lệnh cơ bản, giải thích ví dụ minh họa cách thực thi
lệnh trong máy tính (có thể dùng hình 3.5). (1,0 điểm)
- 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
, chu kì lệnh cơ bản có hai bước chính là ( Fetch Cycle ) chu kì lấy chỉ
thị ( lấy chỉ thị mất khoảng một thời gian gọi là chu kì lấy chỉ thị ) và
( Execute Cycle ) chu kì thực thi( thực thi mất khoảng một thời gian gọi
là chu kì thực thi ) , ta cộng hai chu kì lại sẽ thành chu kì của một chỉ
thị . Sư thực thi chương trình bị kết thúc nếu máy bị tắt, có lỗi khơng
thể phục hồi xuất hiện, hay chương trình đi đến một chỉ thị kết thúc nó.
- ( Fetch Cycle ) Chu kì lấy chỉ thị :

+ 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ẽ 7ang 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
- ( Execute Cycle ) Chu kì thực thi :
+ 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 tố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
- Ví dụ minh họa cách thực thi lệnh trong máy tính :

+ Ở đoạn địa chỉ 300 , 301, 302 là Instruction

+ Ở đoạn địa chỉ 940 , 941 là Data
- Gồm có các thanh ghi: PC, IR, AC(accumulator): thanh ghi tạm
- Chỉ thị được cất giữ từ vị trí 0x300 trong bộ nhớ.
- Trình bày hoạt động cộng nội dung từ bộ nhớ tại địa chỉ 0x940 với nội
dung của địa chỉ 0x941, lưu kết quả tại địa chỉ 0x941.
- Bước 1 : thanh ghi PC được lưu 300 , lưu đoạn lệnh 1940 ( 1 là lệnh nạp

nội dung từ 940 vào AC ) vào thanh ghi IR
- Bước 2 : thực hiện lệnh nạp nội dung của 940 vào thanh ghi AC , PC

tăng lên 1 tại thời điểm thực hiện lệnh (301)
- Bước 3 : lưu lệnh 5941 ( 5 là lệnh cộng nội dung từ 941 với nội dung

của AC) vào thanh ghi IR
- Bước 4 : thực hiện lệnh cộng 0003 và 0002 thành 0005 và lưu tại AC , PC

tăng lên 1 tại thời điểm thực hiện lệnh (302)
- Bước 5 : lưu lệnh 2941(ghi nội dung AC vào 941 ) vào thanh ghi IR
- Bước 6 : thực hiện lệnh ghi 0005 từ AC vào 941 , PC tăng lên 1 tại thời

điểm thực hiện lệnh (303)
- Chương trình :

+ Nạp nội dung từ 0x940 vào AC
+ Cộng nội dung của 0x941 với AC
+ Ghi nội dung của AC vào 0x941
- Như vậy có 3 chu kỳ nạp và 3 chu kỳ thực thi.

 Giải thích ngắt trong hình 3.7(b) và 3.7(c ). (1,0 điểm)


- Hình 3.7 (b) : 1, 2 ,3 là đoạn lệnh của chương trình cpu ; 3,4 là đoạn lệnh
của I/O commad . Đầu tiên sau khi chạy đoạn lệnh 1 gặp lệnh write nên
chuyển sang đoạn lệnh 4 (I/O command) để chạy ( lúc này CPU không làm
gì cả ) khơng để CPU phải đợi nên chuyển về lại đoạn lệnh 2 để tiếp tục
thực thi đoạn lệnh 2a của chương trình, sau đó khi đoạn lệnh 4(I/O
command) đã hồn thành thì CPU sẽ bị ngắt để chuyển qua đoạn lệnh
5(Interrupt Handler) để kết thúc lệnh write sau đó lại chuyển về đoạn lệnh
2b để tiếp tục chương trình , sau đó lại gặp lệnh write số 2 nên lại chuyển
sang đoạn lệnh 4 (I/O command) để chạy ( lúc này CPU khơng làm gì cả )
không để CPU phải đợi nên chuyển về lại đoạn lệnh 3a để tiếp tục thực thi
đoạn chương trình chưa xong sau đó khi đoạn lệnh 4(I/O command) đã
hoàn thành thì CPU sẽ bị ngắt để chuyển qua đoạn lệnh 5(Interrupt Handler)
để kết thúc lệnh write số 2 sau đó lại chuyển về đoạn lệnh 3b vừa nảy để
tiếp tục chương trình và khi gặp lệnh write số 3 thì tiếp tục lặp lại như trên .

- Hình 3.7 (c) : sau khi chạy đoạn lệnh 1 gặp lệnh write nên chuyển sang
đoạn lệnh 4 (I/O command) để chạy ( lúc này CPU khơng làm gì cả ) không
để CPU phải đợi nên chuyển về lại đoạn lệnh 2 để tiếp tục , sau khi chạy
đoạn lệnh 2 xong khi đó gặp lệnh write lúc này CPU phải đợi ( 4 chưa hoàn
thành ) khi đoạn lệnh 4(I/O command) đã hồn thành thì chuyển qua đoạn
lệnh 5(Interrupt Handler) để kết thúc lệnh write , sau đó mới có thể thực
hiện lệnh write số 2, tiếp tục chuyển sang đoạn lệnh số 4 (I/O command) để
chạy không để CPU phải đợi nên chuyển về lại đoạn lệnh 3 để tiếp tục , sau
khi chạy đoạn lệnh 3 xong khi đó CPU phải đợi( 4 chưa hoàn thành ) khi
đoạn lệnh 4(I/O command) đã hồn thành thì chuyển qua đoạn lệnh 5
(Interrupt Handler) để kết thúc lệnh write số 2 và khi gặp lệnh write số 3 thì
tiếp tục lặp lại như trên .

 Trong hệ thống máy tính multicore, QPI được dùng để làm gì, giải
thích. (1,0 điểm)


- Multicore :
+ Việc sử dụng nhiều bộ xử lý trên một chip cung cấp tiềm năng tăng hiệu
suất cho máy mà không làm tăng tốc độ đồng hồ.
+ Tăng gấp đôi số lượng bộ vi xử lý, tăng gấp đôi hiệu suất
+ Chiến lược: sử dụng hai bộ xử lý đơn giản trên 1 chip thay vì một bộ xử lý
phức tạp
+ Với 2 bộ xử lý thì sẽ có bộ nhớ cache lớn hơn
+ Bộ nhớ cache lớn hơn sẽ cần phải chia làm hai hoặc ba cấp cache trên một

chip
+ Làm tăng hiệu suất của máy tính bằng cách chạy nhiều ứng dụng đồng

thời. Khoảng cách giảm giữa các lõi trên chip tích hợp cho phép độ trễ truy
cập tài nguyên ngắn hơn và tốc độ bộ nhớ cache cao hơn khi so sánh với

việc sử dụng bộ vi xử lý hoặc máy tính riêng biệt.
+ Làm tăng khả năng hỗ trợ nội tại cho quá trình xử lý song song thực tế

(trái ngược với ảo) trong các ứng dụng phần mềm riêng lẻ trên nhiều ứng
dụng.

+ Khắc phục sự gia tăng sinh nhiệt do Định luật Moore (tức là, các mạch
nhỏ hơn làm tăng điện trở, tạo ra nhiều nhiệt hơn), do đó làm giảm nhu cầu

làm mát. Việc sử dụng xử lý đa lõi giúp giảm tiêu thụ điện năng (ít hao phí
năng lượng dưới dạng nhiệt hơn), giúp tăng tuổi thọ của pin.

+ Thực hiện đồng thời nhiều lệnh trên các core riêng biệt. Nó có độ trễ thấp,
các cores có thể giao tiếp nhanh hơn, vì tất cả chúng được tích hợp trên cùng


một con chip, làm tăng tốc độ tổng thể cũng như thực hiện tính tốn song
song.

+ Làm tăng tốc độ xử lý chung của hệ thống khi mà dữ liệu được phân thành
nhiều gói nhỏ và phân cho các core xử lý song song cùng một lúc.

QPI :
- QPI Kết nối đường dẫn nhanh :

+ 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.
- Lớp vật lý QPI :
+ Bao gồm các dây thực tế mang tín hiệu, cũng như mạch và logic để hỗ trợ
các tính năng phụ trợ cần thiết trong quá trình truyền và nhận 1s và 0s. Đơn
vị truyền ở lớp lật lý là 20 bit, được gọi là Phit (đơn vị vật lý).
- Lớp liên kết QPI :
+ Chức năng điều khiển luồng : cần thiết để đảm bảo rằng 1 thực thể OPI
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
+ 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

- Lớp đị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

- Lớp giao thức QPI :
+ 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


×