Bài giảng Kiến trúc máy tính - Huỳnh Văn Khỏe

pdf 59 trang phuongnguyen 5400
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Huỳnh Văn Khỏe", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_huynh_van_khoe.pdf

Nội dung text: Bài giảng Kiến trúc máy tính - Huỳnh Văn Khỏe

  1. TRƯỜNG CĐCĐ ĐỒNG THÁP KHOA KT-CN  Bài giảng KIẾN TRÚC MÁY TÍNH
  2. Chương 1: Nhập môn kiến trúc máy tính 9/7/2010 GV: Huỳnh Văn Khỏe 2
  3.  Nội dung: 1.1 Một số khái niệm và nguyên lý cơ bản 1.1.1 Nguyên tắc tổ chức 1.1.2 Ngôn ngữ máy và các cấp kiến trúc máy tính 1.2 Lịch sử phát triển và phân loại máy tính 1.2.1 Lịch sử phát triển 1.2.2 Phân loại máy tính 1.3 Các hệ thống số 1.3.1 Hệ thập phân 1.3.2 Hệ nhị phân 1.3.2 Hệ bát phân 1.3.3 Hệ thập lục phân 1.4 Số nguyên có dấu 9/7/2010 GV: Huỳnh Văn Khỏe 3
  4. 1.1 Một số khái niệm và nguyên lý cơ bản 1.1.1 Nguyên tắc tổ chức: Một máy tính số được phát triển trên cơ sở của 2 phần: Phần cứng và phần mềm - Phần cứng (Hardware) - Phần mềm (Software) 9/7/2010 GV: Huỳnh Văn Khỏe 4
  5. Phần cứng (Hardware) 9/7/2010 GV: Huỳnh Văn Khỏe 5
  6. 1.1 Một số khái niệm và nguyên lý cơ bản 1.1.2 Ngôn ngữ máy và các cấp kiến trúc máy tính 5 Các ngôn ngữ bậc cao và hướng đốii tưtượng 4 Cấp hợp ngữ 3 Cấp máy hệ điều hành 2 Cấp llệnh máy (llệnh vĩĩ mô) 1 Cấp vi llệnh (llệnh vi mô) 0 Cấp logiclogic số (Các mạch 9/7/2010 GV:đi Huệnỳnhttử Vănsố) Khỏe 6
  7. 1.2 Lịch sử phát triển và ứng dụng của máy tính điện tử: 1.2.1 Các thế hệ máy tính: Thế hệ thứ I Thế hệ thứ II Thế hệ thứ III Thế hệ thứ IV (1946 – 1957) (1958 – 1964) (1965 – 1971) (1972 - ) 9/7/2010 GV: Huỳnh Văn Khỏe 7
  8. 1.2 Lịch sử phát triển và ứng dụng của máy tính điện tử: 1.2.2 Lịch sử phát triển: Sự phát triển của máy tính được mô tả dựa trên sự tiến bộ của các công nghệ chế tạo các linh kiện cơ bản của máy tính như: bộ xử lý, bộ nhớ, các ngoại vi, 9/7/2010 GV: Huỳnh Văn Khỏe 8
  9. 1.2.2 Lịch sử phát triển: 1.2.2.1 Thế hệ đầu tiên (1946-1957): - Công nghệ chế tạo: + Đèn điện tử + Rờ le - Phần mềm: + Lập trình bằng tay 9/7/2010 GV: Huỳnh Văn Khỏe 9
  10. 1.2.2 Lịch sử phát triển: 1.2.2.1 Thế hệ đầu tiên (1946-1957): Tiêu biểu: ENIAC (Electronic Numerical Integrator and Computer) là máy tính điện tử số đầu tiên do Giáo sư Mauchly và người học trò Eckert tại Đại học Pennsylvania thiết kế vào năm 1943 và được hoàn thành vào năm 1946 9/7/2010 GV: Huỳnh Văn Khỏe 10
  11. 1.2.2.1 Thế hệ đầu tiên: 9/7/2010 GV: Huỳnh Văn Khỏe 11
  12. 1.2.2.1 Thế hệ đầu tiên: Giáo sư toán học John Von Neumann đã đưa ra ý tưởng thiết kế máy tính IAS (Princeton Institute for Advanced Studies Máy tính Von Neumann. 9/7/2010 GV: Huỳnh Văn Khỏe 12
  13. 1.2.2.2 Thế hệ thứ 2 (1958-1964): - Sử dụng Transistor lưỡng cực (BJT) - Mạch in - Bộ nhớ xuyến từ - Ngôn ngữ lập trình đầu tiên : FORTRAN (1956), COBOL (1959), ALGOL (1960) - Hệ điều hành kiểu tuần tự (Batch Processing) được dùng 9/7/2010 GV: Huỳnh Văn Khỏe 13
  14. 1.2.2.2 Thế hệ thứ 2 (1958-1964): 9/7/2010 GV: Huỳnh Văn Khỏe 14
  15. 1.2.2.2 Thế hệ thứ 2 (1958-1964): - Mạch in (PCB: Printed Circuit Board) 9/7/2010 GV: Huỳnh Văn Khỏe 15
  16. 1.2.2.2 Thế hệ thứ 2 (1958-1964): - Bộ nhớ xuyến từ: 9/7/2010 GV: Huỳnh Văn Khỏe 16
  17. 1.2.2.3 Thế hệ thứ 3 (1965-1971): - Mạch tích hợp (IC: Integrated Circuit) - S/MSI : Small/Medium Scale Integration - Mạch in nhiều lớp - Bộ nhớ bán dẫn - Máy tính đa chương trình - Hệ điều hành chia thời gian được dùng. 9/7/2010 GV: Huỳnh Văn Khỏe 17
  18. 1.2.2.3 Thế hệ thứ 3 (1965-1971): 9/7/2010 GV: Huỳnh Văn Khỏe 18
  19. 1.2.2.4 Thế hệ thứ 4 (1972-nay):  Công nghệ chế tạo: - L/VLSI : Large/Very large Scale Integration - Bộ xử lí (Microprocessor) PC (Personal Computer) NC (Network Computer) - Bộ nhớ bán dẫn, bộ nhớ cache và bộ nhớ ảo - Kỹ thuật ống dẫn (pipeline), máy tính song song  Phần mềm: - Các giải thuật Song song, - HĐH phân tán (Client-server) 9/7/2010 GV: Huỳnh Văn Khỏe 19
  20. 1.2.2.4 Thế hệ thứ 4 (1972-nay) 9/7/2010 GV: Huỳnh Văn Khỏe 20
  21. 1.2.2.5 Khuynh hướng hiện đại: 9/7/2010 GV: Huỳnh Văn Khỏe 21
  22. Đơn vị flop: - gigaflop tỷ phép tính/giây - teraflop nghìn tỷ phép tính/giây - petaflop triệu tỷ phép tính/giây - exaflop tỷ tỷ phép tính/giây 1.2.3 Phân loại máy tính: - zettaflop nghìn tỷ tỷ phép tính/giây - yottaflop triệu tỷ tỷ phép tính/giây - xeraflop tỷ tỷ tỷ phép tính/giây 9/7/2010 GV: Huỳnh Văn Khỏe 22
  23. 1.2.3 Phân loại máy tính: - Siêu máy tính (Super computer): - Vượt trội trong khả năng và tốc độ xử lý. - Siêu máy tính hiện nay có tốc độ xử lý hàng trăm teraflop (một teraflop tương đương với hiệu suất một nghìn tỷ phép tính/giây) - Có thể hiểu siêu máy tính là hệ thống những máy tính làm việc song song. - Giá vài triệu USD - Dùng để tính toán khoa học 9/7/2010 GV: Huỳnh Văn Khỏe 23
  24. 1.2.3 Phân loại máy tính: - Siêu máy tính (Super computer): - Siêu máy tính mới của IBM gồm 96 khối máy, mỗi khối có kích cỡ bằng một chiếc tủ lạnh - Tên là Sequoia, sẽ được đưa ra thị trường vào năm 2011 và khách hàng đầu tiên là Bộ Năng lượng Mỹ. Bộ này sẽ sử dụng nó cho các nghiên cứu thử nghiệm hạt nhân. - Sequoia được thiết kế có tốc độ xử lý 20 triệu tỷ phép tính/1 giây, nhanh hơn 20 lần so với tốc độ của chiếc siêu máy tính nhanh nhất thế giới hiện nay và nhanh gấp 2 triệu lần một chiếc máy tính thông thường. 9/7/2010 GV: Huỳnh Văn Khỏe 24
  25. 1.2.3 Phân loại máy tính: - Siêu máy tính (Super computer): - Nhỏ gọn như máy để bàn - Siêu máy tính SC072 – tên mã là Catapult - Trang bị tới 72 chip vi xử lý, 48GB dung lượng bộ nhớ RAM, 3 cổng PCIExpress kết nối thiết bị lưu trữ và có mức tiêu thụ năng lượng trung bình vào khoảng 200 watts. 9/7/2010 GV: Huỳnh Văn Khỏe 25
  26. 1.2.3 Phân loại máy tính: - Máy tính lớn (Mainframe) - Là loại máy tính có kích thước lớn được sử dụng chủ yếu bởi các công ty lớn như các ngân hàng, các hãng bảo hiểm - Có thể nhận hàng ngàn lệnh cùng 1 lúc. - Ví dụ máy IBM Z9 (2008) có thể được cài 20 processor và đáp ứng 8000.000.000 (8 tỉ) lệnh 1 giây . 9/7/2010 GV: Huỳnh Văn Khỏe 26
  27. 1.2.3 Phân loại máy tính: - Máy tính mini (Minicomputer) - Được sử dụng như mainframe - Sức mạnh ở giữa máy tính lớn và máy tính cá nhân - Là một hệ thống đa xử lý có khả năng hỗ trợ từ 4 đến khoảng 200 người sử dụng cùng một lúc. - Ứng dụng trong các trường đại học, các ngành công nghiệp,và thương mại - Giá vài chục ngàn USD 9/7/2010 GV: Huỳnh Văn Khỏe 27
  28. 1.2.3 Phân loại máy tính: - Máy tính cá nhân (Microcomputer/PC) 9/7/2010 GV: Huỳnh Văn Khỏe 28
  29.  Thành quả của máy tính: 9/7/2010 GV: Huỳnh Văn Khỏe 29
  30.  Thành quả của máy tính: Quy luật MOORE về sự phát triển của máy tính 9/7/2010 GV: Huỳnh Văn Khỏe 30
  31.  Thành quả của máy tính: 9/7/2010 GV: Huỳnh Văn Khỏe 31
  32.  Thành quả của máy tính: 9/7/2010 GV: Huỳnh Văn Khỏe 32
  33.  Thành quả của máy tính: 9/7/2010 GV: Huỳnh Văn Khỏe 33
  34.  Thành quả của máy tính: 9/7/2010 GV: Huỳnh Văn Khỏe 34
  35.  Thành quả của máy tính: Quy luật MOORE về sự phát triển của máy tính 9/7/2010 GV: Huỳnh Văn Khỏe 35
  36. 1.3 Các hệ thống số - Khái niệm thông tin Thông tin số: tri thức về một trạng thái trong số một số hữu hạn các trạng thái có thể có Lượng tử thông tin: 1 bit thông tin: được biểu diễn bởi số nhị phân 0,1 n bit có 2n trạng thái khác nhau Lượng thông tin chứa trong tri thức của một trạng thái trong số N là I= log2N Độ lớn thông tin mà máy tính có thể thao tác: 8, 16, 32, 64 bits 9/7/2010 GV: Huỳnh Văn Khỏe 36
  37. 1.3 Các hệ thống số - Biểu diễn số: Cần phân biệt số và cách thể hiện số. Thể hiện một số là một cách mã hoá Một hệ thống số được gọi là hệ b sẽ gồm b ký hiệu trong một tập hợp: sb s0 , s1, , sb 1 Một số N được viết: N (anan 1 ai a1a0,a 1a 2 a m)b;ai sb Sẽ có giá trị là: n n 1 i 1 1 m N (anb an 1b aib a1b a0 a 1b a mb n i  ai b i m 9/7/2010 GV: Huỳnh Văn Khỏe 37
  38. 1.3 Các hệ thống số 1.3.1 Hệ thập phân (cơ số 10) Gồm 10 số mã trong một tập hợp s10 0,1,2, ,9 1.3.2 Hệ nhị phân (cơ số 2) Gồm 2 số mã trong một tập hợp s2 0,1 1.3.3 Hệ bát phân (cơ số 8) Gồm 8 số mã trong một tập hợp s8 0,1,2, ,7 1.3.4 Hệ thập lục phân (cơ số 16) Gồm 16 số mã trong một tập hợp (theo sau có chữ H hay h) s16 0,1,2, ,9, A, B,C, D, E, F 9/7/2010 GV: Huỳnh Văn Khỏe 38
  39. 1.3.5 Chuyển cơ số  Từ hệ b sang hệ 10 n n 1 i 1 1 m N (anb an 1b aib a1b a0 a 1b a mb n i  ai b i m  Từ hệ 10 sang hệ b Một số N hệ b có dạng: N (anan 1 ai a1a0,a 1a 2 a m)b;ai sb Trong đó: (anan 1 ai a0 )b PE(N) : là phần nguyên và (0,a 1a 2 a m )b PF(N) : là phần lẻ của N 9/7/2010 GV: Huỳnh Văn Khỏe 39
  40.  Từ hệ 10 sang hệ b VD: đổi số 25,12510 sang hệ 2 Phần nguyên 25:2=12 dư 1 a0=1 12:2=6 dư 0 a1=0 6:2 = 3 dư 0 a2=0 3:2 =1 dư 1 a3=1 1:2 = 0 dư 1 a4=1 PE(N) = 11001 9/7/2010 GV: Huỳnh Văn Khỏe 40
  41.  Từ hệ 10 sang hệ b Phần lẻ: 0,125 x 2 = 0,025 a-1=0 0,025 x 2 =0,5 a-2=0 0,5 x 2 =1,0 a-3 = 1 PF(N)=001 Kết quả : 25,12510 = 11001.0012 9/7/2010 GV: Huỳnh Văn Khỏe 41
  42. Đổi một số từ hệ b sang hệ bk và ngược lại: Để đổi một số từ hệ b sang hệ bk, từ dấu phẩy đi về 2 phía ta nhóm từng k số hạng, giá trị của mỗi k số hạng này (tính theo hệ b) chính là số trong hệ bk 3 VD: đổi số N=10111110101.011012 sang hệ 8 = 2 N= 010 111 110 101. 011 010 N= 2 7 6 5 , 3 2 8 9/7/2010 GV: Huỳnh Văn Khỏe 42
  43. Đổi một số từ hệ bk sang hệ bp và ngược lại Để đổi một số N từ hệ bk sang hệ bp, trước nhất ta đổi N cang hệ b, rồi từ hệ b tiếp tục đổi sang hệ bp. 4 VD: đổi số N=1234,678 sang hệ 16 = 2 N= 001 010 011 100. 110 111 N= 0010 1001 1100. 1101 1100 N= 2 9 C , D C H 9/7/2010 GV: Huỳnh Văn Khỏe 43
  44. Bảng kê các số đầu tiên trong các hệ khác nhau: Thập Nhị Bát Thập Thập Nhị Bát Thập phân phân phân lục phân phân phân lục phân phân 0 0 0 0 13 1101 15 D 1 1 1 1 14 1110 16 E 2 10 2 2 15 1111 17 F 3 11 3 3 16 10000 20 10 4 100 4 4 17 10001 21 11 5 101 5 5 18 10010 22 12 6 110 6 6 19 10011 23 13 7 111 7 7 20 10100 24 14 8 1000 10 8 21 10101 25 15 9 1001 11 9 22 10110 26 16 10 1010 12 A 23 10111 27 17 11 1011 13 B 24 11000 30 18 12 1100 14 C 25 11001 31 19 9/7/2010 GV: Huỳnh Văn Khỏe 44
  45. 1.3.6 Các phép tính trong hệ nhị phân:  Phép cộng: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 (nhớ 1 cho bít cao hơn) Lưu ý: -Nếu số bít 1 chẵn, kết quả là 0 -Nếu bít 1 lẻ, kết quả là 1 -Và cứ 1 cặp bít 1 cho một số nhớ VD: tính 011 + 101 + 011 + 011 1 1  số nhớ 1 1 1  số nhớ 0 1 1 + 1 0 1 0 1 1 0 1 1 1 1 1 0 9/7/2010 GV: Huỳnh Văn Khỏe 45
  46. 1.3.6 Các phép tính trong hệ nhị phân:  Phép trừ: 0 - 0 = 0 1 - 1 = 0 1 - 0 = 1 0 - 1 = 1 (nhớ 1 cho bít cao hơn) VD: tính 1 0 1 1 – 0 1 0 1 1  số nhớ 1 0 1 1 - 0 1 0 1 0 1 1 0 9/7/2010 GV: Huỳnh Văn Khỏe 46
  47. 1.3.6 Các phép tính trong hệ nhị phân:  Phép nhân: 0 x 0 = 0 1 x 0 = 0 1 x 1 = 1 VD: tính 1 1 0 1 x 1 0 1 1 1 0 1 x 1 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 9/7/2010 GV: Huỳnh Văn Khỏe 47
  48. 1.3.6 Các phép tính trong hệ nhị phân:  Phép chia: VD: chia 1 0 0 1 1 0 0 1 0 0 cho 1 1 0 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 0 - 1 1 0 0 0 1 1 0 0 1. 1 0 0 1 1 1 0 0 -1 1 0 0 0 0 0 1 0 0 1 0 0 - 1 1 0 0 0 0 1 1 0 0 0 Thêm 0 vào để chia tiếp lấy phần lẻ - 1 1 0 0 0 0 0 0 0 0 9/7/2010 GV: Huỳnh Văn Khỏe 48
  49. 1.4 Số nguyên có dấu: Có nhiều cách để biểu diễn một số n bit có dấu. Trong tất cả mọi cách thì bit cao nhất luôn tượng trưng cho dấu. - bit dấu có giá trị là 0 thì số nguyên dương - bit dấu có giá trị là 1 thì số nguyên âm dn-1 dn-2 di d1 d0 bit dấu Số nguyên có bit dn-1 là bit dấu và có trị số tượng trưng bởi các bit từ d0 tới dn-2 9/7/2010 GV: Huỳnh Văn Khỏe 49
  50. 1.4.1 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 2 dn 1 i N ( 1)  di 2 i 0 Ví dụ: +2510 = 000110012 -2510 = 100110012 - Một Byte (8 bit) có thể biểu diễn các số có dấu từ -127 tới +127. - Có hai cách biểu diễn số không là 00000000 (+0) và 10000000 (-0). 9/7/2010 GV: Huỳnh Văn Khỏe 50
  51. 1.4.2 Cách biểu diễn hằng số bù 1 Số âm -N được có bằng cách thay các số nhị phân di của số đương N bằng số bù của nó (nghĩa là nếu di = 0 thì người ta đổi nó thành 1 và ngược lại). Ví dụ: +2510 = 0 0 0 1 1 0 0 12 -2510 = 1 1 1 0 0 1 1 02 - Một Byte cho phép biểu diễn tất cả các số có dấu từ -127 (100000002) đến 127 (0111 11112) - Có hai cách biểu diễn cho 0 là 00000000 (+0) và 11111111 (-0). 9/7/2010 GV: Huỳnh Văn Khỏe 51
  52. 1.4.3 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 2 n 1 i N dn 1 2  di 2 i 0 Ví dụ: +2510 = 000110012 -2510 = 111001112 - Dùng 1 Byte (8 bit) để biểu diễn một số có dấu lớn nhất là +127 và số nhỏ nhất là –128. - Chỉ có một giá trị 0: +0 = 000000002, -0 = 000000002 9/7/2010 GV: Huỳnh Văn Khỏe 52
  53. 1.4.4 Cách biểu diễn bằng số thừa K Số dương của một số N có được bằng cách “cộng thêm vào” số thừa K được chọn sao cho tổng của K và một số âm bất kỳ luôn luôn dương. Số âm -N của số N có được bằng cáck lấy K-N (hay lấy bù hai của số vừa xác định). Ví dụ: (số thừa K=128, số “cộng thêm vào” 128 là một số nguyên dương. Số âm là số lấy bù hai số vừa tính, bỏ qua số giữ của bit cao nhất) : 128 + 2510 = 100110012 - 2510 = 011001112 - Dùng 1 Byte (8 bit) để biểu diễn một số có dấu lớn nhất là +127 và số nhỏ nhất là –128. - Chỉ có một giá trị 0: +0 = 100000002, -0 = 100000002 9/7/2010 GV: Huỳnh Văn Khỏe 53
  54. 1.4.5 Cách biểu diễn số với dấu chấm động Chuẩn IEEE 754 định nghĩa hai dạng biểu diễn số chấm động: - Số chấm động chính xác đơn với định dạng được định nghĩa: chiều dài số: 32 bit được chia thành các trường: dấu S (Sign bit - 1 bit), mũ E (Exponent – 8 bit), phần lẻ F (Fraction - 23 bit). S (E - 127) Số này tương ứng với số thực (-1) * (1,f1 f2 f23) * 2 Bit 31 30 23 22 1 0 S E f1 f2 f22 f23 9/7/2010 GV: Huỳnh Văn Khỏe 54
  55. 1.4.5 Cách biểu diễn số với dấu chấm động Chuẩn IEEE 754 định nghĩa hai dạng biểu diễn số chấm động: - Số chấm động chính xác kép với định dạng được định nghĩa: chiều dài số: 64 bit được chia thành các trường: dấu S (Sign bit - 1 bit), mũ E (Exponent – 11 bit), phần lẻ F (Fraction - 52 bit) S (E - 1023) Số này tương ứng với số thực (-1) * (1,f1 f2 f52) * 2 Bit 63 62 52 51 1 0 S E f1 f2 f22 f23 9/7/2010 GV: Huỳnh Văn Khỏe 55
  56. 1.4.5 Cách biểu diễn số với dấu chấm động VD: Đổi số thập phân -12.62510 sang số chấm động chuẩn IEEE 754 chính xác đơn (32 bit) - Bước 1: Đổi số -12.62510 sang nhị phân: -12.62510 = - 1100.1012 3 - Bước 2: Chuẩn hoá: -1100.1012 = -1.1001012 x 2 (Số 1.1001012 dạng 1.f) - Bước 3: Điền các bit vào các trường theo chuẩn: Số âm: bit dấu S có giá trị 1. Phần mũ E với số thừa K=127, ta có: E-127=3 ⇒ E = 3 + 127 = 130 (1000 00102). Kết quả: 1 1000 0010 1001 0100 0000 0000 0000 000 S E F 9/7/2010 GV: Huỳnh Văn Khỏe 56
  57. Câu hỏi ôn tập
  58. Bài tập
  59. Tài liệu tham khảo 1. Giáo trình kiến trúc máy tính – Khoa CNTT&TT trường ĐHCT (2003) 2. Kiến trúc máy tính – Hóa NGUYEN - College of Technology, Vietnam National University, HanoiUniversity 3. Kiến trúc máy tính – Trần Quang Vinh – NXB ĐHSP 4. Giáo trình Kỹ thuật số - Nguyễn Trung Lập – Trường ĐHCT