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

CÂU HỎI VÀ LỜI GIẢI ÔN TẬP 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 (945.1 KB, 31 trang )

CÂU HỎI ƠN TẬP KIẾN TRÚC MÁY TÍNH

1.

Hãy trình bày sơ đồ khối, chức năng của các khối trong Kiến trúc máy tính Von Neumann?

2.

Hãy cho biết có mấy cách để phân loại máy tính, nêu các kiểu máy tính theo các cách đó?

3.

Hãy trình bày ngun tắc chuyển đổi số ở hệ thập phân sang hệ nhị phân, bát phân và ngược

lại? Cho ví dụ minh họa?
4.

Trình bày cấu trúc của bộ nhớ Cache và nguyên tắc đọc Cache.

5.

Hãy cho biết dựa vào tiêu chí nào người ta phân chia máy tính thành các thế hệ, đó là những

thế hệ nào? Những máy tính ngày nay chúng ta đang sử dụng thuộc thế hệ nào?
6.

Các loại bus hệ thống trong máy tính? Chức năng của từng loại? Độ rộng của bus dữ liệu

là 16 bit thì cho biết điều gì?
7.


Hãy trình bày nguyên tắc chuyển đổi số ở hệ thập phân sang hệ nhị phân, thập lục phân và

ngược lại? Cho ví dụ tương ứng?
8.

Trình bày tổ chức của ổ đĩa cứng? Dung lượng của ổ đĩa cứng phụ thuộc vào yếu tố nào?

Ứng dụng tính dung lượng của ổ đĩa cứng nếu biết Số byte trên sector là 512, số sector trên rãnh
trung bình là 300, số rãnh trên một mặt là 20,000, số mặt trên một đĩa là 2, số đĩa trên ổ đĩa là 15?
9.

Hãy cho biết các phương pháp vào ra với máy vi tính?

10.

Các loại thanh ghi trong CPU? Chức năng của chúng?

11.

Trình bày nguyên tắc chuyển đổi số ở hệ nhị phân sang số hệ bát phân, thập lục phân và

ngược lại? Cho ví dụ tương ứng?
12.

Trình bày các phương pháp ánh xạ địa chỉ trong Cache?

13.

Khái niệm bộ nhớ trong của máy tính? Các loại bộ nhớ chính? Đặc trưng của bộ nhớ trong


của máy tính? Cách giảm thiểu số chân của chíp nhớ?
14.

Trình bày cách quản lý trang trong bộ nhớ và phương pháp biên dịch địa chỉ tuyến tính

sang địa chỉ vật lý?
15.

Hãy trình bày phương pháp biểu diễn số ngun? Cho ví dụ minh họa?

16.

Trình bày mục đích của bộ nhớ ảo? Ánh xạ địa chỉ trong bộ nhớ ảo?

17.

Các loại bộ nhớ ROM của máy tính? Đặc trưng của từng loại?

18.

Vẽ sơ đồ thuật toán nhân nhanh Booth? Áp dụng tính 7 x 9?

19.

Hãy trình bày phương pháp biểu diễn số thực? Cho ví dụ?

20.

Trình bày khái qt thuật tốn thay thế và chính sách ghi trong Cache?



21.

Các loại bộ nhớ trong của máy tính? Đặc trưng của từng loại? Ngày nay khi mua máy tính

người ta thường quan tâm tới bộ nhớ trong nào và có những tham số gì đáng quan tâm nhất?
22.

Trình bày hiệu quả thực hiện lệnh sử dụng đường ống (Pipeline) trong kiến trúc RISC với

đường ống 2 giai đoạn, 3 giai đoạn, 4 giai đoạn so với thực thi tuần tự?
23.

Trình bày q trình đọc/ ghi bộ nhớ trong máy tính?

24.

Trình bày các khối trong bộ vi xử lý của máy tính (CPU)? Chức năng, nhiệm vụ của từng

khối?
25.

Các loại bộ nhớ RAM của máy tính? Đặc trưng của từng loại? Ngày nay máy tính thường

sử dụng bộ nhớ RAM nào, các RAM của máy tính hay ghi DDR3 có ý nghĩa gì?
26.

Khái niệm Cache miss, thời gian truy cập cache, các nguyên nhân Cache miss? Cho ví dụ?

27.


Các chế độ địa chỉ của bộ vi xử lý? Nêu rõ ưu nhược điểm của từng chế

độ?
28.

Hãy trình bày các kiểu hệ thống bộ vi xử lý song song và cách tổ chức song song trong

trong máy tính sử dụng bộ vi xử lý song song?
29.

Trình bày chi tiết các bước thực hiện lệnh trong máy tính?

30.

Các loại bus trong máy tính? Chức năng của từng loại?

31.

Cấu trúc lệnh? Số địa chỉ trong lệnh? Cho ví dụ minh họa?

32.

Trình bày giải pháp đường ống lệnh (Pipeline) và Sơ đồ thời gian thực hiện lệnh bằng

đường ống lệnh? Sơ đồ đường ống lệnh CPU 6 giai đoạn?


ĐÁP ÁN ƠN TẬP KIẾN TRÚC MÁY TÍNH THAM KHẢO
(Tổng hợp từ nhiều nguồn)

Câu 1: Sơ đồ khối, chức năng các khối trong KTMT Von Neumann?
Sơ đồ khối:

Chức năng:





Main memory (bộ nhớ chính): lưu trữ dữ liệu và các lệnh
Arithmetic logic unit (ALU): tính tốn dữ liệu nhị phân.
Control unit (CU): dịch các lệnh trong bộ nhớ và thực thi chúng.
I/O: các thiết bị vào ra hoạt động dưới sự điều khiển của khối CU.

Câu 2: Phân loại máy tính, Các kiểu máy tính theo cách phân loại đó:
Phân loại theo khả năng
-

Máy tính lớn (mainframe computer).
Máy tính con (mini computer).
Máy vi tính (microcomputer): trạm làm việc (workstation), máy tính cá nhân PC (personal
computer).

Phân loại theo Nguyên lý
-

Máy tính cơ khí.


-


Máy tính tương tự.
Máy tính số.

Phân loại theo Kiến trúc
-

SISD ( Single Instruction Stream-Single Data Stream).
SIMD (Single Instruction Stream-Multiple Data Stream).
MIMD (Multiple Instruction Stream-Multiple Data Stream).
MISD (Multiple Instruction Stream-Single Data Stream).

