Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
409,5 KB
Nội dung
Chương – Tổ chức xử lý Tổ chức xử lý trung tâm Bộ ghi Đường liệu (Datapath) Tổ chức One-Bus Tổ chức Two-Bus, Three-Bus Diễn tiến thi hành lệnh mã máy Bộ điều khiển Xử lý ngắt (Interrupt Handling) Kỹ thuật ống dẫn (Pipeline) Khoa KTMT 7.1 Tổ chức xử lý trung tâm đòi hỏi bên CPU: – – – – – Tìm nạp lệnh (Fetch Instruction) Diễn giải lệnh (Interpret Instruction) Tìm nạp liệu (Fetch data) Xử lý liệu (Process data) Ghi liệu (Write data) Khoa KTMT Cấu trúc bên CPU Khoa KTMT 7.2 Bộ ghi Thanh ghi mục đích chung Thanh ghi có mục đích đặc biệt Chiều dài ghi Số lượng ghi Thanh ghi truy cập nhớ – Thanh ghi liệu nhớ (memory data register - MDR) – Thanh ghi địa nhớ (memory address register – MAR) Thanh ghi chuyển tải lệnh – Bộ đếm chương trình (program counter – PC) – Thanh ghi lệnh (instruction register – IR) Thanh ghi từ trạng thái chương trình (program status word – PSW) Khoa KTMT Các ghi họ 80x86 – ghi mục đích chung: SI (source index), DI (destination index), SP (stack pointer) BP (base pointer) – Thanh ghi segment – Thanh ghi đếm chương trình PC, ghi lệnh IR ghi cờ trạng thái Khoa KTMT 7.3 Đường liệu (Datapath) Đường liệu gồm có – – – – logic-số học (ALU: Arithmetic and Logic Unit), mạch dịch, ghi đường nối kết phận Nhiệm vụ phần đường liệu – đọc toán hạng từ ghi tổng quát – thực phép tính toán hạng ALU – lưu trữ kết ghi tổng quát Khoa KTMT Tổ chức One-Bus Một BUS sử dụng liệu di chuyển chu kỳ đồng hồ => phép toán có hai toán hạng cần hai chu kỳ đồng hồ Khoa KTMT Tổ chức Two-Bus Khoa KTMT Three-Bus Tổ chức đường truyền liệu dạng three-bus Khoa KTMT 7.4 Diễn tiến thi hành lệnh mã máy(CPU instruction cycle) Việc thi hành lệnh mã máy chia thành giai đoạn – – – – Đọc lệnh (IF: Instruction Fetch) Giải mã lệnh (ID: Instruction Decode) Thi hành lệnh (EX: Execute) Thâm nhập nhớ nhảy (MEM: Memory access) – Lưu trữ kết (RS: Result Storing) Khoa KTMT 10 Đọc lệnh Đọc lệnh (fetch instruction): – – – – Dữ liệu PC load vào MAR: MAR ← PC Giá trị ghi PC tăng lên 1: PC ← PC+1 Kết lệnh đọc từ nhớ, liệu load vào MDR: MDRM[MAR] Dữ liệu MDR load vào IR: IR ← M[MAR] Thứ tự thực lệnh theo thời gian loại one-bus: Khoa KTMT 11 Đọc lệnh - Giải mã lệnh Thứ tự thực lệnh theo thời gian loại three-bus: Giải mã lệnh đọc ghi nguồn: – A ← Rs1 – B ← Rs2 – PC ← PC + Khoa KTMT 12 Thi hành lệnh số học đơn giản Ví dụ: ADD R1,R2,R0 Các bước thi hành lệnh: Trong cấu trúc one-bus two-bus Khoa KTMT 13 Thi hành lệnh số học đơn giản Ví dụ lệnh: ADD R0,X Đối với cấu trúc one-bus Two-bus Three-bus Khoa KTMT 14 7.5 Bộ điều khiển Bộ điều khiển mạch điện tử – nguyên lý hoạt động mạch hay Automate (mạch tự động hóa) trạng thái hữu hạn – Ưu điểm : • có số hữu hạn trạng thái • tối ưu để tạo chế độ nhanh cho tác vụ Bộ điều khiển vi chương trình – dùng vi chương trình lập sẵn nằm nhớ điều khiển (control memory) để khởi động dãy vi tác vụ theo yêu cầu – dùng rộng rãi xử lý CISC Khoa KTMT 15 Bộ điều khiển (tt) sơ đồ khối điều khiển mạch điện tử Khoa KTMT 16 7.6 Xử lý ngắt (Interrupt Handling) Ngắt kiện xảy cách ngẫu nhiên máy tính làm ngưng tính chương trình (nghĩa tạo lệnh nhảy) ngắt quãng dùng cho công việc: – – – – – – – – – – Ngoại vi đòi hỏi nhập xuất số liệu Người lập trình muốn dùng dịch vụ hệ điều hành Cho chương trình chạy lệnh Làm điểm dừng chương trình Báo tràn số liệu tính toán số học Trang nhớ thực nhớ Báo vi phạm vùng cấm nhớ Báo dùng lệnh tập lệnh Báo phần cứng máy tính bị hư Báo điện bị cắt Khoa KTMT 23 7.6 Xử lý ngắt (Interrupt Handling) Khi ngắt xảy ra, xử lý thi hành bước: – – – – Thực xong lệnh làm Lưu trữ trạng thá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, xử lý khôi phục lại trạng thái cũ tiếp tục thực chương trình mà thực bị ngắt Thực vi tác vụ ngắt Khoa KTMT 24 7.7 Kỹ thuật ống dẫn (PIPELINE) Thực lệnh kỹ thuật pipeline: Một số ràng buộc pipeline – – – – Cần phải có mạch điện tử để thi hành giai đoạn lệnh Phải có nhiều ghi khác dùng cho tác vụ đọc viết Cần phải giải mã lệnh cách đơn giản Cần phải có làm tính ALU hữu hiệu để thi hành lệnh số học dài Khoa KTMT 25 Những khó khăn kỹ thuật ống dẫn Khó khăn cấu trúc Khó khăn điều khiển Khó khăn số liệu – ví dụ trường hợp lệnh liên tiếp sau: Lệnh 1: ADD R1, R2, R3 Lệnh 2: SUB R4, R1, R5 Lệnh 3: AND R6, R1, R7 Lệnh 4: OR R8, R1, R9 Khoa KTMT 26 [...]... 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 Khoa KTMT 23 7. 6 Xử lý ngắt (Interrupt Handling) Khi một ngắt xảy ra, bộ xử lý thi hành các bước: – – – –... (control memory) để khởi động dãy vi tác vụ theo yêu cầu – dùng rộng rãi trong các bộ xử lý CISC Khoa KTMT 15 Bộ điều khiển (tt) sơ đồ khối một bộ điều khiển mạch điện tử cơ bản Khoa KTMT 16 7. 6 Xử lý ngắt (Interrupt Handling) Ngắt là một sự kiện xảy ra một cách ngẫu nhiên trong máy tính và làm ngưng tính tuần tự của chương trình (nghĩa là tạo ra một lệnh nhảy) ngắt quãng được dùng cho các công... trúc one-bus Two-bus Three-bus Khoa KTMT 14 7. 5 Bộ điều khiển Bộ điều khiển mạch điện tử – nguyên lý hoạt động như một mạch tuần tự hay Automate (mạch tự động hóa) trạng thái hữu hạn – Ưu điểm : • chỉ có một số hữu hạn các trạng thái • tối ưu để tạo ra chế độ nhanh cho tác vụ Bộ điều khiển vi chương trình – dùng một vi chương trình lập sẵn nằm trong bộ nhớ điều khiển (control memory) để khởi động... các bước: – – – – 1 Thực hiện xong lệnh đang làm 2 Lưu trữ trạng thái hiện tại 3 Nhảy đến chương trình phục vụ ngắt 4 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 Thực hiện các vi tác vụ khi ngắt Khoa KTMT 24 7. 7 Kỹ thuật ống dẫn (PIPELINE) Thực hiện lệnh trong kỹ thuật pipeline: Một số ràng buộc... phải giải mã các lệnh một cách đơn giản Cần phải có các bộ làm tính ALU hữu hiệu để có thể thi hành lệnh số học dài nhất Khoa KTMT 25 Những khó khăn trong kỹ thuật ống dẫn Khó khăn do cấu trúc Khó khăn do điều khiển Khó khăn do số liệu – ví dụ trường hợp các lệnh liên tiếp sau: Lệnh 1: ADD R1, R2, R3 Lệnh 2: SUB R4, R1, R5 Lệnh 3: AND R6, R1, R7 Lệnh 4: OR R8, R1, R9 Khoa KTMT 26 ...Đọc lệnh Đọc lệnh (fetch instruction): – – – – Dữ liệu trong PC được load vào MAR: MAR ← PC Giá trị trong thanh ghi PC tăng lên 1: PC ← PC+1 Kết quả của lệnh đọc từ bộ nhớ, dữ liệu được load vào MDR: MDRM[MAR] Dữ liệu trong MDR được load vào IR: IR ← M[MAR] Thứ tự thực hiện lệnh theo thời gian đối với loại one-bus: Khoa KTMT 11 Đọc lệnh - Giải mã lệnh Thứ tự .. .7. 1 Tổ chức xử lý trung tâm đòi hỏi bên CPU: – – – – – Tìm nạp lệnh (Fetch Instruction) Diễn giải lệnh (Interpret Instruction) Tìm nạp liệu (Fetch data) Xử lý liệu (Process... cắt Khoa KTMT 23 7. 6 Xử lý ngắt (Interrupt Handling) Khi ngắt xảy ra, xử lý thi hành bước: – – – – Thực xong lệnh làm Lưu trữ trạng thái Nhảy đến chương trình phục vụ ngắt Khi chương trình phục... tác vụ Bộ điều khiển vi chương trình – dùng vi chương trình lập sẵn nằm nhớ điều khiển (control memory) để khởi động dãy vi tác vụ theo yêu cầu – dùng rộng rãi xử lý CISC Khoa KTMT 15 Bộ điều