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

Tài liệu kiến trúc máy tính KMA

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.69 MB, 22 trang )

Câu 1,5 điểm :
1.

Anh/Chị cho biết sơ đồ khối, chức năng của các khối trong KTMT Von Neumann ? ...............................................2

2.

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 đó.........................................................2

3. Hãy cho biết dựa vào 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? Máy tính
ngày nay thuộc thế hệ nào ? .............................................................................................................................................3
4. 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 bits thì cho biết
điều gì? ..............................................................................................................................................................................4
5.

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

6.

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

7.

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

8.

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

9. 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ì? ..................................................................................................9


10.

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

11.
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 chip nhớ ? ......................................................................................................................................... 11
12.

Các thiết bị ngoại vi thông dụng, chức năng cơ bản của chúng ?...................................................................... 12

Câu 2 điểm :
13.

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

14.

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

15.
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 1
mặt là 20.000 , số mặt trên 1 đĩa là 2 , số đĩa trên ổ đĩa là 15 ? .................................................................................... 14
16.

Trình bày khái quát thuật toán thay thế và chính sách ghi trong Cache. .......................................................... 15

17.
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?.......................................................... 15
18.

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? ..................... 16

19.

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

20.

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

21.
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 máy tính sử dụng bộ vi
xử lý song song ? ............................................................................................................................................................ 18
22.

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

23.

Quá trình đọc ghi bộ nhớ trong máy tính .......................................................................................................... 19

24.

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

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

đường ống lệnh CPU 6 giai đoạn?.................................................................................................................................. 22

[ Storm ]

1


1. Anh/Chị cho biết sơ đồ khối, chức năng của các khối trong KTMT Von Neumann ?
1. Sơ đồ khối:
CENTRAL PROCCESSING UNIT(CPU)
ARITHMETICLOGIC UNIT(CA)
I/O
MAIN

EQUIPMENT

MEMORY

(M)

PROGRAM CONTROL
UNIT(CC)

(I,O)

2. Chức năng của các khối
 Main memory (bộ nhớ chính): lưu trữ dữ liệu và các lệnh
 Arithmetic logic unit (ALU): tính toá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.


2. 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 đó
Có 3 cách phân loại máy tính:
1. Phân loại theo khả năng
- Siêu máy tính (Supercomputer)
- Máy tính lớn (Mainframe computer).
- Máy tính con (Mini computer).
- Máy vi tính (Microcomputer): máy trạm (Workstation), máy tính cá nhân PC (Personal computer).
2. 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ố.
3. 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).

[ Storm ]

2


3. Hãy cho biết dựa vào 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? Máy tính ngày nay thuộc thế hệ nào ?
1. Tiêu chí phân chia máy tính thành các thế hệ: Kỹ thuật, Phần mềm và Ứng dụng
2. Những thế hệ máy tính:
 Máy tính dùng đèn điện tử: Thế hệ 1 (1946 - 1957)
- 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
toán từ vài nghìn đến vài trăm nghìn phép tính / giây.

- Về phần mềm: chủ yếu dùng ngôn ngữ máy để lập trình.
- Về ứng dụng: mục đích nghiên cứu khoa học kĩ thuật.
 Máy tính dùng transistor: Thế hệ 2 (1958 - 1964)
- Về kỹ thuật: linh kiện bán dẫn chủ yếu là transistor. Bộ nhớ có dung lượng khá lớn.
- Về phần mềm: đã bắt đầu sử dụng 1 số ngôn ngữ lập trình bậc cao: fortran, algol. Cobol...
- Về ứ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)
- Về 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 sử dụng rộng rãi. Tốc độ tính toán đạt vài triệu phép toán trên giây,
dung lượng bộ nhớ đạt vài MB.
- Về 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.
- Về ứ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)
- Về kỹ thuật: sử dụng 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.
- Về phần mềm: sử dụng các ngôn ngữ lập trình bậc cao như C, C++, …
- Về ứng dụng: được áp dụng trong hầu hết các hoạt động của xã hội
 Máy tính ứng dụng trí thông minh nhân tạo: Thế hệ thứ 5 (Đang phát triển)