Câu 3: Nguyên tắc chuyển đổi số thập phân sang nhị phân, bát phân và ngược lại, cho ví dụ?
Thập phân -> Nhị phân
Lấy số cần đổi chia cho 2. Lấy kết quả chia tiếp cho 2 đến khi kết quả = 0. Lấy dư là 0 hoặc 1. Lấy
các con số dư ghi lại từ dưới lên trên ta được dãy số 0 và 1.

Nhị phân -> Thập phân
Nhân lần lượt các phần tử của dãy nhị phân bắt đầu từ phần tử cuối (Chiều phải sang trái) với 20
cho đến 2n-1 (n là số phẩn tử dãy số). Sau đó cộng các giá trị tìm được từ phép nhân ta được kết
quả là một số dạng thập phân

Thập phân -> Bát phân


Thập phân ra hệ Bát phân bằng cách chia con số Thập phân cần đổi với 8 rồi lấy kết quả chia với
8 liên tục cho đến khi kết quả bằng 0, sau đó ghi lại các số dư từ dưới lên để có được dãy Bát phân.

Bát phân -> Thập phân
Bát phân ra thập phân chúng ta nhân từ giá trị của dãy Bát phân với 80 đến 8n-1 theo chiều phải

sang trái

Câu 4: Cấu trúc bộ nhớ Cache, Hoạt động của Cache, Chính sách ghi trong Cache?
Cấu trúc
-

