Câu 1: Trình bày khái niệm kiến trúc máy tính và các thành phần của kiến trúc máy tính Kiến trúc máy tính là một khoa học trong việc lựa chọn và kết nối các thành phần phần cứng của máy tính để đạt được các yêu cầu về chức năng, hiệu năng và giá thành. Kiến trúc máy tính là một khái niệm cơ bản của ngành Công nghệ máy tính. Các thành phần: kiến trúc tập lệnh, vi kiến trúc, thiết kế hệ thống.
Trang 1Đề cương ôn tập Kiến trúc máy tính
Câu 1: Trình bày khái niệm kiến trúc máy tính và các thành phần của kiến trúc máy tính
Kiến trúc máy tính là một khoa học trong việc lựa chọn và kết nối các thành phần phần cứng của máy tính để đạt được các yêu cầu về chức năng, hiệu năng và giá thành Kiến trúc máy tính là một khái niệm cơ bản của ngành Công nghệ máy tính
Các thành phần: kiến trúc tập lệnh, vi kiến trúc, thiết kế hệ thống
Câu 2: Nêu các thành phần cơ bản của tổ chức máy tính
Các thành phần của tổ chức máy tính là:
- Khối xử lý trung tâm
- Bộ nhớ trong
- Các thiết bị vào ra
- Bus hệ thống
Câu 3: Trình bày cấu trúc bộ xử lý trung tâm
Trang 2Câu 4: Phân biệt kiến trúc máy tính Von Neuman và Harvard
Kiến trúc máy tính Von Neuman được xây dựng dựa trên 3 khái niệm cơ
sở:
Trang 3- Lệnh và dữ liệu được lưu và cùng một bộ nhớ đọc, ghi chia sẻ Sử dụng một bộ nhớ duy nhất để lưu cả lệnh và dữ liệu
- Bộ nhớ được đánh địa chỉ theo vùng và không phụ thuộc vào nội dung nó lưu trữ
- Các lệnh được thực hiện tuần tự
Quá trình xử lý lệnh gồm 3 giai đoạn:
- CPU đọc lệnh
- CPU giải mã và thực hiện lệnh, nếu lệnh yêu cầu dữ liệu thì CPU đọc dữ liệu
- CPU ghi kết quả thực hiện lệnh vào bộ nhớ (nếu có)
Sơ đồ khối:
Trang 4Kiến trúc máy tính Havard:
Kiến trúc máy tính Havard có bộ nhớ được chia thành hai thành phần riếng biệt là
bộ nhớ lưu chương trình (program memory) và bộ nhớ lưu dữ liệu (data memory)
Có hai hệ thống BUS riêng biệt để kết nối CPU với hai bộ nhớ và mỗi hệ thống
BUS đều có đủ ba thành phần truyền dẫn chương trình, lệnh và dữ liệu Máy tính dựa trên kiến trúc Havard có khả năng đạt được tốc độ xử lí cao hơn máy tính dựa trên kiến trúc Von Neuman do được hỗ trợ hai hệ thống BUS độc lập với băng
thông lớn hơn Ngoài ra nhờ có hai hệ thống BUS độc lập, nên hệ thống nhớ trong kiến trúc Havard hỗ trợ nhiều lệnh truy nhập tại một thời điểm giúp giảm xung đột truy nhập, đặc biệt là khi CPU xử dụng kĩ thuật đường ống
Sơ đồ khối :
Program 14bits Data 8bits
BUS hệ thống
Các thiết bị vào ra I/O
Bộ nhớ chính Main memory
Các thanh ghi
Đơn vị số học – logic
ALU
Đơn vị điều khiển CU
Khối xử lí trung tâm CPU
Bộ nhớ dữ liệu (data memory)
Bộ nhớ chương
trình
(program memory)
CPU
Trang 5Address 12 bits address 9 bits
Câu 5: Trình bày các loại thanh ghi điển hình trong bộ vi xử lý
1. Thanh ghi tích lũy A
2. Bộ đếm chương trình PC
3. Thanh ghi địa chỉ MRA
4. Thanh ghi đệm MRB
5. Thanh ghi tạm thời
6. Thanh ghi cờ
Câu 6: Phân biệt hai loại máy tính CISC và RISC
CISC là kiến trúc máy tính với tập lệnh phức tạp
RISC là kiến trúc máy tính với tập lệnh đơn giản
Trong kiến trúc CISC, mỗi lệnh thực hiện cần số chu kì lớn hơn do mỗi lệnh trong CISC có thể gồm nhiều bước, thực hiện nhiều tác vụ khác nhau, trong khi đó, mỗi lệnh trong kiến trúc RiSC chỉ thực hiện một tác vụ cụ thể
Câu 7: Trình bày khái niệm lệnh và quá trình thực hiện lệnh
1. Khái niệm lệnh
Lệnh là một từ nhị phân được gán cho một nhiệm vụ cụ thể
2. Quá trình thực hiện lệnh
- Đọc lệnh
- Giải mã lệnh
- Thực hiện lệnh
- Lưu kết quả
Câu 8: Trình bày các loại toán hạng và cho ví dụ minh họa
1. Toán hạng 3 địa chỉ
VD: ADD R1, R2, R3 R1 = R2 + R3
2. Toán hạng 2 địa chỉ
VD: ADD R1,R2 R1 = R1 + R2
3. Toán hạng 1 địa chỉ
VD: ADD R1 Racc = Racc + R1 (với Racc là thanh ghi tích lũy của CPU)
Trang 64. Toán hạng 1.5 địa chỉ
VD: ADD R1, A R1 = R1 + A (trong đó, R1 là thanh ghi của CPU, còn A
là địa chỉ ô nhớ)
5. Toán hạng 0 địa chỉ
VD thao tác push, pop với stack
Câu 9: Trình bày khái niệm chế độ định địa chỉ, phân loại các chế độ định địa chỉ, cho ví dụ
1. Khái niệm chế độ định địa chỉ
Chế độ địa chỉ là phương thức hoặc cách thức mà CPU tổ chức các toán hạng của lệnh Chế độ địa chỉ cho phép CPU kiểm tra dạng lệnh và tìm các toán hạng của lệnh
2. Phân loại các chế độ định địa chỉ
- Chế độ địa chỉ tức thì:
Giá trị hằng số của một toán hạng được đặt ngay sau mã lệnh, toán hạng còn lại có thể là một thanh ghi hoặc một địa chỉ ô nhớ
VD: LOAD R1, #1000 nạp giá trị 1000 vào thanh ghi R1
- Chế độ địa chỉ trực tiếp
Một toán hạng được tạo nên bởi một hằng số chỉ địa chỉ của toán hạng, toán hạng còn lại có thể là một thanh ghi hoặc một địa chỉ ô nhớ VD: LOAD R1, 100 R1 M[100] (nạp giá trị ô nhớ 100 vào thanh ghi R1
- Chế độ địa chỉ gián tiếp
Một toán hạng được tạo nên bởi một thanh ghi hoặc một địa chỉ ô nhớ chứa địa chỉ của toán hạng, toán hạng còn lại có thể là một hằng số, một thanh ghi hoặc một địa chỉ ô nhớ
VD: LOAD R1, (R2) R1 M[R2]
LOAD R1, (1000) R1 M[M[1000]]
- Chế độ địa chỉ chỉ số
Địa chỉ một toán hạng được tạo nên bởi một phép cộng giữa một hằng
số và một thanh ghi chỉ số, toán hạng còn lại có thể là một hằng số, một thanh ghi hoặc một địa chỉ ô nhớ
VD: LOAD R1, X(Rind) R1 M[X+Rind ]
Rind là thanh ghi chỉ số
- Chế độ địa chỉ tương đối
Trang 7Địa chỉ một toán hạng được tạo nên bởi phép cộng của một hằng số và
bộ đếm chương trình, toán hạng còn lại có thể là một hằng số, một thanh ghi hoặc một địa chỉ ô nhớ
VD: LOAD R1, X(PC) R1 M[X+PC]
Câu 10: Trình bày các nhóm lệnh thông dụng và cho ví dụ bằng lệnh hợp ngữ
1. Lệnh vận chuyển dữ liệu
- Chức năng: vận chuyển dữ liệu giữa các bộ phận của máy tính
- Ví dụ:
o MOV cx, ax : Vận chuyển dữ liệu từ thanh ghi ax vào thanh ghi cx
2. Lệnh toán học và logic
- Chức năng: thực hiện các thao tác tính toán trên nội dung các thanh ghi hoặc ô nhớ
- Ví dụ:
o ADD cx, ax : cộng giá trị trong thanh ghi cx với giá trị trong thanh ghi ax, kết quả lưu vào cx
3. Lệnh điều khiển chương trình
- Chức năng: thay đổi trật tự thực hiện các lệnh trong chương trình hay làm thay đổi logic chương trình
- Ví dụ:
mov cx, 5 CONG: add ax, 1 Loop CONG (thực hiện ax + 1 năm lần)
4. Lệnh vào, ra
- Chức năng: vận chuyển dữ liệu giữa máy tính và các thiết bị ngoại vi
- Ví dụ:
Mov ah,1 Int 21h (nhập vào một kí tự từ bàn phím)
Câu 11: trình bày kĩ thuật đường ống 5 giai đoạn trong hệ thống máy tính Tranh chấp dữ liệu là gì và cách khắc phục
Trang 8- Kĩ thuật đường ống là phương pháp mà việc thực hiện mỗi lệnh được chia thành nhiều giai đoạn, trong đó mỗi giai đoạn được thực hiện bởi một đơn vị chức khác nhau của CPU Nhờ đó, CPU có thể tận dụng tối đa năng lực xử lí của các đơn vị chức năng của mình
- 5 giai đoạn của cơ chế ống lệnh:
o IF: đọc lệnh từ bộ nhớ
o ID: giải mã lệnh và đọc các toán hạng
o EX: thực hiện lệnh, nếu lệnh là truy cập bộ nhớ thì tính toán địa chỉ bộ nhớ
o MEM: đọc/ ghi bộ nhớ
o WB: ghi kết quả vào thanh ghi
- Tranh chấp dữ liệu là khi một lệnh dự kiến không thể thực thi trong đúng chu kì pipeline của nó do dữ liệu nó yêu cầu vẫn chưa sẵn sang Loại tranh chấp dữ liệu phổ biến nhất là (Read After Write - RAW)
- Cách khắc phục xung đột kiểu RAW:
o Nhập dạng tranh chấp RAW khi nó diễn ra
o Khi RAW xảy ra, tạm dừng ống lệnh cho đến khi lệnh trước đó hoàn thành giai đoạn WB
o Sử dụng trình biên dịch để nhận dạng tranh chấp RAW và thực hiện:
Chèn các lệnh rỗng vào giữa hai lệnh có thể tranh chấp RAW
Chèn các lệnh độc lập vào giữa hai lệnh có thể tranh chấp RAW
o Sử dụng phần cứng để nhận dạng tranh chấp RAW và dự đoán trước giá trị dữ liệu phụ thuộc
Câu 13: Trình bày hệ thống bộ nhớ phân cấp trong các hệ thống máy tính
Hệ thống bộ nhớ phân cấp trong các hệ thống máy tính gồm lần lượt:
o Các thanh ghi CPU
o Bộ nhớ Cache
o Bộ nhớ chính
o Bộ nhớ thứ cấp
- Hệ thống bộ nhớ có dung lượng tăng theo chiều từ các thanh ghi CPU tới
bộ nhớ thứ cấp, nhưng có giá thành và tốc độ truy cập tăng theo chiều ngược lại
- Các thanh ghi CPU thường được xử dụng để lưu các toán hạng đầu và cuối phục vụ cho việc thực hiện các lệnh của CPU
Trang 9- Bộ nhớ Cache đoán và tải trước các lệnh, dữ liệu mà CPU cần, nhờ đó giảm thời gian truy cập hệ thống nhớ, tăng tốc độ xử lí
- Bộ nhớ chính gồm ROM và RAM dùng để lưu lệnh và dữ liệu của hệ thống và người dùng
- Bộ nhớ thứ cấp gồm các đĩa từ, đĩa quang, băng từ, dùng để lưu trữ dữ liệu lâu dài dưới dạng các tệp
Câu 14: Trình bày các phương pháp phân loại bộ nhớ
Có 3 phương pháp phân loại bộ nhớ dựa theo:
- Kiểu truy cập
- Khả năng duy trì dữ liệu
- Công nghệ chế tạo
1. Phân loại theo kiểu truy cập: (3 loại)
- Truy cập ngẫu nhiên
- Truy cập tuần tự
- Bộ nhớ chỉ đọc
2. Phân loại theo khả năng duy trì dữ liệu: (2 loại)
- Bộ nhớ ổn định
- Bộ nhớ không ổn định
3. Phân loại theo công nghệ chế tạo: (3 loại)
- Bộ nhớ bán dẫn
- Bộ nhớ từ tính
- Bộ nhớ quang học
Câu 15: Trình bày khái niệm và đặc điểm hoạt động của bộ nhớ Cache
1. Khái niệm
Cache hay bộ nhớ đệm là một phần trong hệ thống phân cấp bộ nhớ nằm giữa CPU và bộ nhớ chính Cache có chức năng trung chuyển dữ liệu từ bộ nhớ chính về CPU và ngược lại
2. Đặc điểm hoạt động
Cache có khả năng đoán trước được yêu cầu về dữ liệu và lệnh của CPU Lệnh và dữ liệu cần thiết được tải trước từ bộ nhớ chính vào Cache, nhờ đó, CPU chỉ cần truy cập vào Cache, giúp giảm thời gian CPU truy cập hệ thống nhớ Để làm điều đó, Cache dựa theo hai nguyên lý là nguyên lý lân cận về không gian và nguyên lý lân cận về thời gian
Trang 10- Nguyên lý lân cận về không gian: Nếu một ô nhớ đang được truy cập thì xác suất các ô nhớ lân cận được truy cập trong tương lai là rất cao
- Nguyên lý lân cận về thời gian: Nếu một ô nhớ đang được truy cập thì xác suất nó được truy cập lại trong tương lai là rất cao
Câu 16: Trình bày hai loại kiến trúc Cache Look Aside và Look Through
1. Kiến trúc Look Aside
Trong kiến trúc Look Aside, cả cache và bộ nhớ chính cùng được kết nối với bus hệ thống, nhờ đó, chúng cùng thấy chu kì bus của CPU tại một thời điểm Kiến trúc Look Aside có thiết kế đơn giản, tuy nhiên các sự kiện hit của kiến trúc này thường chậm do cache kết nối với CPU sử dụng bus hệ thống – thường có tần số làm việc không cao và băng thông hẹp Tuy nhiên các sự kiện miss lại nhanh hơn do CPU không tìm thấy mục tin trong cache,
nó đồng thời tìm trong bộ nhớ chính trong cùng 1 chu kỳ xung nhịp
Sơ đồ khối:
2. Kiến trúc Look Through
Trong kiến trúc Look Through, cache được đặt nằm giữa CPU và bộ nhớ chính Cache kết nối với CPU bằng bus riêng tốc độ cao, thường là bus mặt trước Cache kết nối với bộ nhớ chính qua bus hệ thống, còn gọi là bus mặt sau
CPU
SRAM
CACHE CONTROLLER
TAG RAM
MAIN MEMORY
Trang 11Với kiến trúc này, các sự kiện hit thường nhanh hơn do cache kết nối với CPU qua bus tốc độ cao, còn các sự kiện miss lại chậm hơn do CPU không tìm thấy tin trong cache, nó phải tìm trong bộ nhớ chính ở một xung nhịp khác
Câu 17: Trình bày phương pháp ánh xạ trực tiếp của tổ chức bộ nhớ Cache
1. Nguyên lý
- Cache được chia thành n dòng, bộ nhớ chính chia thành m trang, mỗi trang chia thành n dòng, mỗi dòng có kích thước bằng một dòng trong cache
- Dòng thứ i của trang thứ j sẽ ánh xạ đến dòng thứ i của cache
2. Ưu điểm
- Thiết kế đơn giản
- Không tốn nhiều thời gian tìm địa chỉ ô nhớ trong cache
3. Nhược điểm
- Dễ gây xung đột
- Hiệu quả tận dụng không gian cache không cao
- Hệ số hit thấp
Câu 18: Trình bày phương pháp ánh xạ kết hợp đầy đủ của tổ chức bộ nhớ cache
1. Nguyên lý
- Cache được chia thành n dòng, bộ nhớ chính được chia thành m dòng, mỗi dòng có kích thước bằng một dòng trong cache
- Mỗi dòng trong bộ nhớ chính sẽ ánh xạ đến một dòng bất kì trong cache
2. Ưu điểm
- Giảm xung đột sử dụng dòng cache
- Hiệu quả tận dụng không gian cache cao
- Hệ số hit cao
3. Nhược điểm
- Việc truy tìm dòng cache tốn nhiều thời gian
- Thiết kế phức tạp
MAIN MEMORY TAG RAM
CACHE CONTROLLER SRAM
CPU
Trang 12Câu 19: Trình bày phương pháp ánh xạ tập kết hợp của tổ chức bộ nhớ cache.
1. Nguyên lý
- Cache được chia thành k đường (way), mỗi way chia thành n dòng (line)
- Bộ nhớ chính chia thành m trang (page), mỗi trang có kích thước bằng một đường trong cache và chia thành n dòng, mỗi dòng có kích thước bằng một dòng trong cache
- Mỗi trang trong bộ nhớ chính ánh xạ đến một đường bất kì trong cache
- Dòng thứ i của trang sẽ ánh xạ đến dòng thứ i của đường
2. Ưu điểm
- Kết hợp hài hòa giữa ánh xạ mềm và ánh xạ cố định
- Dễ dàng xác định vị trí dòng nhớ trong đường cache
- Tốc độ nhanh
- Ít xung đột
- Phân bố không gian cache đồng đều, đạt tỉ lệ hit cao
3. Nhược điểm
- Thiết kế phức tạp
Câu 20: Trình bày các chính sách thay thế khối của bộ nhớ cache
Có 3 chính sách thay thế:
1 Thay thế ngẫu nhiên
- Các dòng cache được lựa chọn và thay thế một cách ngẫu nhiên, không theo một quy luật nào
- Đơn giản, dễ cài đặt
- Hệ số miss cao
2 Thay thế kiểu vào trước ra trước
- Các dòng cache được nạp vào cache trước sẽ được thay ra trước
- Hệ số miss thấp hơn so với thay thế ngẫu nhiên
- Chưa xem xét đến các dòng cache già nhưng vẫn đang được sử dụng
- Thiết kế cài đặt phức tạp hơn
3 Thay thế các dòng ít được xử dụng gần đây nhất
- Các dòng cache được lựa chọn để thay thế là các dòng ít được sử dụng gần đây nhất
- Cho hệ số miss thấp nhất
- Có xem xét đến các dòng đang được sử dụng
- Thiết kế và cài đặt phức tạp
Câu 21: Trình bày các phương thức ghi dữ liệu trong bộ nhớ cache
1 Khi Hit
Có hai chính sách chính là “ghi thẳng” và “ghi trễ”
Trang 13- Với “ghi thẳng”: dữ liệu sẽ được ghi đồng thời vào cache và bộ nhớ chính Chính sách này tạo sự nhất quán giữa cache và bộ nhớ chính nhưng gây chậm và tốn nhiều băng thông
- Với “ghi trễ”: dữ liệu được ghi vào cache rồi sẽ được ghi vào bộ nhớ chính ghi nó bị thay ra Phương pháp này hiệu quả hơn về tốc độ
2 Khi Miss
Có hai chính sách là “ghi có đọc lại” và “ghi không đọc lại”
- Với “ghi có đọc lại”: dữ liệu được ghi vào bộ nhớ chính, sau đó đọc lại vào cache
- Với “ghi không đọc lại”: dữ liệu được ghi vào bộ nhớ chính mà không đọc lại vào cache
Câu 22: Trình bày các phương thức đọc dữ liệu trong bộ nhớ cache
1 Khi Hit
Mẩu tin được đọc trực tiếp từ bộ nhớ Cache vào CPU, bộ nhớ chính không tham gia Với phương pháp này, thời gian đọc bằng thời gian truy cập cache của CPU
2 Khi Miss
Mẩu tin được đọc từ bộ nhớ chính vào cache, rồi được đọc từ cache vào CPU Với phương pháp này, thời gian đọc bằng thời gian CPU truy cập cache cộng thời gian cache truy cập bộ nhớ chính
Câu 23: Trình bày các tham số hiệu năng bộ nhớ cache và cách cải thiện hiệu năng.
Có ba vấn đề ảnh hưởng đến hiệu năng cache
- Kích thước cache:
Cache có kích thước càng lớn thì hiệu năng xử lí càng cao.
- Chia tách cache:
Để cải thiện hiệu năng cache, người ta chia cache thành cache dữ liệu và cache lệnh
- Tạo cache nhiều mức:
Việc tạo cache nhiều mức với kích thước tăng dần và tốc độ giảm dần giúp dung hòa tốt hơn tốc độ của CPU và tốc độ bộ nhớ chính.
Câu 24: RAID là gì? Trình bày các kĩ thuật cơ bản tạo RAID
1 RAID là gì?
- RAID là một công nghệ chế tạo thiết bị lưu trữ tiên tiến trên cơ sở các ổ đĩa cứng, nhằm đạt hiệu quả về tốc độ cao, tính tin cậy và dung lượng lưu trữ lớn
2 Các kỹ thuật cơ bản tạo RAID
có hai kỹ thuật cơ bản là tạo lát đĩa và soi gương đĩa
- Kỹ thuật tạo lát đĩa:
A2
B2
C2
A1
B1
C1
RAID CONTROLLER computer
Trang 14- Kỹ thuật soi gương đĩa
-Trong khi kỹ thuật tạp lát đĩa hướng đến tốc độ cao thì soi gương đĩa hướng đến độ tin cậy cao cho hệ thống lưu trữ
Câu 25: Trình bày 3 loại RAID cơ bản
1 RAID 0
RAID 0 dựa trên kỹ thuật tạo lát đĩa và cần tối thiểu hai ổ đĩa
Tốc độ truy cập của RAID 0 tỷ lệ thuận với số lượng đĩa độc lập
Dung lượng của RAID 0 tương đương tổng dung lương các ổ đĩa tham gia
Hạn chế của RAID 0 là tính tin cậy chỉ tương đương 1 ổ đĩa đơn
2 RAID 1
RAID 1 dựa trên kĩ thuật soi gương đĩa, cần tối thiểu 2 ổ đĩa
Tốc độ truy cập và dung lượng của RAID 1 bằng một ổ đĩa đơn
Ưu điểm chính là tính tin cậy cao
3 RAID 10
RAID 10 là sự kết hợp của RAID 1 và RAID 0, cần tối thiểu 4 ổ đĩa
A1
B1
C1
A1
B1
C1
RAID CONTROLLER computer