3. Máy tính chúng ta đang sử dụng thuộc thế hệ thứ 4.

[ Storm ]

3


4. 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 bits thì cho biết điều gì?
1. Các loại bus trong hệ thống máy tính và chức năng:
Có loại 2 đáp án: 1 ngắn 1 dài =))

[Ngắn] :
 Bus dữ liệu: Vận chuyển lênh từ bộ nhớ đến CPU, Vận chuyển dữ liệu giữa CPU, Modun vào-ra vs
nhau.
 Bus địa chỉ: Vận chuyển địa chỉ để xác định ngăn nhớ hay cổng vào-ra.
 Bus điều khiển: Vận chuyển các tín hiệu điều khiển.
[Dài] :






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 một
bit 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. Độ rộng của bus dữ liệu là nhân tố quan trọng trong việc xác định hiệu suất hoạt động
của hệ thống.
Bus địa chỉ: được sử dụng để 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: được sử dụng để đ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 toán được thực hiện.



Ngoài ra còn có phân loại bus theo đường truyền: bus đồng bộ và bus không đồng bộ.
2. Độ rộng của bits dl là 16 bits cho biết có 16bits có thể đường truyền cùng một lúc.


[ Storm ]

4


5. 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 chuyên 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 có thăm dò
-


(Slide thầy không có nêu)

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

[ Storm ]

5


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

Các thanh ghi điều khiển (thanh ghi CONTROL) nhận và chứa các từ điều khiển xác lập chế độ làm
việc của thiết bị.

Các thanh ghi trạng thái (thanh ghi STATUS) chứa thông tin phản ảnh trạng thái làm việc của thiết
bị giao diện và thiết bị ngoại vi.
Các thanh ghi dữ liệu (thanh ghi DATA) thực hiện chức năng bộ đệm tạm chứa dữ liệu vào/ra
1. Thanh ghi đoạn: Gồm 4 thanh ghi 16 bit: CS, DS, ES, SS. Đây là những thanh ghi dùng để
chứa địa chỉ đoạn của các ô nhớ khi cần truy xuất. Mỗi thanh ghi đoạn quản lý 1 đoạn tối đa
64K ô nhớ trong bộ nhớ trong. Người sử dụng chỉ được phép truy xuất ô 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.
CS:Code Segment
DS:Data Segment
ES:Extra data Segment
SS:Stack Segment
Thông thường bốn thanh ghi này có thể chứa những giá trị khác nhau, do đó chương trình có
thể được truy cập trên bốn đoạn khác nhau và chương trình chỉ có thể truy cập cùng 1 lúc tối
đa bốn đoạn. Mặc khác, đối với những chương trình nhỏ, chỉ sử dụng 1 đoạn duy nhất, khi đó
cả bốn thanh ghi đều chứa cùng giá trị địa chỉ đoạn, gọi là đoạn chung.
2. Thanh ghi đa dụng (General Register): Bao gồm bốn thanh ghi đa dụng 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 toán đều dùng thanh AX.
 BX: Thanh ghi nền dùng để tính toá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 toán số học
(kể cả lệnh nhân và chia).

Mỗi thanh ghi 16 bit có thể chia đôi thành 2 thanh ghi 8 bit. Do đó, CPU-8086 có 8 thanh ghi
8 bit là: AH, AL; BH, BL; CH, CL; DH, DL (thanh ghi AH và AL tương ứng với byte cao và
byte thấp của thanh ghi AX, tương tự cho các thanh ghi 8 bit còn lại).
Ví dụ: AX = 1234h => AH = 12h, AL = 34h

[ Storm ]

6