Bộ nhớ cache bao gồm C khe của mỗi K từ nhớ và số của các khe, hoặc các hàng, nó coi
như ít hơn số khối nhớ của bộ nhớ chinh(C <
Hoạt động
-

Khi CPU phát địa chỉ, RA của từ nhớ sẽ được đọc. Nếu từ nhớ được chứa trong cache, nó
sẽ được cung cấp cho CPU. Ngược lại, khối nhớ chứa từ nhớ đó sẽ được tải vào trong bộ
nhớ và từ nhớ đó sẽ được cung cấp cho CPU.

Chính sách ghi trong Cache
-

-

Ghi đồng thời (Write-Through): Thông tin được ghi đồng thời vào khối của cache và
khối của bộ nhớ trong. Cách ghi này làm chậm tốc độ chung của hệ thống. Các thiết bị
ngoại vi có thể truy cập bộ nhớ trực tiếp.
Ghi lại (Write-back): Để đảm bảo tốc độ xử lý của hệ thống , thông tin cần ghi chỉ được
ghi vào khối trong cache. Việc ghi vào bộ nhớ trong sẽ bị hoãn lại cho đến khi cần có thay


thế khối. Để quản lý sự khác biệt nội dung giữa khối của cache và khối của bộ nhớ trong,
một bit trạng thái (Dirty bit hay Update bit) được dùng để chỉ thị. Khi một thao tác ghi vào

trong cache, bit trạng thái (Dirty bit hay Update bit) của khối cache sẽ được thiết lập. Với
cách ghi này, các thiết bị ngoại vi liên hệ đến bộ nhớ trong thông qua cache. Cách làm này
tăng tốc độ của hệ thống lên rất nhiều tuy nhiên việc đồng nhất dữ liệu giữa cache và bộ
nhớ trong chỉ được đảm bảo vào thời gian thay thế khối.
Câu 5: Tiêu chí nào để phân chia máy tính thành các thế hệ? Đó là những thế hệ nào? Những
máy tính ngày nay chúng ta đang sử dụng thuộc thế hệ nào?
Những thế hệ
-

Máy tính dùng đèn điện tử: thế hệ 1(1946-1957)
o về kỹ thuật: linh kiện dùng đèn điện tử, độ tin cậy thấp, tổn hao năng lượng. Tốc
độ tính tốn từ vài nghìn đến vài trăm nghìn phép tính / giây.
o về phần mềm: chủ yếu dùng ngơn ngữ máy để lập trình.
o về ứng dụng: mđ nghiên cứu khoa học kĩ thuật.

-

Máy tính dùng transistor: thế hệ 2(1958-1964)
o kỹ thuật: linh kiện bán dẫn chủ yếu llaftransistor. Bộ nhớ có dung lượng khá lớn.
o phần mềm: đã bắt đầu sd 1 số ngơn ngữ lập trình bậc cao: fortran, algol. Cobol...
o ứng dụng: tham gia giải các bài toán kinh tế xã hội..

-

Máy tính dùng vi mạch: thế hệ 3(1965-1971)
o kỹ thuật: linh kiện chủ yếu sử dụng các mạch tích hợp(IC), các thiết bị ngoại vi
được cải tiến, đĩa từ được sd rộng rãi. Tốc độ tính tốn đạt vài triệu phép toán trên
giây, dung lượng bộ nhớ đạt vài MB.
o phần mềm: xuất hiện nhiều hệ điều hành khác nhau. Xử lí song song. Phần mềm đa
dạng chất lượng cao, cho phép khai thác máy tính theo nhiều chế độ khác nhau.

o ứng dụng: tham gia trong nhiều lĩnh vực của xã hội.

-

-

-

Máy tính dùng vi mạch mật độ cao: Thế hệ thứ 4( 1972-về sau):
o Kỹ thuật: sd mạch tích hợp cỡ lớn VLSI, thiết kế các cấu trúc đa xử lí. Tốc độ đạt
tới hàng chục triệu phép toán trên giây.
o ứng dụng:đc áp dụng trong hầu hết các hoat động của xã hội
Thế hệ thứ 5
o máy tính đa xử lí, đa máy tính, sử dụng kĩ thuật xử lý song song.
Những máy tính chúng ta đang sd thuộc thế hệ thứ 4.


Câu 6: Các loại bus hệ thống trong máy tính? Chức năng của từng loại? Độ rộng
của bus dữ liệu là 16 bit thì cho biết điều gì?
Các loại bus trong hệ thống máy tính và chức năng:
-

-

-

Bus dữ liệu: cung cấp đường dẫn để truyền dữ liệu giữa các module hệ thống. Các
đường này gọi là bus dữ liệu. Bus dữ liệu có thể là 32,64, 128, thậm chí nhiều đường
riêng biệt, số lượng các đường này gọi là độ rộng của bus dữ liệu. Vì mỗi đường chỉ có
thể truyền tải 1 tín hiệu tại 1 thời điểm, số lượng các đường cho biết bao nhiêu bit có

thể truyền cùng 1 lúc.
Bus địa chỉ: được sd để xác minh nguồn hoặc đích của dữ liệu trên bus dữ liệu. Độ rộng
của bus địa chỉ xác định khả năng xác định bộ nhớ lớn nhất của hệ thống.
Bus điều khiển: điều khiển truy cập đến và sử dụng các đường dữ liệu và địa chỉ. Các
tín hiệu điều khiển truyền cả lệnh và thông tin thời gian giữa các module hệ thống. Các
tín hiệu thời gian xác định tính hợp lệ của dữ liệu và thông tin địa chỉ. Các tín hiệu lệnh
xác định các phép tốn được thực hiện.
Thông thường các đường dữ liệu bao gồm:
+ Ghi bộ nhớ: dữ liệu đưa ra trên bus được ghi vào vị trí đã được địa chỉ hóa.
+ Đọc bộ nhớ: dữ liệu đưa ra từ vị trí được địa chỉ hóa được thay thế trên bus.
+ Ghi thiết bị vào ra: dữ liệu đưa ra trên bus đc đẩy ra địa chỉ cổng vào ra.
+ Đọc thiết bị vào ra: dữ liệu đưa ra từ địa chỉ cổng vào ra được thay thế trên bus.
+ Chấp nhận truyền: xác định dữ liệu đó đc chấp nhận từ bus hoặc đc thay thế trên bus.
+ Yêu cầu bus: xác định 1 module cần phải chiếm quyền điều khiển của bus đó.
+ Cấp quyền bus: xác định 1 module đang yêu cầu đc cấp quyền điều khiển của bus.
+ Yêu cầu ngắt: xác 1 ngắt đang chờ.
+ Chấp nhận ngắt: chấp nhận ngắt đang chờ đã đc nhận dạng.
+ Đồng hồ: đc sd để đồng bộ các hoạt động.
+ Reset: khởi động lại tất cả các module.
Ngồi ra cịn có phân loại bus theo đường truyền thì bao gồm bus đồng bộ và bus ko
đồng bộ.

Độ rộng của bits dl là 16 bít cho biết có 16bits có thể đường truyền cùng một lúc.
Câu 7: Trình bày nguyên tắc chuyển đổi số ở hệ thập phân sang nhị phân, thập lục phân và
ngược lại, cho VD?
Thập phân -> Nhị phân


Lấy số cần đổi chia cho 2. Lấy kết quả chia tiếp cho 2 đến khi kết quả = 0. Lấy dư là 0 và 1. Lấy
các con số dư ghi lại từ dưới lên trên ta được dãy số 0 và 1.


Nhị phân -> Thập phân
Nhân lần lượt các phần tử của dãy nhị phân bắt đầu từ phần tử cuối (Chiều phải sang trái) với 20
cho đến 2n-1 (n là số phẩn tử dãy số). Sau đó cộng các giá trị tìm được từ phép nhân ta được kết
quả là một số dạng thập phân

Thập phân -> Thập lục phân
Lấy số cần đổi chia cho 16, kết quả lại đem chia cho 16 đến khi kết quả bằng 0. Giá trị lấy dư
không quá 15. Các số từ 10 đến 15 biểu diễn các chữ cái tương ứng: A đến F.

Thập lục phân -> Thập phân


Làm tương tự với việc chuyển Nhị phân sang thập phân nhưng phải đổi các giá trị biểu diễn từ A
đến F thành các số tương ứng từ 10 đến 15. Sau đó nhân các số này bắt đầu từ số cuối cùng với
160 với 16n-1 theo chiều phải sang trái. Sau khi nhân được kết quả là một số dạng thập phân

Câu 8: Trình bày tổ chức của ổ đĩa cứng? Dung lượng của ổ đĩa cứng phụ thuộc
vào yếu tố nào? Ứng dụng tính dung lượng của ổ đĩa cứng nếu biết Số byte
trên sector là 512, số sector trên rãnh trung bình là 300, số rãnh trên một
mặt là 20,000, số mặt trên một đĩa là 2, số đĩa trên ổ đĩa là 15?
Tổ chức
-

Ổ đĩa cứng: chứa nhiều lớp đĩa. Quay quanh truc khoảng 3.600-15000 vòng 1 phút.

-

Các lớp đĩa này đc làm từ kim loại và đc phủ 1 chất từ tính, đường kính của đĩa thay đổi từ
1,3 – 8 inch. Mỗi mặt của đĩa chia làm nhiều đường tròn đồng trục gọi là rãnh.


-

Thông thường mỗi mặt của 1 lớp đĩa chứa khoảng 10000-30000 rãnh.

-

Mỗi rãnh chia làm nhiều cung (sector ) dùng để chứa thơng tin. Mỗi rãnh có thế chứa từ
64-800 cung.

-

Cung là đơn vị nhỏ nhất mà máy tính có thể đọc hoặc viết. Chuỗi thông tin ghi trên mỗi
cung gồm có: số thứ tự của cung, một khoảng trống, số liệu của cung đó bao gồm cả các
mã sửa lỗi, một khoảng trống, số thứ tự của cung tiếp theo.

Tóm tắt:
512byte/1sector
300sector/rãnh
20000ranh/1mat -> 40000/2mat
Có 15 đĩa
Bài làm: +Số rãnh trên 15 đĩa: 15*40000
+ Số sector trên 15 đĩa: 15*40000*300


+ Số byte dữ liệu trên 15 đĩa 15*40000*300*512 = 9216.10^6 byte = 9216MB
(hình như là 92160MB)
Câu 9: Hãy cho biết các phương pháp vào ra với máy vi tính?
Các phương pháp ĐỊA CHỈ HÓA CỔNG VÀO – RA
Vào ra riêng biệt

-

Cổng vào-ra được đánh địa chỉ theo không gian địa chỉ vào-ra
CPU trao đổi dữ liệu với cổng vào-ra thơng qua các lệnh vào-ra chun dụng (IN, OUT)
Chỉ có thể thực hiện trên các hệ thống có quản lý không gian địa chỉ vào-ra riêng biệt

Vào ra theo ánh xạ bộ nhớ
-

Cổng vào-ra được đánh địa chỉ theo không gian địa chỉ bộ nhớ
Vào-ra giống như đọc/ghi bộ nhớ
CPU trao đổi dữ liệu với cổng vào-ra thông qua các lệnh truy nhập dữ liệu bộ nhớ
Có thể thực hiện trên mọi hệ thống

Các phương pháp ĐIỀU KHIỂN VÀO - RA
Vào ra theo định trình
-

Nguyên tắc chung: CPU điều khiển trực tiếp vào-ra bằng chương trình → cần phải lập trình
vào-ra

Vào ra theo ngắt cứng
-

CPU khơng phải đợi trạng thái sẵn sàng của mơ-đun vào-ra, CPU thực hiện một chương
trình nào đó
Khi mơ-đun vào-ra sẵn sàng thì nó phát tín hiệu ngắt CPU
CPU trở lại tiếp tục thực hiện chương trình đang bị ngắt

Vào ra bằng DMA

- Vào-ra bằng chương trình và bằng ngắt do CPU trực tiếp điều khiển
- Chiếm thời gian của CPU
- Tốc độ truyền bị hạn chế vì phải chuyển qua CPU
- Để khắc phục dùng DMA
- Thêm mô-đun phần cứng trên bus → DMAC (Controller)
- DMAC điều khiển trao đổi dữ liệu giữa môđun vào-ra với bộ nhớ chính
Câu 10: Các loại thanh ghi trong CPU? Chức năng của chúng?


-

-

-

Thanh ghi đoạn: gồm 4 thanh ghi 16 bit: CS, DS ,ES, SS. Đây là nhữn thanh ghi dùng để
chứa địa chỉ của các ô nhớ khi cần truy xuất. Mỗi thanh ghi quản lý tối đa 64K ô nhớ trong
bộ nhớ trong. Người sử dụng chỉ được phép truy xiaats ô nhớ dựa vào địa chỉ tương đối.
CPU(cụ thể là BIU) có nhiệm vụ chuyển đổi địa chỉ tương đối thành địa chỉ tuyệt đối để
truy xuất vào ô nhớ tuyệt đối tương ứng trong bộ nhớ.
+ CS: Thanh ghi đoạn mã lệnh, lưu địa chỉ đoạn chứa mã lệnh chương trình của người sử
dụng.
+ DS: Thanh ghi đoạn dữ liệu, lưu địa chỉ đoạn chứa dữ liệu (các biến) trong chương trình.
+ ES: Thanh ghi đoạn dữ liệu thêm, lưu địa chỉ đoạn chứa dữ liệu thêm trong chương trình.
+ SS: Thanh ghi đoạn ngăn xếp, lưu địa chỉ đoạn của vùng ngăn xếp.
Thanh ghi đa dụng : bao gồm bốn thanh ghi 16 bit (AX, BX, CX, DX). Mỗi thanh ghi đa
dụng có thể được sử dụng với nhiều mục đích khác nhau, tuy nhiên từng thanh ghi có cơng
dụng riêng của nó.
+ AX : Là thanh ghi tích lũy cơ bản. Mọi tác vụ vào/ra đều dùng thanh ghi này, tác vụ
dùng số liệu tức thời, một số tác vụ chuỗi ký tự và các lệnh tính tốn đều dùng thanh AX.

+ BX: Thanh ghi nền dùng để tính tốn địa chỉ ơ nhớ.
+ CX: Là thanh ghi đếm, thường dùng để đếm số lần trong một lệnh vòng lặp hoặc lệnh
xử lý chuổi ký tự.
+ DX: Thanh ghi dữ liệu, thường chứa địa chỉ của một số lệnh vào/ra, lệnh tính tốn số
học (kể cả lệnh nhân và chia).
Thanh ghi con trỏ và chỉ số: chức năng chúng là chứa địa chỉ độ dời của ô nhớ trong
vùng dữ liệu ngăn xếp.
+SI: Thanh ghi chỉ số nguồn.
+DI: Thanh ghi chỉ số đích.
+BP: Thanh ghi con trỏ nền dùng để lấy số liệu từ ngăn xếp.
+SP: Thanh ghi con trỏ ngăn xếp luôn chỉ vào đỉnh ngăn xếp.

-

Thanh ghi Đếm chương trình và thanh ghi trạng thái (Cờ):
* Thanh ghi con trỏ lệnh IP (còn gọi là PC – đếm chương trình) là thanh ghi 16 bit chứa
địa chỉ của lệnh kế tiếp mà CPU sẽ thực hiện trong. Các lệnh của chương trình có địa chỉ
đoạn trong CS.
* Thanh ghi Cờ (F) dài 16 bit, mỗi bit là một cờ. Mỗi cờ có giá trị 1 (gọi là SET –Đặt)
hoặc 0 (gọi là CLEAR – Xóa). Hình 1.2 mơ tả 9 bit trong số 16 bit tương ứng với 9 cờ
trạng thái (các bit còn lại dùng cho dự trữ mở rộng khi thiết kế các CPU khác).
+ Thanh ghi cờ được chia thành hai nhóm:
* Nhóm cờ điều khiển (bảng 1.1) bao gồm các cờ dùng để điều khiển sự hoạt động của
CPU và giá trị của cờ được thiết lập bằng các lệnh phần mềm.


* Nhóm cờ trạng thái (bảng 1.2) bao gồm các cờ phản ánh kết quả thực hiện lệnh cũng
như trạng thái của CPU.
Câu 11: Trình bày nguyên tắc chuyển đổi số ở hệ nhị phân sang số ở hệ bát phân, thập lục
phân và ngược lại, cho VD?

Chuyển từ Octal sang Nhị phân và ngược lại dựa theo bảng sau:
Nhị phân
000

Octal
0

001

1

010

2

011

3

100

4

101

5

110

6


111

7

Nhị phân->Octal
Nhóm thành từng nhóm 3 số:
Với phần nguyên: chiều từ phải sang trái, thiếu thì them 0 vào bên trái
Với phần thập phân: chiều từ trái sang phải, thiếu thì them 0 vào bên phải
Thay mỗi nhóm này bằng một số Octal tương ứng
VD : 1011012 = 558
Octal->Nhị phân
Thay mỗi số Octal thành từng nhóm 3 số nhị phân
VD: 2558 = 010 101 1012
Chuyển từ Hexa sang Nhị phân và ngược lại dựa theo bảng sau:


Hexa->Nhị phân
Thay mỗi số Hexa thành từng nhóm 4 số nhị phân:

Nhị phân->Hexa
Với phần nguyên: nếu thiếu thì thêm 0 vào bên trái cho đủ nhóm 4 số (chiều từ phải sang trái)
Với phần thập phân: nếu thiếu thì thêm 0 vào bên trai nhom cuoi cho đủ nhóm 4 số (chiều từ trái
sang phải)

Câu 12: Trình bày các phương pháp ánh xạ địa chỉ trong Cache?
Có 3 kĩ thuật ánh xạ :
- Ánh xạ trực tiếp : ánh xạ mỗi khối nhớ của bộ nhớ chính vào 1 đường cache có thể .
+block 0->line 0
+block 1->line 1

+block C->line 0
+block i-> line (I mod C)
Giả sử cache có 2n2 ngăn nhớ , địa chỉ do cpu phát ra là n bit .
Tag

n2

n1

n1 xác định số byte trong khối 2n1->byte .


n-n1 bit còn lại :xác định khối nằm trong bộ nhớ chính .
n2 bit tiêp theo xác định đường trong cache
Còn lại là trường tag
Mỗi 1 block dc ghi vào cache thì cần 1 chỗ để ghi tag (biêt dc đường nào nằm trong cache ) .
Bộ so sánh : thông dịch địa chỉ và so sánh nối vào .
Nhược điểm là có 1 vị trí cố định của cache cho bất cứ khối đã cho nào .hơn nữa nếu xảy
ra chương trình muốn tham vấn lại từ nhớ từ 2 khối khác nhau dc ánh xạ vào cùng 1 đường ,,khi
đó các khối tiếp tục dc trao đổi trong cache , và tỉ lệ thành công sẽ giảm xuống .
- Ánh xạ liên kết hoàn toàn : phương pháp này sẽ khắc phục nhược điểm trên bằng cách cho
phép mỗi khối bộ nhớ chính dc nạp vào trong bất kì đường nào của cache ,trong trường hợp này
n bit chia ra làm 2 trường : tag & word . khi cpu phát ra địa chỉ thì nó so sánh vs tất cả các tag dc
ghi trong cache , nếu có 1 tag nào trong cache trùng vs tag địa chỉ thì hit in cache
Tag

Word

- Ánh xạ liên kết tập hợp: chia cache thành các tập hợp , mỗi tập hợp có m đường ánh xạ :
+block 0-> set 0

+……
+block i-> set (i mod S)
Địa chỉ :
Tag

Set

n1

Ví dụ : Cho bộ nhớ chính 4 GB, kích thước cache 16 kB, kích thước khối 32 byte. Xác định địa
chỉ do CPU phát ra theo 3 phương pháp ánh xạ
Bộ nhớ chính có dung lượng 4GB = 232 B-> Số bit địa chỉ do CPU phát ra là n=32
1 khối (block) có kích thước là 32B=25B-> n1=5
* Xét trong trường hợp ánh xạ trực tiếp
=>Số đường trong cache:


16kb
214
= 5 = 29 ->n2=9 bit
32byte 2
=>Tag=32 – 9 – 5=18 bit
Với liên kết hoàn toàn Tag = 32 – 5 = 27 bit
* Với liên kết tập hợp (2 đường)
Số đường trong cache:

n2=

n2=


16kb
214
= 5
= 28 ->n2=8 bit
32byte  2line 2  2

=> Tag = 32 – 8 – 5 = 19 bit

Câu 13: Khái niệm bộ nhớ trong của máy tính? Các loại bộ nhớ chính? Đặc trưng
của bộ nhớ trong của máy tính? Cách giảm thiểu số chân của chíp nhớ?
-K/n & phân loại: bộ nhớ trong của máy tính là bộ nhớ cung cấp nơi để lưu trữ chính trong máy
tính. Có 2 loại bộ nhớ chính là RAM(random access memory) & ROM(read only memory):
- RAM là bộ nhớ bán dẫn truy cập ngẫu nhiên .
+ Đặc điểm : có thể ghi or đọc dl,khi máy tính tắt thong tin trong RAM sẽ bị mất (bộ nhớ
khả biến ). Dùng để lưu trữ thông tin tạm thời .
+RAM dc chia thành RAM tĩnh (SRAM) & RAM động (DRAM) .
- ROM là bộ nhớ bán dẫn chỉ dung để đọc . bởi lẽ những chương trình và dữ liệu dc cất trong
ROM từ lúc đầu ,nên thong tin dc lưu trữ trong bộ nhớ ROM không bị mất khi tắt nguồn điện
nuôi cho mạch (bộ nhớ k khả biến ). Thường dùng để lưu trữ thông tin cố định đối với hệ thống
như : vi chương trình ,các chg trình cont hư viện cho các hàm thg xuyên dc sử dụng , các chương
trình hệ thống .
+ ROM dc chia thành : ROM khơng lập trình dc (mask ROM) & ROM lập trình dc
(PROM –EPROM-EEPROM).
-

Đặc trưng của bộ nhớ trong máy tính:


o Chứa các thơng tin mà CPU có thể trao đổi trực tiếp
o Tốc độ rất nhanh

o Dung lượng không lớn
o Sử dụng bộ nhớ bán dẫn: ROM và RAM
Câu 14: Trình bày cách quản lý trang trong bộ nhớ và phương pháp biên dịch địa
chỉ tuyến tính sang địa chỉ vật lý?
Cơ chế phân trang cho phép không gian địa chỉ vật lý (physical address
space) của một process có thể không liên tục nhau.
Bộ nhớ vật lý được chia thành các khối cố định và có kích thước bằng
nhau gọi là frame.
- Thơng thường kích thước của frame là lũy thừa của 2, từ khoảng 512 byte
đến 16MB.
Bộ nhớ luận lý (logical memory) hay không gian địa chỉ luận lý là tập mọi
địa chỉ luận lý mà một chương trình bất kỳ có thể sinh ra.
Bộ nhớ luận lý cũng được chia thành các khối cố định có cùng kích thước
gọi là trang nhớ (page).
Frame và trang nhớ có kích thước bằng nhau.
Hệ điều hành phải thiết lập một bảng phân trang (page table) để ánh xạ
địa chỉ luận lý thành địa chỉ vật lý:
- Mỗi process có một bảng phân trang, được quản lý bằng một con trỏ lưu
giữ trong PCB. Công việc thiết lập bảng phân trang cho process là một
phần của chuyển ngữ cảnh.
Cơ chế phân trang khiến bộ nhớ bị phân mảnh nội, tuy nhiên lại khắc
phục được phân mảnh ngoại.

Mơ hình quản lý bộ nhớ theo cơ chế phân trang


Câu 15: Hãy trình bày phương pháp biểu diễn số ngun? Cho ví dụ minh họa?
Biểu diễn số ngun khơng dấu
Nguyên tắc tổng quát: Dùng n bit biểu diễn số nguyên không dấu A :
an-1an-2...a2a1a0


A =  i =0 ai 2i
n −1

Gía trị của a được tính như sau:
Dải biểu diễn của A : từ 0 cho đến 2n-1.
VD: Biểu diễn số nguyên không dấu sau đấy bằng 8 bit. A = 41 ; B = 50
A = 41 = 32 + 8 +1 = 25 + 23 + 20 => 41 = 0010 1001
B = 150 = 128 + 16 + 4 = 27 + 24 + 22 + 21 = 0100 1011 => 150 = 1001 0110.
Biểu diễn số nguyên có dấu
Cách biểu diễn bằng trị tuyệt đối và dấu
Trong cách này, bit dn-1 là bit dấu và các bit từ d0 tới dn-2 cho giá trị tuyệt
đối. Một từ n bit tương ứng với số nguyên thập phân có dấu.

N = ( −1) dn −1  i =0 d i 2i
n −2

Ví dụ: +2510 = 000110012
-2510 = 100110012
Cách biểu diễn hằng số bù 2
Để có số bù 2 của một số nào đó, người ta lấy số bù 1 rồi cộng thêm 1.
Vậy một từ n bit (dn-1 ....... d0) có trị thập phân

N = −d n −1 2n −1 +  i =0 d i 2i
n −2

Ví dụ: Biểu diễn các số ngun có dấu bằng 8 bit bằng mã bù 2
A = +58 ; B = -80
Giải:
A = +58 = 0011 1010

B = -80
Có: +80 = 0101 0000


Số bù một = 1010 1111
+1
Số bù hai = 1011 0000
=> B = -80 = 1011 0000
Cách biểu diễn bằng hằng số thừa K
Số dương +N có được bằng cách “cộng thêm vào” số thừa K (Số thừa K được chọn sao cho tổng
K và một số âm bất kỳ ln ln dương)
Số âm –N có được bằng cách lấy K-N (lấy bù hai của số +N ở trên)
Ví dụ: Số thừa K=128
+25 = 10000000+00011001= 10011001
-25 = 01100111 (mã bù 2)
Câu 16: Trình bày mục đích của bộ nhớ ảo? Ánh xạ địa chỉ trong bộ nhớ ảo?
-

-

Mục đích quan trọng nhất của bộ nhớ ảo là đảm nhiệm giùm các ứng dụng quản lý vùng
bộ nhớ được chia sẻ, tăng độ an toàn cho các vùng nhớ và giúp chương trình sử dụng nhiều
bộ nhớ nhiều hơn bộ nhớ vật lý mà phần cứng máy tính có, dựa trên kĩ thuật phân trang.
Các kỹ thuật ánh xạ trong bộ nhớ ảo
• Kỹ thuật phân trang: Chia khơng gian địa chỉ bộnhớ thành các trangnhớcó kích thước
bằng nhau và nằm liền kề nhau.
Thơng dụng: kích thước trang = 4KBytes
• Kỹ thuật phân đoạn: Chia không gian nhớ thành các đoạn nhớ có kích thước thay đổi,
các đoạn nhớ có thể gối lên nhau.


Câu 17: Các loại bộ nhớ ROM trong máy tính ? Đặc trưng từng loại
-

-

-

-

PROM(Programmable Read-Only Memory): Được chế tạo bằng các mối nối (cầu chì –
có thể làm đứt bằng mạch điện). Nó thuộc dạng WORM(Write Once Read Many). Chương
trình nằm trong PROM có thể được lập trình bằng các thiết bị đặc biệt. Loại ROM này chỉ
có thể được lập trình một lần.
EPROM(Erasable Programmable Read-Only Memory): được chế tạo bằng nguyên tắc
phân cực tĩnh điện. Loại ROM này có thể bị xóa bằng tia cực tím và ghi lại thông qua thiết
bị ghi EPROM.
EAROM(Electrically Alterable Read-Only Memory ): Loại ROM này thay đổi từng bit
một lần. Tuy nhiên trong quá trình viết khá chậm và sử dụng điện thế không chuẩn. Việc
viết lại EAROM không được thực hiện thương xuyên.
EEPROM(Electrically Erasable Programmable Read-Only Memory): Được chế tạo
bằng công nghệ bán dẫn. Nội dung của ROM này có thể viết vào và xóa bằng điện.


Câu 18: Vẽ sơ đồ thuật toán nhân nhanh booth? Áp dụng tính 7 x 9?

Ta có M = 7 = 22 + 21 + 20= 01112
Q= 9 = 23 + 20= 10012 (Q-1 chính là bit cuối của Q)
Khởi tạo A = C = 0
C


A

Q

Thực hiện

0

0000

1001

Q-1=1, count =4

0

0111

1001

A=A+M

0

0011

1100

Shift R, count =3, Q-1=0


0

0001

1110

Shift R, count =2, Q-1=0

0

0000

1111

Shift R, count =1, Q-1=1

0

0111

1111

A=A+M


0

0011

1111


Shift R, count =0, End

Vậy 7×9 = 001111112
Câu 19: Phương pháp biểu diễn số thực, cho ví dụ?
Hai cách biểu diễn số thực trong một hệ nhị phân:
Dấu chấm cố định (fixed point number)
Dấu chấm động (floating point number hay được dùng hiện nay có độ chính xác cao)
Cách biểu diễn chung cho mọi hệ đếm:
R = M.BE
Trong đó:
M = 1+m
Trong đó M là phần định trị
Số E là phần mũ
B là cơ số của hệ đếm
VD: Biểu diễn -2345,125 dưới dạng dấu chấm động chuẩn IEEE 32bit
B1: Chuyển đổi số trên ra hệ hai
-2345,125 = -1001 0010 1001.001 (dãy số nhị phân được biểu diễn bình thường)
B2: Chuẩn hố theo IEEE 32bit
-1001 0010 1001.001
=> -1.001 0010 1001 001 x 2^11
(tức là lùi dấu chấm ra trước kế bên số đầu tiên, bao nhiêu số thì mũ mấy)
B3: Xác định các thông số biểu diễn S,E,M
S: phần định trị là số âm, nên s là 1
E : phần mũ được xác định E = 11+127=138=10001010
M: phần định trị được xác định là 001 0010 1001 0010 0000 0000 (23 số)
(tức là M = dãy số sau dấu chấm sau khi chuẩn hóa, cịn lại ghi số 0 cho đủ 23 số)
Dãy số là:
SE
M

1 10001010 00100101001001000000000


Câu 20: Trình bày khái qt thuật tốn thay thế và chính sách ghi trong Cache.
*Có 4 chiến thuật chủ yếu dùng để chọn khối thay thế trong cache:
+ Thay thế ngẫu nhiên (RS: random selection): để phân bố đồng đều việc thay thế, các
khối cần thay thế trong cache được chọn ngẫu nhiên.
+ Khối xưa nhất (LRU): các khối đã được thâm nhập sẽ được đánh dấu và khối bị thay
thế là khối không được dùng từ lâu nhất.
+ Vào trước ra trước (FIFO) khối được đưa vào cache đầu tiên ,nếu bị thay thế khối đó sẽ
được thay thế trước nhất.
+ Tần số sử dụng ít nhất (LFU): khối trong cache được tham chiếu đến ít nhất . Nếu các
khối mới được dùng, có khả năng sẽ được dùng trong tương lai gần, khối thay thế là khối
không dùng trong thời gian lâu nhất
*Chính sách ghi trong cache: Có 2 loại chính sách là:
-

Viết qua (Write-Through):
+Thơng tin được ghi đồng thời vào khối của cache và khối của bộ nhớ trong.
+Cách ghi này làm chậm tốc độ chung của hệ thống.
+Các thiết bị ngoại vi có thể truy cập bộ nhớ trực tiếp.

-

Viết lại (Write-back) :
+Thông tin cần ghi chỉ được ghi vào khối trong cache.
+Việc ghi vào bộ nhớ trong sẽ bị hoãn lại cho đến khi cần có thay thế khối. Để quản lý sự
khác biệt nội dung giữa khối của cache và khối của bộ nhớ trong, 1 bit trạng thái được
dùng để chỉ thị.Khi 1 trạng thái ghi vào cache, bit trạng thái được thiết lập.
+Các thiết bị ngoại vi liên hệ đến bộ nhớ trong thông qua cache.

+Tăng tốc độ của hệ thống lên rất nhiều nhưng việc đồng nhất dữ liệu giữa cache và bộ
nhớ trong chỉ được đảm bảo vào thời gian thay thế khối

Câu 21: Các loại bộ nhớ trong của máy tính? Đặc trưng của từng loại? Ngày nay khi mua
máy tính người ta thường quan tâm đến bộ nhớ trong nào và có những tham số gì đáng
quan tâm nhất?
-

Bộ nhớ trong: nơi để lưu trữ chính trong máy tính
o Bộ nhớ cache (bộ nhớ đệm)




Bộ nhớ có tốc độ nhanh được đặt đệm giữa CPU và bộ nhớ chính nhằm
tăng tốc độ CPU truy cập bộ nhớ



Dung lượng nhỏ hơn bộ nhớ chính



Tốc độ nhanh hơn



Cache thường được chia thành một số mức




Cache có thể được tích hợp trên chip vi xử lý.



Cache có thể có hoặc khơng

o Bộ nhớ chính


Chứa các chương trình và dữ liệu đang được CPU sử dụng.



Tổ chức thành các ngăn nhớ được đánh địa chỉ.



Ngăn nhớ thường được tổ chức theo byte.



Nội dung của ngăn nhớ có thể thay đổi, song địa chỉ vật lý của ngăn nhớ
luôn cố định.



Gồm: 2 loại bộ nhớ chính là RAM(random access memory) & ROM(read
only memory):
+Bộ nhớ RAM (Random access memory) hay bộ nhớ truy cập ngẫu nhiên:


Tốc độ truy cập nhanh, lưu trữ dữ liệu tạm thời, dữ liệu sẽ bị mất đi khi bị cắt
nguồn điện;
+Bộ nhớ ROM (Read Only Memory) hay bộ nhớ chỉ đọc: Lưu trữ các
chương trình mà khi mất nguồn điện cung cấp sẽ không bị (xóa) mất.Thường
dùng để lưu trữ thơng tin cố định đối với hệ thống. Ngày nay cịn có cơng nghệ
FlashROM tức bộ nhớ ROM khơng những chỉ đọc mà cịn có thể ghi lại được,
nhờ có cơng nghệ này BIOS được cải tiến thành FlashBIOS.
-> ROM dc chia thành: ROM không lập trình dc (mask ROM) & ROM lập trình
dc (PROM –EPROM-EEPROM).
-

Ngày nay khi mua máy tính người ta thường quan tâm đến bộ nhớ: RAM, cache

Ví dụ thơng số cơ bản của 1 máy tính: Bộ vi xử lý (CPU): Core i5-3317U (1,7 GHz, 3MB
smart cache). Cho ta biết Ram, Tốc độ xung nhịp, CPU,cache


Câu 22: Trình bày hiệu quả lệnh sử dụng đường ống(pipeline) trong kiến trúc Risc với
đường ống 2 gian đoạn, 3 giai đoạn 4 giai đoạn so với thực thi tuần tự
-

Kỹ thuật sử dụng đường ống pipeline là một kỹ thuật làm cho các giai đoạn khác nhau
của nhiều lệnh được thi hành cùng một lúc.

-

Giả sử, mỗi lệnh được thực hiện trong 5 giai đoạn và mỗi giai đoạn được thực hiện trong
1 chu kỳ xung nhịp. Các giai đoạn thực hiện một lệnh là: lấy lệnh (IF: Instruction Fetch),
giải mã (ID: Instruction Decode), thi hành (EX: Execute), thâm nhập bộ nhớ (MEM:

Memory Access), lưu trữ kết quả (RS: Result Storing).

So sánh với kiểu xử lý tuần tự thông thường, 5 lệnh được thực hiện trong 25 chu kỳ xung nhịp, thì
xử lý lệnh theo kỹ thuật ống dẫn thực hiện 5 lậnh chỉ trong 9 chu kỳ xung nhịp.
Như vậy kỹ thuật ống dẫn làm tăng tốc độ thực hiện các lệnh. Tuy nhiên kỹ thuật ống dẫn có một
số ràng buộc:
-

Cần phải có một mạch điện để thi hành mỗi giai đoạn của lệnh vì tất cả các giai đoạn của
lệnh được thi hành cùng lúc. Trong một bộ xử lý không dùng kỹ thuật ống dẫn, ta có thể
dùng bộ làm tốn ALU để cập nhật thanh ghi PC, cập nhật địa chỉ của toán hạng bộ nhớ,
địa chỉ ơ nhớ mà chương trình cần nhảy tới, làm các phép tính trên các tốn hạng vì các
phép tính này có thể xảy ra ở nhiều giai đoạn khác nhau.

-

Phải có nhiều thanh ghi khác nhau dùng cho các tác vụ đọc và viết. Trên hình III.4, tại
một chu kỳ xung nhịp, ta thấy cùng một lúc có 2 tác vụ đọc (ID, MEM) và 1 tác vụ viết
(RS).


Câu 23: Trình bày quá trình đọc / ghi bộ nhớ trong máy tính
-

Bộ nhớ của máy tính được tổ hợp từ các vi mạch nhớ và có dung lượng được tính bằng
đơn vị Byte, trong khi đó dung lượng của vi mạch nhớ được tính bằng đơn vị bit.

-

Bộ nhớ của máy tính được kết nối với CPU thơng qua hệ thống BUS gồm các tín hiệu

sau:

-

Số lượng các tín hiệu địa chỉ có trên bộ nhớ của máy tính biểu diễn dung lượng bộ nhớ
máy tính (Nếu bộ nhớ máy tính có k bits địa chỉ thì dung lượng bộ nhớ sẽ là 2k ô nhớ)
mỗi ô nhớ trong bộ nhớ máy tính có chiều dài là 1, 2, 4, 8 hoặc 16 Byte số liệu. Khi đó
dung lượng bộ nhớ máy tính sẽ là 2k * 1 (2,4,8,16) Byte.

-

Số lượng các tín hiệu địa chỉ có trên vi mạch nhớ biểu diễn dung lượng của vi mạch nhớ
(Nếu vi mạch nhớ n bits địa chỉ thì dung lượng của vi mạch nhớ sẽ là 2n ô nhớ) mỗi ơ nhớ
của vi mạch nhớ có chiều dài là 1, 2, 4, 8 bits số tín hiệu ghi/đọc Cho phép mở thiết bị
Các tín hiệu số liệu Bộ nhớ/ Vi mạch nhớ Các tín hiệu địa chỉ liệu. Khi đó người ta nói
dung lượng của vi mạch nhớ sẽ được xác định là 2n * 1(2,4,8) bit.

-

Tổ hợp nhiều vi mạch nhớ sẽ tạo nên bộ nhớ máy tính, tùy theo số chân số liệu của vi
mạch nhớ, người ta sẽ phải lắp song song các vi mạch nhớ với nhau để đảm bảo mỗi lần
CPU truy cập bộ nhớ thì 1, 2, 4, 8 hay 16 Byte số liệu sẽ được ghi hoặc đọc.

-

Khi thực hiện truy cập bộ nhớ, tại 1 thời điểm CPU chỉ có thể đọc hay ghi 1 ô nhớ để xác
định được ô nhớ sẽ thực hiện trao đổi số liệu với CPU người ta phải thực hiện giải mã bộ
nhớ. Trước tiên là mạch giải mã bộ nhớ để xác định xem vi mạch nhớ nào chưa ô nhớ sẽ
trao đổi số liệu với CPU và sau đó là giải mã trong nội bộ vi mạch nhớ để xác định được
ô nhớ sẽ trao đổi số liệu với CPU.



Câu 24: Trình bày các khối trong của bộ vi xử lý của máy tính (CPU)? Chức năng và nhiệm
vụ của từng khối ?

-

-

-

Khối điều khiển(CU – Control unit) : Là thành phần của CPU có nhiệm vụ thơng dịch
các lệnh của chương trình và điều khiển hoạt động xử lý, được điều tiết chính xác bởi xung
nhịp đồng hồ hệ thống.Phần này là phần cốt lõi của một bộ xử lý được cấu tạo từ các mạch
logic so sánh với các linh kiện bán dẫn như transistor tạo thành.
Khối tính tốn (ALU – Arithtmectic logic unit): Chức năng thực hiện các phép tốn số
học và logic sau đó trả lại kết quả cho các thanh ghi hoặc bộ nhớ.
Các thanh ghi(Registers): Là các bộ nhớ có dung lượng nhỏ nhưng tốc độ truy cập rất
cao, nằm ngay trong CPU, dùng để lưu trữ tạm thời các toán hạng, kết quả tính tốn, địa
chỉ các ơ nhớ hoặc thơng tin điều khiển. Mỗi thanh ghi có một chức năng cụ thể. Thanh
ghi quan trọng nhất là bộ đếm chương trình (PC - Program Counter) chỉ đến lệnh sẽ thi
hành tiếp theo.
Đơn vị ghép nối Bus(Bus Interface Unit): kết nối và trao đổi thông tin giữa Bus bên trong
(Internal Bus) và Bus bên ngoài (External Bus).

Câu 25 : Các loại bộ nhớ RAM? Đặc trưng từng loại? Ngày nay máy tính thường sử dụng
bộ nhớ RAM nào, các RAM của máy tính ghi DDR3 có ý nghĩa gì ?
SRAM – RAM tĩnh
-


Các bit được lưu trữ bằng các Flip-Flop →thông tin ổn định
Cấu trúc phức tạp
Dung lượng chip nhỏ
Tốc độ nhanh


×