KIẾN TRÚC MÁY TÍNH BÀI 3 TỔ CHỨC BỘ  XỬ LÝ Giáo viên:  Phạm Thành Văn ĐT:  0939.731.994 Email:  [email_address]
MÔN HỌC: KIẾN TRÚC MÁY TÍNH Bài 1: TỔNG QUAN MÁY TÍNH Bài 2: KIẾN TRÚC PHẦN MỀM BỘ XỬ LÝ Bài 3: TỔ CHỨC BỘ XỬ LÝ Bài 4: KỸ THUẬT XỬ LÝ THÔNG TIN Bài 5: BỘ NHỚ MÁY TÍNH Bài 6: HỆ THỐNG XUẤT NHẬP Bài 7: CĂN BẢN VỀ ASSEMBLY ÔN TẬP CUỐI MÔN   ĐỒ ÁN MÔN HỌC THI CUỐI MÔN
BÀI 3: TỔ CHỨC BỘ XỬ LÝ Đường đi của dữ liệu Bộ điều khiển Quá trình thực hiện lệnh mã máy Ngắt quãng thi hành Câu hỏi bài tập Nguyên tắc vận hành, tổ chức đường đi của dữ liệu của bộ xử lý, tiến trình thi hành lệnh mã máy.
MỤC TIÊU BÀI HỌC Hiểu được nhiệm vụ và cách tổ chức đường đi của dữ liệu trong bộ xử lý . Hiểu nguyên tắc vận hành của bộ điều khiển mạch điện tử . Hiểu nguyên tắc vận hành của bộ điều khiển vi chương trình . Hiểu nhiệm vụ của ngắt . Hiểu được tiến trình thi hành lệnh mã máy .
Đường đi của dữ liệu Nhiệm vụ và cách tổ chức đường đi của dữ liệu trong bộ xữ lý Các thành phần chính của CPU Bộ điều khiển (Control Unit) Nhận lệnh từ bộ nhớ Giãi mã lệnh và phát tín hiệu thực hiện lệnh ALU (Arilthmetic and Logic Unit) Thực hiện các phép toán số học và logic Tập các thanh ghi (Register Set)  Là những ngăn nhớ đặc biệt nằm ngay bên trong bộ VXL dùng để lưu trữ các dữ liệu tạm thời giúp cho hoạt động của bộ nhớ
Đường đi của dữ liệu Cấu trúc của CPU
Đường đi của dữ liệu Mô hình kiến trúc Von Newmann: CPU Bus Data A Y Z ALU  IN Out  Flags PC IR CU MAR Data Buffer System Bus Data Line Address Line Control Line
Đường đi của dữ liệu Cấu trúc của CPU
Đường đi của dữ liệu Các nhóm thanh ghi: Thanh ghi địa chỉ (MAR): Dùng để chứa địa chỉ của bộ nhớ hoặc cổng vào ra Thanh ghi dữ liệu: Dùng để dữ liệu tạm thời hoặc các kết quả trung gian Thanh ghi lệnh (IR): Dùng để chứa các lệnh đang thực hiện Thanh ghi cờ (Flag Register): Dùng lưu trữ các trạng thái của phép toán Thanh ghi đa năng:  thực hiện nhiều chức năng khác nhau tùy theo yêu cầu của người lập trình
Bộ điều khiển Chức năng của bộ điều khiển Tạo tín hiệu điều khiển, di chuyển số liệu Điều khiển ALU Điều khiển đọc, viết vào bộ nhớ trong Cài đặt bộ điều khiển dùng:  Mạch điện tử Vi chương trình Tạo tín hiệu điều khiển, di chuyển số liệu, điều khiển ALU, điều khiển đọc, viết vào bộ nhớ trong.
Bộ điều khiển Bộ điều khiển mạch điện tử:
Bộ điều khiển Bộ điều khiển vi chương trình:
Quá trình thi hành lệnh mã máy Đọc lệnh (Instruction Fetch) Giải mã (Instruction Decode) Thi hành (Execute) Thâm nhập bộ nhớ hoặc chuyển hướng (Memory Access ) Lưu  trữ (Result Storing/Write Back) Chu trình thực hiện lệnh trong bộ xử lý
Quá trình thi hành lệnh mã máy Đọc lệnh (Instruction Fetch - IF) MAR ← PC  IR ← M[MAR]  Bộ  đếm chương trình PC được đưa vào MAR . Lệnh  được  đọc từ bộ nhớ trong, tại các ô nhớ có địa chỉ nằm trong MAR và được đưa vào thanh ghi lệnh IR.
Quá trình thi hành lệnh mã máy Giải mã lệnh và đọc các thanh ghi nguồn: A  ← R0  B  ← R1  PC ← PC + 1  Lệnh được giải mã và các thanh ghi R0 và R1 được đưa vào A và B.  Thanh ghi PC được tăng lên để chỉ tới lệnh kế đó. Ví dụ: ADD AX, BX
Quá trình thi hành lệnh mã máy Thi hành lệnh:  Tuỳ theo loại lệnh mà một trong ba nhiệm vụ sau đây được thực hiện Liên hệ tới bộ nhớ  MAR ←  Địa chỉ do ALU tính tuỳ theo kiểu định vị (R0).  MBR ← R1  Địa chỉ hiệu dụng do ALU tính được đưa vào MAR và thanh ghi nguồn R1 được đưa vào MBR  để được lưu vào bộ nhớ trong.  Thực hiện tính toán  Ngã ra ALU ← Kết quả của phép tính  ALU thực hiện phép tính xác định trong mã lệnh,  đưa kết quả ra ngã ra.  Chuyển hướng chương trình (nhảy)  Ngã ra ALU  ← Địa chỉ lệnh tiếp theo do ALU tính.
Quá trình thi hành lệnh mã máy Thâm nhập bộ nhớ trong hoặc nhảy lần cuối  Giai đoạn này thường chỉ được dùng cho các lệnh nạp dữ  liệu, lưu giữ dữ liệu và lệnh nhảy.  Tham khảo đến bộ nhớ:  MBR  ← M[MAR] hoặc M[MAR] ← MBR  Số liệu được nạp vào MBR  hoặc lưu vào địa chỉ mà MAR trỏ đến.  Nhảy:  If (điều kiện), PC ←  ngả ra ALU  Nếu điều kiện đúng, ngã ra ALU được nạp vào PC. Đối với lệnh nhảy không điều kiện, ngả ra ALU luôn được nạp vào thanh ghi PC. Lưu trữ kết quả Rd ← Ngã ra ALU hoặc Rd ← MBR  Lưu trữ kết quả trong thanh ghi đích.
Ngắt quảng (interrupt) Nhiệm vụ Ngoại vi đòi hỏi nhập hoặc xuất số liệu.  Người lập trình muốn dùng dịch vụ của hệ điều hành.  Cho một chương trình chạy từng lệnh.  Làm điểm dừng của một chương trình.  Báo tràn số liệu trong tính toán số học.  Trang bộ nhớ thực sự không có trong bộ nhớ.  Báo vi phạm vùng cấm của bộ nhớ.  Báo dùng một lệnh không có trong tập lệnh.  Báo phần cứng máy tính bị hư.  Báo điện bị cắt.  … Làm ngưng tính tuần tự của chương trình, tạo ra một lệnh nhảy để chuyển hướng chương trình nhằm thực hiện một tiến trình khác.
Ngắt quảng (interrupt) Bộ xử lý thi hành khi ngắt quảng Thực hiện xong lệnh đang làm.  Lưu trữ trạng thái hiện tại.  Nhảy đến chương trình phục vụ ngắt Khi chương trình phục vụ chấm dứt, bộ xử lý khôi phục lại trạng thái cũ của nó và tiếp tục thực hiện chương trình mà nó đang thực hiện khi bị ngắt.
Câu hỏi bài tập 1.  Các thành phần và nhiệm vụ của  đường đi dữ liệu?  2.  Mô tả đường đi dữ liệu ứng với các lệnh sau:  ADD R1,R2,R3  SUB R1, R2, (R3)  ADD R1, R5, #100  JMP R1 (Nhảy đến ô  nhớ mà R1 trỏ tới)  BRA +5 (Nhảy bỏ 5 lệnh)  3.  Thế nào là ngắt quãng? Các giai đoạn thực hiện ngắt quãng của CPU.
HỎI - ĐÁP
THE - END Thank You !