3. Thanh ghi con trỏ và chỉ số (Pointer & Index register): Chức năng chung của nhóm thanh ghi
này là chứa địa chỉ độ dời của ô nhớ trong vùng dữ liệu hay 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.
SI:Source Index Reg.
DI:Destination Index Reg.
BP:Base Pointer Reg.
SP:Stack Pointer Reg.
SI và DI chứa địa chỉ độ dời của ô nhớ tương ứng trong đoạn có địa chỉ chứa trong DS hoặc
ES (dữ liệu, còn gọi là Biến). Còn BP và SP chứa địa chỉ độ dời của ô nhớ tương ứng trong
đoạn có địa chỉ chứa trong SS, dùng để thâm nhập số liệu trong ngăn xếp.
4. Thanh ghi Đếm chương trình và thanh ghi trạng thái (Cờ):
F:Flag Register.
IP:Intrucstion Pointer Reg.
* 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: 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: 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.

[ Storm ]

7


7. Trình bày chi tiết các bước thực hiện lệnh trong máy tính
Các bước thực hiện lệnh:
 Nhận lệnh lệnh:
- CPU đưa địa chỉ của lệnh cần nhận từ bộ đếm chương trình PC ra bus địa chỉ
- CPU phát tín hiệu điều khiển đọc bộ nhớ
- Lệnh từ bộ nhớ được đặt lên bus dữ liệu và được CPU copy vào thanh ghi lệnh IR
- CPU tăng nội dung PC để trỏ sang lệnh kế
 Giải mã lệnh:
- Lệnh từ thanh ghi lệnh IR được đưa đến đơn vị điều khiển
- Đơn vị điều khiển tiến hành giải mã lệnh để xác định thao tác phải thực hiện
- Giải mã lệnh xảy ra bên trong CPU
 Nhận dữ liệu:
- CPU đưa địa chỉ của toán hạng ra bus địa chỉ
- CPU phát tín hiệu điều khiển đọc
- Toán hạng được đọc vào CPU
- Tương tự như nhận lệnh
 Thực hiện lệnh:

- Có nhiều dạng tuỳ thuộc vào lệnh:
o Đọc/Ghi bộ nhớ
o Vào/Ra
o Chuyển giữ liệu giữa các thanh ghi
o Thao tác số học/logic
o Chuyển điều khiển (rẽ nhánh)
 Ghi toán hạng:
- CPU đưa địa chỉ ra bus địa chỉ
- CPU đưa dữ liệu cần ghi ra bus dữ liệu
- CPU phát tín hiệu điều khiển ghi
- Dữ liệu trên bus dữ liệu được copy đến vị trí xác định
 Ngắt:
- Nội dung của bộ đếm chương trình PC (địa chỉ trở về sau khi ngắt) được đưa ra bus dữ liệu
- CPU đưa địa chỉ (thường được lấy từ con trỏ ngăn xếp SP) ra bus địa chỉ
- CPU phát tín hiệu điều khiển ghi bộ nhớ
- Địa chỉ trở về trên bus dữ liệu được ghi ra vị trí xác định (ở ngăn xếp)
- Địa chỉ lệnh đầu tiên của chương trình con điều khiển ngắt được nạp vào PC

8. Các loại bộ nhớ ROM của máy tính? Đặc trưng của từng loại.
 PROM (Programmble ROM):
- Khi sản xuất chưa ghi dữ liệu
- Cần thiết bị chuyên dùng để ghi bằng chương trình, chỉ ghi được một lần
 EPROM (Erasable PROM):
- Khi sản xuất chưa ghi dữ liệu
- Cần thiết bị chuyên dụng để ghi bằng chương trình, ghi được nhiều lần
- Trước khi ghi lại, phải xóa bằng tia cực tím
 EEPROM (Electrically Erasable PROM):
- Có thể ghi theo từng byte
- Xóa bằng điện
- Ghi lâu hơn đọc

 Flash memory (Bộ nhớ cực nhanh)
- Ghi theo khối
- Xóa bằng điện
[ Storm ]

8


