Bài giảng Cấu trúc máy tính - Chương 3: Hệ thống máy tính

3.1.1. Các thành phần cơ bản của máy tính
 Bộ xử lý trung t}m (Central Processing Unit)
 Bộ nhớ (Memory)
 Hệ thống v{o-ra (Input-Output System)
 Bus liên kết hệ thống (System Interconnection Bus)
5
1. Bộ xử lý trung tâm (CPU)
 Chức năng:
 Điều khiển hoạt động của to{n bộ hệ thống m|y tính
 Xử lý dữ liệu
 Nguyên tắc hoạt động cơ bản:
 CPU hoạt động theo chương trình nằm trong bộ nhớ chính 
pdf 256 trang thiennv 08/11/2022 4280
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cấu trúc máy tính - Chương 3: Hệ thống máy tính", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_giang_cau_truc_may_tinh_chuong_3_he_thong_may_tinh.pdf

Nội dung text: Bài giảng Cấu trúc máy tính - Chương 3: Hệ thống máy tính

  1. Các thành phần bộ nhớ máy tính Bộ nhớ Bộ nhớ CPU trong ngoài 11
  2. Bộ nhớ trong . Chức năng v{ đặc điểm:  Chứa c|c thông tin m{ CPU có thể trao đổi trực tiếp  Tốc độ rất nhanh  Dung lượng không lớn  Sử dụng bộ nhớ b|n dẫn: ROM v{ RAM . C|c loại bộ nhớ trong:  Bộ nhớ chính  Bộ nhớ cache (bộ nhớ đệm nhanh) 12
  3. Bộ nhớ chính (Main Memory) . L{ th{nh phần nhớ tồn tại trên mọi hệ thống m|y tí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 . Thông thường, bộ nhớ chính bao gồm 2 phần:  Bộ nhớ RAM  Bộ nhớ ROM 13
  4. Bộ nhớ đệm nhanh (Cache) . L{ th{nh phần nhớ tốc độ nhanh được đặt đệm giữa CPU v{ bộ nhớ chính nhằm tăng tốc độ truy cập bộ nhớ của CPU. . Tốc độ của cache nhanh hơn bộ nhớ chính nhưng dung lượng nhỏ hơn. . Cache thường được chia ra th{nh một số mức: cache L1, cache L2, . Hiện nay cache được tích hợp trên c|c chip vi xử lý. . Cache có thể có hoặc không. 14
  5. Bộ nhớ ngoài . Chức năng v{ đặc điểm:  Lưu giữ t{i nguyên phần mềm của m|y tính, bao gồm: hệ điều h{nh, c|c chương trình v{ c|c dữ liệu  Bộ nhớ ngo{i được kết nối với hệ thống dưới dạng c|c thiết bị v{o-ra  Dung lượng lớn  Tốc độ chậm . C|c loại bộ nhớ ngo{i:  Bộ nhớ từ: đĩa cứng, đĩa mềm  Bộ nhớ quang: đĩa CD, DVD  Bộ nhớ b|n dẫn: Flash disk, memory card 15
  6. 3. Hệ thống vào-ra (Input-Output) . Chức năng: Trao đổi thông tin giữa m|y tính với thế giới bên ngo{i. . C|c thao t|c cơ bản:  V{o dữ liệu (Input)  Ra dữ liệu (Output) . C|c th{nh phần chính:  C|c thiết bị ngoại vi (Peripheral Devices)  Các mô-đun nối ghép v{o-ra (IO Modules) 16
  7. Cấu trúc cơ bản của hệ thống vào-ra Cổng Thiết bị vào- ngoại vi ra Cổng Thiết bị Bên vào- ngoại vi trong Module ra máy Vào-ra tính Cổng Thiết bị vào- ngoại vi ra 17
  8. Các thiết bị ngoại vi . Chức năng: chuyển đổi dữ liệu giữa bên trong v{ bên ngoài máy tính . 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 18
  9. Mô-đun vào-ra . Chức năng: nối ghép thiết bị ngoại vi với m|y tính . Kh|i niệm cổng v{o-ra:  Trong mỗi mô-đun v{o-ra có một hoặc một v{i cổng v{o-ra (I/O Port).  Mỗi cổng v{o-ra cũng được đ|nh một địa chỉ x|c định.  Thiết bị ngoại vi được kết nối v{ trao đổi dữ liệu với bên trong m|y tính thông qua c|c cổng v{o-ra. 19
  10. 4. Bus liên kết hệ thống  Luồng thông tin trong m|y tính  Cấu trúc bus cơ bản  Ph}n cấp bus trong m|y tính 20
  11. Luồng thông tin trong máy tính . Các mô-đun trong m|y tính:  CPU  Mô-đun nhớ  Mô-đun v{o-ra cần được kết nối với nhau 21
  12. Kết nối mô-đun nhớ Địa chỉ Dữ liệu Dữ liệu hoặc lệnh T/h đ/khiển đọc Module nhớ T/h đ/khiển ghi 22
  13. Kết nối mô-đun vào-ra Địa chỉ DL đến TBNV DL từ bên trong MT DL từ TBNV DL đến bên trong MT Module T/h đ/khiển đọc vào-ra Các t/h đ/khiển ngắt T/h đ/khiển ghi 23
  14. Kết nối CPU Lệnh Địa chỉ Dữ liệu Dữ liệu CPU Các t/h đ/khiển Các t/h đ/khiển ngắt bộ nhớ và vào-ra 24
  15. Nhận xét . Có 4 loại thông tin:  Địa chỉ  Dữ liệu  Lệnh  Thông tin điều khiển 25
  16. Cấu trúc bus cơ bản . Kh|i niệm chung về bus:  Bus: tập hợp c|c đường kết nối dùng để vận chuyển thông tin giữa c|c th{nh phần của m|y tính với nhau.  Độ rộng bus: l{ số đường d}y của bus có thể truyền thông tin đồng thời. Tính bằng bit. . C|c bus chức năng:  Bus địa chỉ  Bus dữ liệu  Bus điều khiển 26
  17. Sơ đồ cấu trúc bus cơ bản Môđun Môđun CPU Môđun nhớ Môđun nhớ vào-ra vào-ra N bit Bus địa chỉ M bit Bus dữ liệu Bus điều khiển 27
  18. Bus địa chỉ (Address bus) . Chức năng: vận chuyển địa chỉ để x|c định ngăn nhớ hay cổng v{o-ra . Độ rộng bus địa chỉ: cho biết số lượng ngăn nhớ tối đa được đ|nh địa chỉ.  N bit: AN-1, AN-2, A2, A1, A0 có thể đ|nh địa chỉ tối đa cho 2N ngăn nhớ (không gian địa chỉ bộ nhớ) . Ví dụ:  Bộ xử lý Pentium có bus địa chỉ 32 bit có khả năng đ|nh địa chỉ cho 232 bytes nhớ (4GBytes) (ngăn nhớ tổ chức theo byte) 28
  19. Bus dữ liệu (Data bus) . Chức năng:  vận chuyển lệnh từ bộ nhớ đến CPU  vận chuyển dữ liệu giữa CPU, mô đun nhớ, mô đun v{o-ra với nhau . Độ rộng bus dữ liệu: X|c định số bit dữ liệu có thể được trao đổi đồng thời.  M bit: DM-1, DM-2, D2, D1, D0  M thường l{ 8, 16, 32, 64,128 bit. . Ví dụ: C|c bộ xử lý Pentium có bus dữ liệu 64 bit 29
  20. Bus điều khiển (Control bus) . Chức năng: vận chuyển c|c tín hiệu điều khiển . Các loại tín hiệu điều khiển:  C|c tín hiệu điều khiển đọc/ghi  C|c tín hiệu điều khiển ngắt  C|c tín hiệu điều khiển bus 30
  21. Một số tín hiệu điều khiển điển hình . C|c tín hiệu ph|t ra từ CPU để điều khiển đọc/ghi:  Memory Read (MEMR): điều khiển đọc dữ liệu từ một ngăn nhớ có địa chỉ x|c định lên bus dữ liệu.  Memory Write (MEMW): điều khiển ghi dữ liệu có sẵn trên bus dữ liệu đến một ngăn nhớ có địa chỉ x|c định.  I/O Read (IOR): điều khiển đọc dữ liệu từ một cổng v{o-ra có địa chỉ x|c định lên bus dữ liệu.  I/O Write (IOW): điều khiển ghi dữ liệu có sẵn trên bus dữ liệu ra một cổng có địa chỉ x|c định. 31
  22. Một số tín hiệu điều khiển điển hình . C|c tín hiệu điều khiển ngắt:  Interrupt Request (INTR): Tín hiệu từ bộ điều khiển v{o-ra gửi đến yêu cầu ngắt CPU để trao đổi v{o-ra. Tín hiệu INTR có thể bị che.  Interrupt Acknowledge (INTA): Tín hiệu ph|t ra từ CPU b|o cho bộ điều khiển v{o-ra biết CPU chấp nhận ngắt.  Non Maskable Interrupt (NMI): tín hiệu ngắt không che được gửi đến ngắt CPU.  Reset: Tín hiệu từ bên ngo{i gửi đến CPU v{ c|c th{nh phần kh|c để khởi động lại m|y tính. 32
  23. Một số tín hiệu điều khiển điển hình . C|c tín hiệu điều khiển bus:  Bus Request (BRQ) / Hold: Tín hiệu từ bộ điều khiển v{o-ra chuyên dụng gửi đến yêu cầu CPU chuyển nhượng quyền sử dụng bus.  Bus Grant (BGT) / Hold Acknowledge: Tín hiệu ph|t ra từ CPU chấp nhận chuyển nhượng quyền sử dụng bus.  Lock: Tín hiệu khóa không cho xin chuyển nhượng bus.  Unlock: Tín hiệu mở khóa cho xin chuyển nhượng bus. 33
  24. Đặc điểm của cấu trúc đơn bus . Tất cả c|c th{nh phần cùng nối v{o một đường bus chung . Tại một thời điểm, bus chỉ phục vụ được một yêu cầu trao đổi dữ liệu . Bus phải có tốc độ bằng tốc độ của th{nh phần nhanh nhất trong hệ thống . Bus phụ thuộc v{o cấu trúc bus của bộ xử lý các mô-đun nhớ v{ c|c mô-đun v{o-ra cũng phụ thuộc v{o bộ xử lý cụ thể. Cần phải thiết kế bus ph}n cấp hay cấu trúc đa bus 34
  25. Phân cấp bus trong máy tính . Ph}n cấp th{nh nhiều bus kh|c nhau cho c|c th{nh phần:  Bus của bộ xử lý  Bus của bộ nhớ chính  Các bus vào-ra . Ph}n cấp bus kh|c nhau về tốc độ . C|c bus nối ghép với mô-đun nhớ v{ mô-đun v{o-ra không phụ thuộc v{o bộ xử lý cụ thể. 35
  26. Các bus điển hình trong máy PC . Bus của bộ xử lý (Front Side Bus – FSB): có tốc độ nhanh nhất . Bus của bộ nhớ chính (nối ghép với c|c mô-đun nhớ RAM) . AGP bus (Accelerated Graphic Port) – cổng tăng tốc đồ họa: nối ghép với card m{n hình . PCI bus (Peripheral Component Interconnect): nối ghép với c|c TBNV có tốc độ trao đổi dữ liệu nhanh. . USB (Universal Serial Bus): bus nối tiếp đa năng . IDE (Integrated Drive Electronics): bus kết nối với ổ đĩa cứng hoặc ổ đĩa quang (CD, DVD, ) 36
  27. VD Chipset 37
  28. VD Bo mạch chính 38
  29. 3.1.2. Hoạt động cơ bản của máy tính  Thực hiện chương trình  Ngắt  Hoạt động v{o ra 39
  30. 1. Thực hiện chương trình . L{ hoạt động cơ bản của m|y tính . M|y tính lặp đi lặp lại hai bước:  Nhận lệnh  Thực hiện lệnh . Thực hiện chương trình bị dừng nếu thực hiện lệnh bị lỗi hoặc gặp lệnh dừng. 40
  31. Nhận lệnh . Bắt đầu mỗi chu trình lệnh, CPU nhận lệnh từ bộ nhớ chính. . Bộ đếm chương trình PC (Program Counter) của CPU giữ địa chỉ của lệnh sẽ được nhận. . CPU nhận lệnh từ ngăn nhớ được trỏ bởi PC. . Lệnh được nạp v{o thanh ghi lệnh IR (Instruction Register). . Sau khi lệnh được nhận v{o, nội dung PC tự động tăng để trỏ sang lệnh kế tiếp. 41
  32. Minh họa quá trình nhận lệnh Bộ nhớ chính Bộ nhớ chính CPU CPU Lệnh 300 Lệnh 300 PC Lệnh 301 PC Lệnh 301 302 Lệnh i 302 303 Lệnh i 302 Lệnh i+1 303 Lệnh i+1 303 IR Lệnh 304 IR Lệnh 304 Lệnh 305 Lệnh i Lệnh 305 Trước khi nhận lệnh i Sau khi nhận lệnh i 42
  33. Thực thi lệnh . Lệnh nằm ở IR sẽ được chuyển sang đơn vị điều khiển (Control Unit). Đơn vị điều khiển sẽ tiến h{nh giải m~ lệnh v{ ph|t c|c tín hiệu điều khiển thực thi thao t|c m{ lệnh yêu cầu. . C|c kiểu thao t|c của lệnh:  Trao đổi dữ liệu giữa CPU v{ bộ nhớ chính  Trao đổi dữ liệu giữa CPU v{ mô-đun v{o-ra  Xử lý dữ liệu: thực hiện c|c phép to|n số học hoặc phép to|n logic với c|c dữ liệu  Điều khiển rẽ nh|nh  Kết hợp c|c thao t|c trên 43
  34. 2. Ngắt (Interrupt) . Kh|i niệm chung về ngắt (Interrupt): Ngắt l{ cơ chế cho phép CPU tạm dừng chương trình đang thực hiện để chuyển sang thực hiện một chương trình kh|c, gọi là chương trình con phục vụ ngắt. . C|c loại ngắt:  Ngắt do lỗi khi thực hiện chương trình, ví dụ: tr{n số, chia cho 0  Ngắt do lỗi phần cứng, ví dụ: lỗi bộ nhớ RAM  Ngắt do tín hiệu yêu cầu từ mô-đun v{o-ra gửi đến CPU yêu cầu trao đổi dữ liệu 44
  35. Hoạt động ngắt . Sau khi ho{n th{nh mỗi một lệnh, bộ xử lý kiểm tra tín hiệu ngắt . Nếu không có ngắt bộ xử lý nhận lệnh tiếp theo của chương trình hiện tại . Nếu có tín hiệu ngắt:  Tạm dừng chương trình đang thực hiện  Cất ngữ cảnh (c|c thông tin liên quan đến chương trình bị ngắt)  Thiết lập PC trỏ đến chương trình con phục vụ ngắt  Chuyển sang thực hiện chương trình con phục vụ ngắt  Cuối chương trình con phục vụ ngắt, khôi phục ngữ cảnh v{ tiếp tục chương trình đang bị tạm dừng 45
  36. Hoạt động ngắt 46
  37. Xử lý với nhiều tín hiệu yêu cầu ngắt . Xử lý ngắt tuần tự:  Khi một ngắt đang được thực hiện, c|c ngắt kh|c sẽ bị cấm  Bộ xử lý sẽ bỏ qua c|c ngắt tiếp theo trong khi đang xử lý một ngắt  C|c ngắt vẫn đang đợi v{ được kiểm tra sau khi ngắt đầu tiên được xử lý xong  C|c ngắt được thực hiện tuần tự 47
  38. Xử lý với nhiều tín hiệu yêu cầu ngắt . Xử lý ngắt ưu tiên:  C|c ngắt được định nghĩa mức ưu tiên kh|c nhau  Ngắt có mức ưu tiên thấp hơn có thể bị ngắt bởi ngắt ưu tiên cao hơn ngắt xảy ra lồng nhau 48
  39. 3. Hoạt động vào-ra . L{ hoạt động trao đổi dữ liệu giữa thiết bị ngoại vi với bên trong máy tính. . C|c kiểu hoạt động v{o-ra:  CPU trao đổi dữ liệu với mô-đun v{o-ra  Mô-đun v{o-ra trao đổi dữ liệu trực tiếp với bộ nhớ chính (DMA- Direct Memory Access). 49
  40. 3.2. Bộ xử lý trung tâm 3.2.1. Cấu trúc cơ bản của CPU 3.2.2. Tập lệnh 3.2.3. Hoạt động của CPU 50
  41. 3.2.1. Cấu trúc cơ bản của CPU Đơn vị điều Đơn vị số Tập các khiển học và logic thanh ghi (CU) (ALU) (RF) Bus bên trong Đơn vị ghép nối Bus (BIU) Bus điều Bus dữ liệu Bus địa chỉ khiển 51
  42. 1. Đơn vị điều khiển (CU) . Chức năng:  Điều khiển nhận lệnh từ bộ nhớ đưa v{o thanh ghi lệnh v{ tăng nội dung của PC để trỏ sang lệnh kế tiếp.  Giải m~ lệnh nằm trong thanh ghi lệnh để x|c định thao t|c cần thực hiện v{ ph|t ra tín hiệu điều khiển thực hiện lệnh đó.  Nhận tín hiệu yêu cầu từ bus hệ thống v{ đ|p ứng với c|c yêu cầu đó. 52
  43. Đơn vị điều khiển (tiếp) . Mô hình kết nối của đơn vị điều khiển: Thanh ghi lệnh Các Tín hiệu điều cờ khiển bên Đơn vị điều trong CPU khiển Clock Tín hiệu yêu Tín hiệu điều cầu từ Bus hệ khiển đến Bus thống hệ thống Bus điều khiển 53
  44. Đơn vị điều khiển (tiếp) . C|c tín hiệu đưa đến đơn vị điều khiển:  M~ lệnh từ thanh ghi lệnh đưa đến để giải m~  C|c cờ từ thanh ghi cờ cho biết trạng th|i của CPU  Xung clock từ bộ tạo xung bên ngo{i cung cấp cho đơn vị điều khiển l{m việc  C|c tín hiệu yêu cầu từ bus điều khiển 54
  45. Đơn vị điều khiển (tiếp) . C|c tín hiệu ph|t ra từ đơn vị điều khiển:  C|c tín hiệu điều khiển bên trong CPU: . Điều khiển c|c thanh ghi . Điều khiển hoạt động của ALU  C|c tín hiệu điều khiển bên ngo{i CPU: . Điều khiển bộ nhớ chính . Điều khiển c|c module v{o-ra 55
  46. 2. Đơn vị số học và logic (ALU) . Chức năng: Thực hiện c|c phép to|n số học v{ c|c phép toán logic.  Số học: cộng, trừ, nh}n, chia, tăng, giảm, đảo dấu,  Logic: AND, OR, XOR, NOT, c|c phép dịch v{ quay bit 56
  47. Đơn vị số học và logic (tiếp) . Mô hình kết nối của ALU: Dữ liệu vào Dữ liệu ra từ các đến các thanh ghi thanh ghi Đơn vị số học Các tín và logic hiệu từ (ALU) đơn vị điều khiển Thanh ghi cờ 57
  48. 3. Tập thanh ghi (RF) a. Chức năng v{ ph}n loại b. Một số thanh ghi điển hình 58
  49. a. Chức năng và phân loại . Chức năng:  L{ tập hợp c|c thanh ghi nằm trong CPU  Chứa c|c thông tin tạm thời phục vụ cho hoạt động hiện tại của CPU. 59
  50. Phân loại tập thanh ghi . Ph}n loại theo khả năng can thiệp của người lập trình:  C|c thanh ghi không lập trình được: người lập trình không can thiệp được  C|c thanh ghi lập trình được: người lập trình can thiệp được . Ph}n loại theo chức năng:  Thanh ghi địa chỉ: quản lý địa chỉ của ngăn nhớ hay cổng v{o-ra  Thanh ghi dữ liệu: chứa c|c dữ liệu tạm thời hoặc kết quả trung gian phục vụ cho việc xử lý dữ liệu của CPU  Thanh ghi điều khiển v{ trạng th|i: chứa c|c thông tin điều khiển v{ trạng th|i của CPU  Thanh ghi lệnh: chứa lệnh đang được thực hiện  Thanh ghi đa năng: có thể chứa địa chỉ hoặc dữ liệu 60
  51. b. Một số thanh ghi điển hình . C|c thanh ghi địa chỉ  Bộ đếm chương trình (Program Counter – PC)  Con trỏ dữ liệu (Data Pointer – DP)  Con trỏ ngăn xếp (Stack Pointer – SP)  Thanh ghi cơ sở v{ thanh ghi chỉ số (Base Register & Index Register) . C|c thanh ghi dữ liệu . Thanh ghi trạng th|i 61
  52. Các vùng nhớ cơ bản của CT . Chương trình đang thực hiện phải nằm trong bộ nhớ chính v{ nó chiếm 3 vùng nhớ cơ bản sau:  Vùng nhớ lệnh (Code): chứa c|c lệnh của chương trình.  Vùng dữ liệu (Data): chứa dữ liệu của chương trình. Thực chất đ}y l{ nơi cấp ph|t c|c ngăn nhớ cho c|c biến nhớ.  Vùng ngăn xếp (Stack): l{ vùng nhớ có cấu trúc LIFO (Last In First Out) dùng để cất giữ thông tin v{ sau đó có thể khôi phục lại. Thường dùng cho việc thực hiện c|c chương trình con. 62
  53. Bộ đếm chương trình (PC) . Còn gọi l{ con trỏ lệnh (Instruction Pointer - IP) . L{ thanh ghi chứa địa chỉ của lệnh tiếp theo sẽ được nhận v{o. . Sau khi một lệnh được nhận v{o thì nội dung của PC tự động tăng để trỏ sang lệnh kế tiếp nằm ngay sau lệnh vừa được nhận. 63
  54. Minh họa hoạt động của PC Vùng nhớ lệnh (Code) Lệnh Lệnh PC Lệnh sẽ được nhận vào Lệnh kế tiếp Lệnh Lệnh 64
  55. Thanh ghi con trỏ dữ liệu (DP) . Chứa địa chỉ của ngăn nhớ dữ liệu m{ CPU muốn truy cập. . Thường có một số thanh ghi con trỏ dữ liệu. 65
  56. Minh họa hoạt động của DP Vùng dữ liệu (Data) Dữ liệu Dữ liệu DP Dữ liệu cần đọc/ghi Dữ liệu Dữ liệu Dữ liệu 66
  57. Con trỏ ngăn xếp (SP) . Chứa địa chỉ của ngăn nhớ đỉnh ngăn xếp (ngăn xếp có chiều từ đ|y lên đỉnh ngược với chiều tăng của địa chỉ) . Khi cất thêm một thông tin v{o ngăn xếp:  Nội dung của SP tự động giảm  Thông tin được cất v{o bắt đầu từ ngăn nhớ trỏ bởi SP . Khi lấy một thông tin ra khỏi ngăn xếp:  Thông tin được lấy ra bắt đầu từ ngăn nhớ trỏ bởi SP  Nội dung của SP tự động tăng . Khi ngăn xếp rỗng: SP trỏ v{o đ|y ngăn xếp 67
  58. Minh họa hoạt động của SP Ngăn xếp (Stack) Ngăn xếp (Stack) Đỉnh Stack cũ Đỉnh Stack mới Đ Đ ị ị SP Đỉnh Stack mới a SP Đỉnh Stack cũ a c c h h ỉ ỉ t t ă ă n n g g d d ầ ầ n n Đáy Stack Đáy Stack Khi lấy 1 thông tin ra khỏi ngăn xếp, SP tự động tăng Khi cất 1 thông tin vào ngăn xếp, SP tự động giảm 68
  59. Thanh ghi cơ sở và thanh ghi chỉ số . Thanh ghi cơ sở: chứa địa chỉ của ngăn nhớ cơ sở (địa chỉ cơ sở). . Thanh ghi chỉ số: chứa độ lệch địa chỉ giữa ngăn nhớ m{ CPU cần truy cập so với ngăn nhớ cơ sở (chỉ số). . Địa chỉ của ngăn nhớ cần truy cập = địa chỉ cơ sở + chỉ số 69
  60. Minh họa thanh ghi cơ sở và chỉ số Bộ nhớ chính Thanh ghi cơ sở Ngăn nhớ cơ sở Thanh ghi chỉ số Ngăn nhớ cần truy cập 70
  61. Các thanh ghi dữ liệu . Chứa c|c dữ liệu tạm thời hoặc c|c kết quả trung gian phục vụ cho việc xử lý dữ liệu của CPU . Cần có nhiều thanh ghi dữ liệu . C|c thanh ghi số nguyên: 8, 16, 32, 64 bit . C|c thanh ghi số dấu chấm động 71
  62. Thanh ghi trạng thái . Còn gọi l{ thanh ghi cờ (Flag Register) . Chứa c|c thông tin trạng th|i của CPU  C|c cờ phép to|n: biểu thị trạng th|i của kết quả phép to|n  C|c cờ điều khiển: điều khiển chế độ l{m việc của CPU 72
  63. Ví dụ cờ phép toán . Cờ Zero (ZF - cờ rỗng): được thiết lập lên 1 khi kết quả của phép to|n vừa thực hiện xong bằng 0. . Cờ Sign (SF - cờ dấu): được thiết lập lên 1 khi kết quả của phép to|n vừa thực hiện nhỏ hơn 0, hay nói c|ch kh|c, cờ Sign nhận gi| trị bằng bit dấu của kết quả. . Cờ Carry (CF - cờ nhớ): được thiết lập lên 1 nếu phép to|n xảy ra hiện tượng carry-out. . Cờ Overflow (OF - cờ tr{n): được thiết lập lên 1 nếu phép to|n xảy ra hiện tượng overflow. 73
  64. Ví dụ cờ điều khiển . Cờ Interrupt (IF - cờ cho phép ngắt):  Nếu IF = 1 thì CPU ở trạng th|i cho phép ngắt với tín hiệu yêu cầu ngắt từ bên ngo{i gửi tới.  Nếu IF = 0 thì CPU ở trạng th|i cấm ngắt với tín hiệu yêu cầu ngắt từ bên ngo{i. 74
  65. Bài tập . Giả sử có c|c biến nhớ a, b, c, d, e, f thuộc kiểu số nguyên có dấu 8 bit. C|c biến a, b được g|n gi| trị như sau: a:=-58 b:=72 H~y biểu diễn c|c phép tính sau đ}y dưới dạng số nhị ph}n v{ cho biết kết quả dạng thập ph}n cùng với gi| trị của c|c cờ ZF, SF, CF, OF tương ứng. c:=a-b d:=a+b e:=b-a f:=-a-b 75
  66. Bộ xử lý trung tâm 3.2.1. Cấu trúc cơ bản của CPU 3.2.2. Tập lệnh 3.2.3. Hoạt động của CPU 76
  67. 3.2.2. Tập lệnh 1. Giới thiệu chung về tập lệnh 2. C|c kiểu thao t|c điển hình 3. C|c phương ph|p địa chỉ hóa to|n hạng 77
  68. 1. Giới thiệu chung về tập lệnh . Mỗi bộ xử lý có một tập lệnh x|c định (mang tính kế thừa trong cùng một dòng họ). . Tập lệnh thường có h{ng chục đến h{ng trăm lệnh. . Mỗi lệnh l{ một chuỗi số nhị ph}n m{ bộ xử lý hiểu được để thực hiện một thao t|c x|c định. . C|c lệnh được mô tả bằng c|c kí hiệu gợi nhớ các lệnh hợp ngữ. 78
  69. Khuôn dạng của một lệnh máy Mã thao tác Tham chiếu toán hạng . Mã thao tác (Operation Code - Opcode): mã hóa cho thao t|c m{ CPU phải thực hiện. . Tham chiếu to|n hạng: m~ hóa cho to|n hạng hoặc nơi chứa to|n hạng m{ thao t|c sẽ t|c động.  To|n hạng nguồn (Source Operand): dữ liệu v{o của thao t|c (CPU sẽ đọc)  To|n hạng đích (Destination Operand): dữ liệu ra của thao t|c (CPU sẽ ghi) 79
  70. Số lượng toán hạng trong lệnh . Ba to|n hạng:  2 to|n hạng nguồn, 1 to|n hạng đích  VD: c = a + b  Từ lệnh d{i vì phải m~ hóa địa chỉ cho cả 3 to|n hạng  Thường được sử dụng trên c|c bộ xử lý tiên tiến . Hai to|n hạng:  1 to|n hạng l{ to|n hạng nguồn, to|n hạng còn lại vừa l{ nguồn vừa l{ đích.  VD: a = a + b  Gi| trị cũ của 1 to|n hạng nguồn sẽ bị ghi đè bằng KQ  Rút gọn độ d{i từ lệnh  Thường được dùng phổ biến 80