3 To chuc bo vi xu ly

  • 1.
    KIẾN TRÚC MÁYTÍNH BÀI 3 TỔ CHỨC BỘ XỬ LÝ Giáo viên: Phạm Thành Văn ĐT: 0939.731.994 Email: [email_address]
  • 2.
    MÔN HỌC: KIẾNTRÚC MÁY TÍNH Bài 1: TỔNG QUAN MÁY TÍNH Bài 2: KIẾN TRÚC PHẦN MỀM BỘ XỬ LÝ Bài 3: TỔ CHỨC BỘ XỬ LÝ Bài 4: KỸ THUẬT XỬ LÝ THÔNG TIN Bài 5: BỘ NHỚ MÁY TÍNH Bài 6: HỆ THỐNG XUẤT NHẬP Bài 7: CĂN BẢN VỀ ASSEMBLY ÔN TẬP CUỐI MÔN ĐỒ ÁN MÔN HỌC THI CUỐI MÔN
  • 3.
    BÀI 3: TỔCHỨC BỘ XỬ LÝ Đường đi của dữ liệu Bộ điều khiển Quá trình thực hiện lệnh mã máy Ngắt quãng thi hành Câu hỏi bài tập Nguyên tắc vận hành, tổ chức đường đi của dữ liệu của bộ xử lý, tiến trình thi hành lệnh mã máy.
  • 4.
    MỤC TIÊU BÀIHỌC Hiểu được nhiệm vụ và cách tổ chức đường đi của dữ liệu trong bộ xử lý . Hiểu nguyên tắc vận hành của bộ điều khiển mạch điện tử . Hiểu nguyên tắc vận hành của bộ điều khiển vi chương trình . Hiểu nhiệm vụ của ngắt . Hiểu được tiến trình thi hành lệnh mã máy .
  • 5.
    Đường đi củadữ liệu Nhiệm vụ và cách tổ chức đường đi của dữ liệu trong bộ xữ lý Các thành phần chính của CPU Bộ điều khiển (Control Unit) Nhận lệnh từ bộ nhớ Giãi mã lệnh và phát tín hiệu thực hiện lệnh ALU (Arilthmetic and Logic Unit) Thực hiện các phép toán số học và logic Tập các thanh ghi (Register Set) Là những ngăn nhớ đặc biệt nằm ngay bên trong bộ VXL dùng để lưu trữ các dữ liệu tạm thời giúp cho hoạt động của bộ nhớ
  • 6.
    Đường đi củadữ liệu Cấu trúc của CPU
  • 7.
    Đường đi củadữ liệu Mô hình kiến trúc Von Newmann: CPU Bus Data A Y Z ALU IN Out Flags PC IR CU MAR Data Buffer System Bus Data Line Address Line Control Line
  • 8.
    Đường đi củadữ liệu Cấu trúc của CPU
  • 9.
    Đường đi củadữ liệu Các nhóm thanh ghi: Thanh ghi địa chỉ (MAR): Dùng để chứa địa chỉ của bộ nhớ hoặc cổng vào ra Thanh ghi dữ liệu: Dùng để dữ liệu tạm thời hoặc các kết quả trung gian Thanh ghi lệnh (IR): Dùng để chứa các lệnh đang thực hiện Thanh ghi cờ (Flag Register): Dùng lưu trữ các trạng thái của phép toán Thanh ghi đa năng: thực hiện nhiều chức năng khác nhau tùy theo yêu cầu của người lập trình
  • 10.
    Bộ điều khiểnChức năng của bộ điều khiển Tạo tín hiệu điều khiển, di chuyển số liệu Điều khiển ALU Điều khiển đọc, viết vào bộ nhớ trong Cài đặt bộ điều khiển dùng: Mạch điện tử Vi chương trình Tạo tín hiệu điều khiển, di chuyển số liệu, điều khiển ALU, điều khiển đọc, viết vào bộ nhớ trong.
  • 11.
    Bộ điều khiểnBộ điều khiển mạch điện tử:
  • 12.
    Bộ điều khiểnBộ điều khiển vi chương trình:
  • 13.
    Quá trình thihành lệnh mã máy Đọc lệnh (Instruction Fetch) Giải mã (Instruction Decode) Thi hành (Execute) Thâm nhập bộ nhớ hoặc chuyển hướng (Memory Access ) Lưu trữ (Result Storing/Write Back) Chu trình thực hiện lệnh trong bộ xử lý
  • 14.
    Quá trình thihành lệnh mã máy Đọc lệnh (Instruction Fetch - IF) MAR ← PC IR ← M[MAR] Bộ đếm chương trình PC được đưa vào MAR . Lệnh được đọc từ bộ nhớ trong, tại các ô nhớ có địa chỉ nằm trong MAR và được đưa vào thanh ghi lệnh IR.
  • 15.
    Quá trình thihành lệnh mã máy Giải mã lệnh và đọc các thanh ghi nguồn: A ← R0 B ← R1 PC ← PC + 1 Lệnh được giải mã và các thanh ghi R0 và R1 được đưa vào A và B. Thanh ghi PC được tăng lên để chỉ tới lệnh kế đó. Ví dụ: ADD AX, BX
  • 16.
    Quá trình thihành lệnh mã máy Thi hành lệnh: Tuỳ theo loại lệnh mà một trong ba nhiệm vụ sau đây được thực hiện Liên hệ tới bộ nhớ MAR ← Địa chỉ do ALU tính tuỳ theo kiểu định vị (R0). MBR ← R1 Địa chỉ hiệu dụng do ALU tính được đưa vào MAR và thanh ghi nguồn R1 được đưa vào MBR để được lưu vào bộ nhớ trong. Thực hiện tính toán Ngã ra ALU ← Kết quả của phép tính ALU thực hiện phép tính xác định trong mã lệnh, đưa kết quả ra ngã ra. Chuyển hướng chương trình (nhảy) Ngã ra ALU ← Địa chỉ lệnh tiếp theo do ALU tính.
  • 17.
    Quá trình thihành lệnh mã máy Thâm nhập bộ nhớ trong hoặc nhảy lần cuối Giai đoạn này thường chỉ được dùng cho các lệnh nạp dữ liệu, lưu giữ dữ liệu và lệnh nhảy. Tham khảo đến bộ nhớ: MBR ← M[MAR] hoặc M[MAR] ← MBR Số liệu được nạp vào MBR hoặc lưu vào địa chỉ mà MAR trỏ đến. Nhảy: If (điều kiện), PC ← ngả ra ALU Nếu điều kiện đúng, ngã ra ALU được nạp vào PC. Đối với lệnh nhảy không điều kiện, ngả ra ALU luôn được nạp vào thanh ghi PC. Lưu trữ kết quả Rd ← Ngã ra ALU hoặc Rd ← MBR Lưu trữ kết quả trong thanh ghi đích.
  • 18.
    Ngắt quảng (interrupt)Nhiệm vụ Ngoại vi đòi hỏi nhập hoặc xuất số liệu. Người lập trình muốn dùng dịch vụ của hệ điều hành. Cho một chương trình chạy từng lệnh. Làm điểm dừng của một chương trình. Báo tràn số liệu trong tính toán số học. Trang bộ nhớ thực sự không có trong bộ nhớ. Báo vi phạm vùng cấm của bộ nhớ. Báo dùng một lệnh không có trong tập lệnh. Báo phần cứng máy tính bị hư. Báo điện bị cắt. … Làm ngưng tính tuần tự của chương trình, tạo ra một lệnh nhảy để chuyển hướng chương trình nhằm thực hiện một tiến trình khác.
  • 19.
    Ngắt quảng (interrupt)Bộ xử lý thi hành khi ngắt quảng Thực hiện xong lệnh đang làm. Lưu trữ trạng thái hiện tại. Nhảy đến chương trình phục vụ ngắt Khi chương trình phục vụ chấm dứt, bộ xử lý khôi phục lại trạng thái cũ của nó và tiếp tục thực hiện chương trình mà nó đang thực hiện khi bị ngắt.
  • 20.
    Câu hỏi bàitập 1. Các thành phần và nhiệm vụ của đường đi dữ liệu? 2. Mô tả đường đi dữ liệu ứng với các lệnh sau: ADD R1,R2,R3 SUB R1, R2, (R3) ADD R1, R5, #100 JMP R1 (Nhảy đến ô nhớ mà R1 trỏ tới) BRA +5 (Nhảy bỏ 5 lệnh) 3. Thế nào là ngắt quãng? Các giai đoạn thực hiện ngắt quãng của CPU.
  • 21.
  • 22.
    THE - ENDThank You !