9. 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ì?
Tùy theo công nghệ chế tạo, người ta phân biệt thành 2 loại:
SRAM (Static RAM): RAM tĩnh
RAM tĩnh được chế tạo theo công nghệ ECL (dùng trong CMOS và BiCMOS). Mỗi bit nhớ gồm có các
cổng logic với 6 transistor MOS. SRAM là bộ nhớ nhanh, việc đọc không làm hủy nội dung của ô nhớ và
thời gian thâm nhập bằng chu kỳ của bộ 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
- Đắt tiền
- Dùng làm bộ nhớ cache
DRAM (Dynamic RAM): RAM động
RAM động dùng kỹ thuật MOS. Mỗi bit nhớ gồm một transistor và một tụ điện. Việc ghi nhớ dữ liệu dựa vào
việc duy trì điện tích nạp vào tụ điện và như vậy việc đọc một bit nhớ làm nội dung bit này bị hủy. Do vậy
sau mỗi lần đọc một ô nhớ, bộ phận điều khiển bộ nhớ phải viết lại nội dung ô nhớ đó. Chu kỳ bộ nhớ cũng
theo đó mà ít nhất là gấp đôi thời gian thâm nhập ô nhớ. Việc lưu giữ thông tin trong bit nhớ chỉ là tạm thời
vì tụ điện sẽ phóng hết điện tích đã nạp và như vậy phải làm tươi bộ nhớ sau khoảng thời gian 2μs. Việc làm
tươi được thực hiện với tất cả các ô nhớ trong bộ nhớ. Công việc này được thực hiện tự động bởi một vi mạch
bộ nhớ. Bộ nhớ DRAM chậm nhưng rẻ tiền hơn SRAM.
- Các bit được lưu trữ trên tụ điện → cần phải có mạch làm tươi

- Cấu trúc đơn giản
- Dung lượng lớn
- Tốc độ chậm hơn
- Rẻ tiền hơn
- Dùng làm bộ nhớ chính
Sự lựa chọn vào thời điểm hiện tại gần như chỉ giới hạn trong loại RAM DDR bởi DDR-II và RDRAM hầu
như không phổ biến. Đa số những loại DDR đang được bán ở các cửa hàng linh kiện máy tính đều có khả
năng hoạt động trơn tru trên mọi hệ thống.
DDR3: Ra đời năm 2007, người ta bắt đầu sản xuất thế hệ ram thứ 3 của DDR (Double Data Rate) là DDR3
với tốc độ nhanh, bộ nhớ lớn hơn, tiết kiệm hơn 30% năng lượng so với thế hệ tiền nhiệm là DDR2. Đây là
loại ram phổ biến nhất hiện nay do cân bằng được giữa giá thành và tốc độ. Các thế hệ ram tiếp theo sẽ đều
có cấu trúc chân nối khác nhau, có hiệu năng và tốc độ cao hơn, vd năm 2014 ra mắt ram DDR4, 2019 ra
mắt DDR5. Vì mainboard của máy tính chỉ có thể chứa 1 loại ram duy nhất nên ram của máy tính ghi DDR3
để phân biệt giữa các thế hệ ram giúp người dùng dây dựng cấu hình máy tính dễ dàng hơn.

[ Storm ]

9


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

[ Storm ]

10


11. 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 chip nhớ ?
- K/n: 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.

- Phân loại: 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ó thể ghi hoặc đọc dữ liệu.
o Đặc điểm:
 Khi máy tính tắt thông 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 được chia thành RAM tĩnh (SRAM) & RAM
động (DRAM)
 ROM là bộ nhớ bán dẫn chỉ dùng để đọc.
o Đặc điểm:
 Khi tắt nguồn điện nuôi cho mạch, thông tin trong ROM không bị mất vì những chương
trình và dữ liệu đã được cất trong ROM từ lúc đầu.
 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
chương trình con thư viện cho các hàm thường xuyên được sử dụng, các chương trình
hệ thống, …
o Phân loại ROM:
 ROM không lập trình được (mask ROM)
 ROM lập trình được (PROM – EPROM-EEPROM).

