Giáo trình Kiến trúc máy tính
MỤC LỤC
MỤC LỤC .2
GIỚI THIỆU TỔNG QUAN.5
GIÁO TRÌNH KIẾN TRÚC MÁY TÍNH .5
MỤC ĐÍCH.5
YÊU CẦU .5
NỘI DUNG .6
KIẾN THỨC TIÊN QUYẾT.6
TÀI LIỆU THAM KHẢO .6
PHƯƠNG PHÁP HỌC TẬP .6
CHƯƠNG I: ĐẠI CƯƠNG .7
I.1 CÁC THẾ HỆ MÁY TÍNH.7
a. Thế hệ đầu tiên (1946-1957).7
b. Thế hệ thứ hai (1958-1964) .8
c. Thế hệ thứ ba (1965-1971) .8
d. Thế hệ thứ tư (1972-????).8
e. Khuynh hướng hiện tại .8
I.2 PHÂN LOẠI MÁY TÍNH.9
I.3 THÀNH QUẢ CỦA MÁY TÍNH .10
QUI LUẬT MOORE VỀ SỰ PHÁT TRIỂN CỦA MÁY TÍNH .10
I.4- THÔNG TIN VÀ SỰ MÃ HOÁ THÔNG TIN.12
I.4.1 - Khái niệm thông tin.12
I.4.2 - Lượng thông tin và sự mã hoá thông tin.13
I.4.3 - Biểu diễn các số: .13
I.4.4 Số nguyên có dấu.16
I.4.5 - Cách biểu diễn số với dấu chấm động:.17
I.4.6 - Biểu diễn các số thập phân .19
I.4.7 - Biểu diễn các ký tự .19
CÂU HỎI ÔN TẬP VÀ BÀI TẬP CHƯƠNG I.22
CHƯƠNG II: KIẾN TRÚC PHẦN MỀM BỘ XỬ LÝ.23
II.1 - THÀNH PHẦN CƠ BẢN CỦA MỘT MÁY TÍNH.23
II.2 - ĐỊNH NGHĨA KIẾN TRÚC MÁY TÍNH.25
II.3 - CÁC KIỂU THI HÀNH MỘT LỆNH .25
II.4 - KIỂU KIẾN TRÚC THANH GHI ĐA DỤNG.27
II.5 - TẬP LỆNH.27
II.5.1 - Gán trị.28
II.5.2 - Lệnh có điều kiện .29
II.5.3 - Vòng lặp.30
II.5.4 - Thâm nhập bộ nhớ ngăn xếp.31
II.5.5 - Các thủ tục.31
II.6 - CÁC KIỂU ĐỊNH VỊ .33
II.7 - KIỂU CỦA TOÁN HẠNG VÀ CHIỀU DÀI CỦA TOÁN HẠNG .34
II.8 - TÁC VỤ MÀ LỆNH THỰC HIỆN .34
II.9 - KIẾN TRÚC RISC ( REDUCED INSTRUCTION SET COMPUTER) .35
II.10 - KIỂU ĐỊNH VỊ TRONG CÁC BỘ XỬ LÝ RISC.37
II.10.1 - Kiểu định vị thanh ghi.37
II.10.2 - Kiểu định vị tức thì.37
II.10.3 - Kiểu định vị trực tiếp .38
II.10.4 - Kiểu định vị gián tiếp bằng thanh ghi + độ dời .38
II.10.5 - Kiểu định vị tự tăng .38
II.11 - NGÔN NGỮ CẤP CAO VÀ NGÔN NGỮ MÁY.39
CÂU HỎI ÔN TẬP VÀ BÀI TẬP CHƯƠNG II .41
CHƯƠNG III: TỔ CHỨC BỘ XỬ LÝ .42
III.1. ĐƯỜNG ĐI CỦA DỮ LIỆU.42
III.2. BỘ ĐIỀU KHIỂN .44
III.2.1. Bộ điều khiển mạch điện tử .44
III.2.2. Bộ điều khiển vi chương trình: .45
III.3. DIỄN TIẾN THI HÀNH LỆNH MÃ MÁY .46
III.4. NGẮT QUÃNG (INTERRUPT).47
III.5. KỸ THUẬT ỐNG DẪN (PIPELINE).48
III.6. KHÓ KHĂN TRONG KỸ THUẬT ỐNG DẪN.49
III.7. SIÊU ỐNG DẪN.51
III.8. SIÊU VÔ HƯỚNG (SUPERSCALAR).52
III.9. MÁY TÍNH CÓ LỆNH THẬT DÀI VLIW (VERY LONG INSTRUCTION
WORD).53
III.10. MÁY TÍNH VECTƠ.53
III.11. MÁY TÍNH SONG SONG .53
III.12 KIẾN TRÚC IA-64 .59
a) Đặc trưng của kiến trúc IA-64: .59
b) Định dạng lệnh trong kiến trúc IA-64 .60
CÂU HỎI ÔN TẬP VÀ BÀI TẬP CHƯƠNG III.62
CHƯƠNG IV: CÁC CẤP BỘ NHỚ .63
IV.1. CÁC LOẠI BỘ NHỚ.63
IV.2. CÁC CẤP BỘ NHỚ.65
IV.3. XÁC SUẤT TRUY CẬP DỮ LIỆU TRONG BỘ NHỚ TRONG .66
IV.4. VẬN HÀNH CỦA CACHE.67
IV.5. HIỆU QUẢ CỦA CACHE.72
IV.6. CACHE DUY NHẤT HAY CACHE RIÊNG LẺ.73
IV.7. CÁC MỨC CACHE.73
IV.8. BỘ NHỚ TRONG.74
IV.9. BỘ NHỚ ẢO.75
IV.10. BẢO VỆ CÁC TIẾN TRÌNH BẰNG CÁCH DÙNG BỘ NHỚ ẢO.79
CÂU HỎI ÔN TẬP VÀ BÀI TẬP CHƯƠNG IV .81
CHƯƠNG V: NHẬP - XUẤT.82
uyền điều khiển cho bộ xử lý. Vi mạch DMA càng thông minh thì công việc của CPU càng nhẹ đi. Nhiều vi mạch được gọi là bộ xử lý vào/ra (hay bộ điều khiển vào/ra) thực hiện công việc mình theo một chương trình cố định (chứa trong ROM), hay theo một chương trình mà hệ điều hành nạp vào bộ nhớ trong. Hệ điều hành thiết lập một hàng chờ đợi gồm các khối điều khiển các bộ phận vào/ ra. Các khối chứa các thông tin như là vị trí của số liệu (nguồn và đích) và số số liệu. Các bộ xử lý vào/ra lấy các thông tin này trong hàng chờ đợi, thực hiện các việc cần phải làm và gởi về CPU tín hiệu ngắt khi đã thực hiện xong công việc. Một máy tính có bộ xử lý vào/ra được xem như một máy tính đa xử lý vì DMA giúp cho máy tính thực hiện cùng lúc nhiều quá trình. Tuy nhiên bộ xử lý vào/ra không tổng quát bằng các bộ xử lý vì chúng chỉ làm được một số việc nhất định. Hơn nữa bộ xử lý vào/ra không chế biến số liệu như các bộ xử lý thường làm. Nó chỉ di chuyển số liệu từ nơi này sang nơi khác. V.9. MỘT SỐ BIỆN PHÁP AN TOÀN DỮ LIỆU TRONG VIỆC LƯU TRỮ THÔNG TIN TRONG ĐĨA TỪ Người ta thường chú trọng đến sự an toàn trong lưu giữ thông tin ở đĩa từ hơn là sự an toàn của thông tin trong bộ xử lý. Bộ xử lý có thể hư mà không làm tổn hại đến thông tin. Ổ đĩa của máy tính bị hư có thể gây ra các thiệt hại rất to lớn. Một phương pháp giúp tăng cường độ an toàn của thông tin trên đĩa từ là dùng một mảng đĩa từ. Mảng đĩa từ này được gọi là Hệ thống đĩa dự phòng (RAID - Redundant Array of Independent Disks). Cách lưu trữ dư thông tin làm tăng giá tiền và sự an toàn (ngoại trừ RAID 0). Cơ chế RAID có các đặc tính sau: 1. RAID là một tập hợp các ổ đĩa cứng (vật lý) được thiết lập theo một kỹ thuật mà hệ điều hành chỉ “nhìn thấy” chỉ là một ổ đĩa (logic) duy nhất. 2. Với cơ chế đọc/ghi thông tin diễn ra trên nhiều đĩa (ghi đan chéo hay soi gương). 3. Trong mảng đĩa có lưu các thông tin kiểm tra lỗi dữ liệu; do đó, dữ liệu có thể được phục hồi nếu có một đĩa trong mảng đĩa bị hư hỏng . Tuỳ theo kỹ thuật thiết lập, RAID có thể có các mức sau: i). RAID 0: Thực ra, kỹ thuật này không nằm trong số các kỹ thuật có cơ chế an toàn dữ liệu. Khi mảng được thiết lập theo RAID 0, ổ đĩa logic có được (mà hệ điều hành nhận biết) có dung dượng bằng tổng dung lượng của các ổ đĩa thành viên. Điều này giúp cho người dùng có thể có một ổ đĩa logic có dung lượng lớn hơn rất nhiều so với dung lượng thật của ổ đĩa vật lý cùng thời điểm. Dữ liệu được ghi phân tán trên tất cả các đĩa trong mảng. Đây chính là sự khác biệt so với việc ghi dữ liệu trên các đĩa riêng lẻ bình thường bởi vì thời gian đọc-ghi dữ liệu trên đĩa tỉ lệ nghịch với số đĩa có trong tập hợp (số đĩa trong tập hợp càng nhiều, thời gian đọc – ghi dữ liệu càng nhanh). Tính chất này 91 Kiến trúc máy tính Chương V: Nhập xuất của RAID 0 thật sự hữu ích trong các ứng dụng yêu cầu nhiều thâm nhập đĩa với dung lượng lớn, tốc độ cao (đa phương tiện, đồ hoạ,). Tuy nhiên, như đã nói ở trên, kỹ thuật này không có cơ chế an toàn dữ liệu, nên khi có bất kỳ một hư hỏng nào trên một đĩa thành viên trong mảng cũng sẽ dẫn đến việc mất dữ liệu toàn bộ trong mảng đĩa. Xác suất hư hỏng đĩa tỉ lệ thuận với số lượng đĩa được thiết lập trong RAID 0. RIAD 0 có thể được thiết lập bằng phần cứng (RAID controller) hay phần mềm (Stripped Applications) ii). RAID 1 (Mirror - Đĩa gương): Phương cách thông thường tránh mất thông tin khi ổ đĩa bị hư là dùng đĩa gương, tức là dùng 2 đĩa. Khi thông tin được viết vào một đĩa, thì nó cũng được viết vào đĩa gương và như vậy luôn có một bản sao của thông tin. Trong cơ chế này, nếu một trong hai đĩa bị hư thì đĩa còn lại được dùng bình thường. Việc thay thế một đĩa mới (cung thông số kỹ thuật với đĩa hư hỏng) và phục hồi dữ liệu trên đĩa đơn giản. Căn cứ vào dữ liệu trên đĩa còn lại, sau một khoảng thời gian, dữ liệu sẽ được tái tạo trên đĩa mới (rebuild). RAID 1 cũng có thể được thiết lập bằng phần cứng (RAID controller) hay phần mềm (Mirror Applications) với chi phí khá lớn, hiệu suất sử dụng đĩa không cao (50%). iii) RAID 2: Dùng kỹ thuật truy cập đĩa song song, tất cả các đĩa thành viên trong RAID đều được đọc khi có một yêu cầu từ ngoại vi. Một mã sửa lỗi (ECC) được tính toán dựa vào các dữ liệu được ghi trên đĩa lưu dữ liệu, các bit được mã hoá được lưu trong các đĩa dùng làm đĩa kiểm tra. Khi có một yêu cầu dữ liệu, tất cả các đĩa được truy cập đồng thời. Khi phát hiện có lỗi, bộ điều khiển nhận dạng và sửa lỗi ngay mà không làm giảm thời gian truy cập đĩa. Với một thao tác ghi dữ liệu lên một đĩa, tất cả các đĩa dữ liệu và đĩa sửa lỗi đều được truy cập để tiến hành thao tác ghi. Thông thường, RAID 2 dùng mã Hamming để thiết lập cơ chế mã hoá, theo đó, để mã hoá dữ liệu được ghi, người ta dùng một bit sửa lỗi và hai bit phát hiện lỗi. RAID 2 thích hợp cho hệ thống yêu cầu giảm thiểu được khả năng xảy ra nhiều đĩa hư hỏng cùng lúc. Strip 12 Strip 8 Strip 4 Strip 0 Strip 13 Strip 9 Strip 5 Strip 1 Strip 14 Strip 10 Strip 6 Strip 2 Strip 15 Strip 11 Strip 7 Strip 3 Hình V.8: RAID 0 Strip 12 Strip 8 Strip 4 Strip 0 Strip 13 Strip 9 Strip 5 Strip 1 Strip 14 Strip 10 Strip 6 Strip 2 Strip 15 Strip 11 Strip 7 Strip 3 Strip 12 Strip 8 Strip 4 Strip 0 Strip 13 Strip 9 Strip 5 Strip 1 Strip 14 Strip 10 Strip 6 Strip 2 Strip 15 Strip 11 Strip 7 Strip 3 Hình V.9: RAID 1 92 Kiến trúc máy tính Chương V: Nhập xuất b0 b1 b2 b3 F0(b) F1(b) F2(b) Hình V.10: RAID 2 iii). RAID 3: Dùng kỹ thuật ghi song song, trong kỹ thuật này, mảng được thiết lập với yêu cầu tối thiểu là 3 đĩa có các thông số kỹ thuật giống nhau, chỉ một đĩa trong mảng được dùng để lưu các thông tin kiểm tra lỗi (parity bit). Như vậy, khi thiết lập RAID 3, hệ điều hành nhận biết được một đĩa logic có dung lượng n-1/n (n: số đĩa trong mảng). Dữ liệu được chia nhỏ và ghi đồng thời trên n-1 đĩa và bit kiểm tra chẵn lẻ được ghi trên đĩa dùng làm đĩa chứa bit parity – chẵn lẻ đan chéo ở mức độ bít. Bít chẵn lẻ là một bít mà người ta thêm vào một tập hợp các bít làm cho số bít có trị số 1 (hoặc 0) là chẵn (hay lẻ). Thay vì có một bản sao hoàn chỉnh của thông tin gốc trên mỗi đĩa, người ta chỉ cần có đủ thông tin để phục hồi thông tin đã mất trong trường hợp có hỏng ổ đĩa. Khi một đĩa bất kỳ trong mảng bị hư, hệ thống vẫn hoạt động bình thường. Khi thay thế một đĩa mới vào mảng, căn cứ vào dữ liệu trên các đĩa còn lại, hệ thống tái tạo thông tin. Hiệu suất sử dụng đĩa cho cách thiết lập này là n-1/n. RAID 3 chỉ có thể được thiết lập bằng phần cứng (RAID controller). iv) RAID 4: từ RAID 4 đến RAID 6 dùng kỹ thuật truy cập các đĩa trong mảng độc lập. Trong một mảng truy cập độc lập, mỗi đĩa thành viên được truy xuất độc lập, do đó mảng có thể đáp ứng được các yêu cầu song song của ngoại vi. Kỹ thuật này thích hợp với các ứng dụng yêu cầu nhiều ngoại vi là các ứng dụng yêu cầu tốc độ truyền dữ liệu cao. Trong RAID 4, một đĩa dùng để chứa các bit kiểm tra được tính toán từ dữ liệu được lưu trên các đĩa dữ liệu. Khuyết điểm lớn nhất của RAID 4 là bị nghẽn cổ chai tại đĩa kiểm tra khi có nhiều yêu cầu đồng thời từ các ngoại vi. b0 b1 b2 b3 P(b) Hình V.11: RAID 3 B12 B8 B4 Block 0 B13 B9 B5 Block1 B14 B10 B6 Block2 B15 B11 B7 Block3 P(12-15) P(8-11) P(4-7) P(0-3) Hình V.12: RAID 4 93 Kiến trúc máy tính Chương V: Nhập xuất v). RAID 5: yêu cầu thiết lập giống như RAID 4, dữ liệu được ghi từng khối trên các đĩa thành viên, các bit chẵn lẻ được tính toán mức độ khối được ghi trải đều lên trên tất cả các ổ đĩa trong mảng. Tương tự RAID 4, khi một đĩa bất kỳ trong mảng bị hư hỏng, hệ thống vẫn hoạt động bình thường. Khi thay thế một đĩa mới vào mảng, căn cứ vào dữ liệu trên các đĩa còn lại, hệ thống tái tạo thông tin. Hiệu suất sử dụng đĩa cho cách thiết lập này là n-1/n. RAID 5 chỉ có thể được thiết lập bằng phần cứng (RAID controller). Cơ chế này khắc phục được khuyết điểm đã nêu trong cơ chế RAID 4. vi). RAID 6: Trong kỹ thuật này, cần có n+2 đĩa trong mảng. Trong đó, n đĩa dữ liệu và 2 đĩa riêng biệt để lưu các khối kiểm tra. Một trong hai đĩa kiểm tra dùng cơ chế kiểm tra như trong RAID 4&5, đĩa còn lại kiểm tra độc lập theo một giải thuật kiểm tra. Qua đó, nó có thể phục hồi được dữ liệu ngay cả khi có hai đĩa dữ liệu trong mảng bị hư hỏng. Hiện nay, RAID 0,1,5 được dùng nhiều trong các hệ thống. Các giải pháp RAID trên đây (trừ RAID 6) chỉ đảm bảo an toàn dữ liệu khi có một đĩa trong mảng bị hư hỏng. Ngoài ra, các hư hỏng dữ liệu do phần mềm hay chủ quan của con người không được đề cập trong chương trình. Người dùng cần phải có kiến thức đầy đủ về hệ thống để các hệ thống thông tin hoạt động hiệu quả và an toàn. ***** B16 P(12- 15) B9 B5 Block1 P(16-19) B12 B8 B4 Block 0 B17 B13 P(8-11) B6 Block2 B18 B14 B10 P(4-7) Block3 B19 B15 B11 B7 P(0-3) Hình V.13: RAID 5 Q(16-19) P(12-15) B9 B5 Block1 B19 B15 B11 B7 Q(0-3) P(16-19) B12 B8 B4 Block 0 B16 Q(12-15) P(8-11) B6 Block2 B17 B13 Q(8-11) P(4-7) Block3 B18 B14 B10 Q(4-7) P(0-3) Hình V.14: RAID 6 94 Kiến trúc máy tính Chương V: Nhập xuất CÂU HỎI ÔN TẬP VÀ BÀI TẬP CHƯƠNG V ***** 1. Mô tả vận hành của ổ đĩa cứng. Cách lưu trữ thông tin trong ổ đĩa cứng 2. Mô tả các biện pháp an toàn trong việc lưu trữ thông tin trong đĩa cứng. 3. Nguyên tắc vận hành của đĩa quang. Ưu khuyết điểm của các loại đĩa quang. 4. Thông thường có bao nhiêu loại bus? Tại sao phải có các chuẩn cho các bus vào ra? 5. Thế nào là chủ nhân của bus? Khi bus có nhiều chủ nhân thì làm thế nào để giải quyết tranh chấp bus? 6. Giải thích việc nới rộng dãi thông bằng cách sử dụng các gói tin. 7. Sự khác biệt giữa bộ xử lý vào ra và bộ xử lý trung tâm của máy tính. 95
File đính kèm:
- Lịch sử máy tính & KTMT.pdf