[ Storm ]

11


12.Các thiết bị ngoại vi thông dụng, chức năng cơ bản của chúng ?
Chức năng:
-

Chuyển đổi dữ liệu giữa bên trong và bên ngoài máy tính

Thành phần:
-


Bộ chuyển đổi tín hiệu: chuyển đổi dữ liệu giữa bên ngoài và bên trong máy tính
Bộ đệm dữ liệu: đệm dữ liệu khi truyền giữa mô-đun vào-ra và thiết bị ngoại vi
Khối logic điều khiển: điều khiển hoạt động của thiết bị ngoại vi đáp ứng theo yêu cầu từ mô-đun vào-ra

Các loại thiết bị ngoại vi cơ bản:
-

Thiết bị vào: bàn phím, chuột, máy quét ...
Thiết bị ra: màn hình, máy in ...
Thiết bị nhớ: các ổ đĩa ...
Thiết bị truyền thông: MODEM ...

Phân loại:
-

Thiết bị ngoại vi giao tiếp người-máy: Bàn phím, Màn hình, Máy in,...
Thiết bị ngoại vi giao tiếp máy-máy: gồm các thiết bị theo dõi và kiểm tra
Thiết bị ngoại vi truyền thông: Modem, Network Interface Card (NIC)

Cấu trúc chung:

[ Storm ]

12


13.Trình bày các phương pháp ánh xạ địa chỉ trong cache ?
Bộ nhớ chính có 2N byte nhớ dung N bit địa chỉ để địa chỉ hóa cho bộ nhớ . chia bộ nhớ thành các khối , mỗi
khối có K = 2N-1 byte. Có M = 2N/K khối, chia cache thành C đường, mỗi đường k byte nhớ : C<

trao đổi thông tin giữa bộ nhớ chính và cache theo đơn vị khối.
Vì có ít đường cache hơn các khối nhớ của bộ nhớ chính , 1 thuật toán là cần thiêt cho việc ánh xạ khối nhớ
của bộ nhớ chính vào các đường của cache , hơn nữa ,có nghĩa là cần xác định khối bộ nhwos chính đang sử
dụng cache line. Việc lựa chon hàm ánh xạ ra lệnh cho việc tổ chức cache ntn.
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ó 2^(n2) ngăn nhớ , địa chỉ do cpu phát ra là n bit . n1 xác định số byte trong khối 2^(n1)->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 : thong dịch địa chỉ và so sánh nối vào .
Nhược điểm của phương pháp này 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 : (kiểu cache thứ nhất dc gọi là cache lien kết ,nó bao gồm 1 số dòng (slot,line)
, mỗi dòng giống như 1 bản ghi và có 3 trường dữ liệu.) 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 chit thì hit in cache .
- Á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 4GB, kich thước cache 16kb,kich thước khối 32 byte. XĐ địa chỉ do cpu phát ra
theo 3 phương pháp ánh xạ :
[ Storm ]

13


Bộ nhớ chính có dung lượng 4gb=2^(32)B -> số bit địa chỉ do cpu phat ra là n=32
1 khối (block) có kich thước là 32B=2^5B -> n1=5.
TH1: ánh xạ trực tiếp : => số đường trong cache n2=16kb/(32byte)=2^14/(2^5) =2^9 -> n2=9 bit =>tag=329-5=18 bit
TH2: lien kết hoàn toàn : tag=32-5=27 bit.
TH3: lien kêt tập hợp : số đường trong cache : n2=16kb/(32byte *2line)=2^14/(2^5*2)=2^8 => n2=8 bit->
tag=32-8-5=19 bit

14.Trình bày cấu trúc bộ nhớ Cache và nguyên tắc đọc Cache ?
1. Cấu trúc bộ nhớ cache:



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 <2. Hoạt động đọc của cache: 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.

15.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 1 mặt là 20.000 , số mặt trên 1 đĩ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
đến 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 sector.
Sector 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 sector gồm
có: số thứ tự của sector, một khoảng trống, số liệu của sector đó bao gồm cả các mã sửa lỗi, một
khoảng trống, số thứ tự của sector tiếp theo.

[ Storm ]

14


16. Trình bày khái quát thuật toá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 thây
thế trong cache trong 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.
 Chính sách ghi trong cache: Chính sách viết cache sẽ quyết định cách nó xử lý ghi vào vị trí bộ nhớ
hiện đang được giữ trong bộ nhớ cache. Có 2 loại chính sách là:
- Viết qua (Write-Through): Khi hệ thống viết cho một vị trí bộ nhớ hiện đang được tổ chức trong

bộ nhớ cache, nó ghi ra các thông tin mới cho cả các dòng bộ nhớ cache bộ nhớ vị trí thích hợp và
chính bản thân cùng 1 lúc. Đây là loại bộ nhớ đệm cung cấp hiệu suất kém hơn ghi lại, nhưng đơn
giản để thực hiện và có lợi thế là thống nhất nội bộ, bởi vì bộ nhớ cache là không bao giờ ra khỏi
đồng bộ và bộ nhớ cách đó là một bộ nhớ cache ghi lại.
- Viết lại (Write-back): Khi hệ thống viết cho một vị trí bộ nhớ hiện đang được tổ chức trong bộ nhớ
cache, nó chỉ ghi các thông tin mới cho dòng bộ nhớ cache thích hợp. Khi dòng bộ nhớ cache là
cuối cùng cần thiết đối với một số địa chỉ bộ nhớ khác, các dữ liệu thay đổi là “ Viết lại “ với bộ
nhớ hệ thống. Đây là loại bộ nhớ cache cung cấp hiệu suất tốt hơn so với một ghi thông qua bộ
nhớ cache, bởi vì nó tiết kiệm (tốn thời gian) ghi chu kỳ bộ nhớ.

17. 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:
- Bộ nhớ đệm nhanh (cache memory):
o Tốc độ truy xuất nhanh.
o Thường nằm trong CPU, một số cache cũ có thể nằm ngoài CPU: như các cache trên đế cắm
kiểu slot 1, hoặc cache dạng thanh, có thể tháo rời giống như các thanh RAM ngày nay.
o Bao gồm Cache L1 và Cache L2, Cache L3 (L3 chỉ có ở một số CPU) có tốc độ truy xuất gần
bằng tốc độ truyền dữ liệu trong CPU;
- Bộ nhớ chính (main memory):
o 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;
o 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
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-5200U (2,2 GHz, 3MB cache). Cho ta biết
CPU, thế hệ CPU, Tốc độ xung nhịp, cache

[ Storm ]


15


18. 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?

CPU đơn giản cần bao gồm 3 thành phần quan trọng nhất: Tập các thanh ghi, bộ xử lý số học và logic
(ALU) và bộ điều khiển (CU)
 Tập các thanh ghi của các loại máy tính là khác nhau và thường được chia thành hai loại: các thanh
ghi được dùng với mục đích chung và các thanh ghi với mục đích đặc biệt. các thanh ghi mục đích
chung được sử dụng trong nhiều trường hợp như có thể dùng làm nới lưu trữ dữ liệu, dùng để lưu các
toán hạng của 1 chỉ lệnh. Trong khi các thanh ghi với mục đích đặc biệt chỉ có một số chức năng bên
trong CPU, như bộ đến chương trình là thanh ghi chỉ dùng với mục đích đặc biệt là chỉ dùng để lưu
địa chỉ của chỉ lệnh tiếp theo.
 Bộ logic số học ALU cung cấp 1 mạch số cần thiết để thục hiện các phép toán số học (như công, trừ,
nhân, chia) logic (như NOT, AND,OR) các phép toán dịch trong bộ chỉ lệnh.
 Bộ Điều khiển (CU) chị trách nhiệm điểu khiển mọi hoạt động của CPU như tìm nạp chỉ lệnh từ bộ
nhớ chính, giải mã nó, xác định xem nó thuộc loại nào và cuối cùng là ra chỉ lệnh cho các bộ phận bên
trong CPU thực hiện.

[ Storm ]

16


19. Khái niệm Cache miss? Thời gian truy cập cache, các nguyên nhân Cache miss? Cho
ví dụ.
Khái niệm cache miss: Cache dùng làm vùng đẹp truy xuất nên nếu CPU truy xuất data mà có sắn
trong cache thì thời gian truy xuất nhanh hơn nhiều. Hiệu quả của cache ngoài việc cho tốc đọ truy xuất nhanh

còn phụ thuộc vào cache hit hoặc miss
Cache his: data có sắn trong cache.
Cache miss tức data chưa có sẵn trong cache.
-

-

Thời gan truy cập cache
Gọi c là thời gian truy xuất của cache, m là trười gian truy xuất bộ nhớ, h là tỉ lệ thành công(là tỉ số
giữa số lần tham chiếu cache với tổng số lần tham chiếu h = (k-1)/k ).
Tỉ lệ thất bại (1-h):
Thời gian truy xuất trung bình: = c + (1-h)/m
Khi h -> 1, tất cả truy xuất đều tham chiếu tới cache, thời gian truy xuất trung bình ->c
Khi h -> 0, cần phải tham chiếu bộ nhớ cính mọi lúc, thới gian truy xuất trung bình -> c+m
Nguyên nhân: Khi bộ xử lý cần đọc hay viết một vị trí trong bộ nhớ chính, nó sẽ tìm entry tương ứng
trong cache đầu tiên. Cache sẽ kiểm tra nội dung của vị trí dữ liệu yêu cầu trong bất cứ cache line nào
có thể có địa chỉ. Nếu bộ xử lý tìm thấy vị trí dữ liệu trong cache, một cache hit đã xảy ra. Tuy nhiên,
nếu bộ xử lý không tìm thấy được vị trí dữ liệu trong cache, thì một cache miss đã xảy ra

20. Các chế độ địa chỉ của bộ vi xử lý? Nêu rõ ưu nhược điểm của từng chế độ.
- Định địa chỉ tức thì:
• Không tham chiếu đến bộ nhớ
• Truy nhập toán hạng rất nhanh
• Dải giá trị của toán hạng bị hạn chế
- Định địa chỉ thanh ghi
• Số lượng thanh ghi ít → Trường địa chỉ chỉ cần ít bit
• Không tham chiếu bộ nhớ
• Truy nhập toán hạng nhanh
• Tăng số lượng thanh ghi → hiệu quả hơn
- Định địa chỉ trực tiếp

• CPU tham chiếu bộ nhớ một lần để truy nhập dữ liệu
- Định địa chỉ gián tiếp qua thanh ghi
• Có thể gián tiếp nhiều lần
• CPU phải thực hiện tham chiếu bộ nhớ nhiều lần để tìm toán hạng → chậm
• Vùng nhớ có thể được tham chiếu là lớn
- Định địa chỉ dịch chuyển

[ Storm ]

17


21. 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 máy tính sử dụng bộ vi xử lý song song ?
+Các kiểu hệ thống bộ vi xử lý song song
• Siêu đường ống (Superpipeline & Hyperpipeline)

• Siêu vô hướng (Superscalar)

• VLIW (Very Long Instruction Word)

[ Storm ]

18


22. Cấu trúc lệnh? Số địa chỉ trong lệnh? Cho ví dụ minh họa?
 Cấu trúc của lệnh gồm 2 phần:
- Mã thao tác: mã hóa cho thao tác mà bộ xử lý phải thực hiện
- Địa chỉ các toán hạng chỉ ra nơi chứa các toán hạng mà thao tác sẽ tác động

o Toán hạng nguồn: dữ liệu vào của thao tác
o Toán hạng đích: dữ liệu ra của thao tác
 Số lượng địa chỉ toán hạng trong lệnh
- 3 địa chỉ toán hạng
o 2 toán hạng nguồn, 1 toán hạng đích
o c=a+b
- 2 địa chỉ toán hạng
o Một toán hạng vừa là toán hạng nguồn vừa là toán hạng đích; toán hạng còn lại là toán
hạng nguồn
o a=a+b
- 1 địa chỉ toán hạng
o Một toán hạng được chỉ ra trong lệnh
- 0 địa chỉ toán hạng
 Các toán hạng đều được ngầm định, Sử dụng Stack, Ví dụ:
push a
push b
add
pop c
có nghĩa là : c = a+b

23. Quá trình đọc ghi bộ nhớ trong máy tính
 Quá trình đọc bộ nhớ:
- CPU đưa địa chỉ ô nhớ cần đọc vào thanh địa chỉ
- Mạch giải mã xác định địa chỉ ô nhớ
- CPU gửi tín hiệu điều khiển đọc vào bộ nhớ. Nội dung ô nhớ cần đọc được đưa ra thanh
ghi dữ liệu
- CPU đọc nội dung của thanh ghi dữ liệu.
 Quá trình ghi bộ nhớ:
- CPU đưa địa chỉ ô nhớ cần ghi vào thanh ghi địa chỉ của bộ nhớ
- Mạch giải mã xác định địa chỉ ô nhớ

- CPU đưa dữ liệu cần ghi vào thanh ghi dữ liệu của bộ nhớ
- CPU gửi tín hiệu điều khiển ghi vào bộ nhớ. Nội dung trong thanh ghi dữ liệu được ghi
vào ô nhớ có địa chỉ xác định.

[ Storm ]

19


24. Trình bày mục đích bộ nhớ ảo ? Ánh xạ địa chỉ trong bộ nhớ ảo ?
Sử dụng cơ chế bộ nhớ ảo nhằm giải quyết về vấn đề kích thước bộ nhớ vợ lý không đủ chứa cả hệ điều
hành cùng với các chương trình của người sử dụng, đồng thời vấn đề các vùng nhớ phải được bảo vệ một cách
chắc chắn để khỏi bị chương trình của người sử dụng làm hỏng. bộ nhớ ảo được dựa trên sự kết hợp các bộ
nhớ với tốc độ cao như bộ nhớ trong(Ram) và bộ nhớ có tốc độ chậm như bộ nhớ phụ (ổ đĩa cứng), hoạt động
dưới sự quản lý của MMU,sao cho dưới quan điểm người lập trình và đối với người sử dụng thì tập hợp các
bộ nhớ trên được quan niệm là một bộ nhớ thuần nhất với dung lượng lớn (gần hoặc bằng dung lượng ổ đĩa
cứng) nhưng lại làm việc ở tốc độ cao (gần bằng tốc độ bộ nhớ trong)
Các kỹ thuật thực hiện 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

Tường hợp định ví trí trang dựa vào bảng trang, địa chỉ trong bộ nhớ vật lý được xác định bằng cách đặt kề
nhau số thứ của trang vật lý với địa chỉ trong trang như hình sau :

[ Storm ]


20


Trong trường hợp định vị đoạn, dựa vào thông tin trên bảng đoạn, việc kiểm tra
tính hợp lệ của địa chỉ được tiến hành. Địa chỉ vật lý được xác định bằng cách
cộng địa chỉ đoạn và độ dời trong đoạn như hình sau :

[ Storm ]

21


25. Trình bày giải pháp đường ống lệnh (Pipeline) và sơ đồ thời gian thực hiện bằng
đường ống lệnh? Sơ đồ đường ống lệnh CPU 6 giai đoạn?
+ Giải pháp đường ống lệnh (Instruction pipeling) : Chia chu trình lệnh thành các công đoạn và cho phép
thực hiện gối lên nhau (như dây chuyền lắp ráp)
+ Biểu đồ thời gian của đường ống lệnh:

[ Storm ]

22



×