Bài giảng Cấu trúc máy tính - Bài 8: Vi tác vụ

Một hệ thống số là một kết nối các đơn thể phần cứng nhằm thực hiện một tác vụ xử lý thông tin nào đó.

Các đơn thể được tạo từ các thành phần số như thanh ghi, mạch giải mã, các phần tử tính toán.

Tác vụ xử lý dữ liệu lưu trên thanh ghi gọi là một vi tác vụ.

 

ppt47 trang | Chia sẻ: phuongt97 | Lượt xem: 379 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Cấu trúc máy tính - Bài 8: Vi tác vụ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
VI TÁC VỤVI TÁC VỤ THANH GHI Một hệ thống số là một kết nối các đơn thể phần cứng nhằm thực hiện một tác vụ xử lý thông tin nào đó.Các đơn thể được tạo từ các thành phần số như thanh ghi, mạch giải mã, các phần tử tính toán.Tác vụ xử lý dữ liệu lưu trên thanh ghi gọi là một vi tác vụ.VI TÁC VỤ THANH GHI (tt)Kết quả vi tác vụ có thể thay thế dữ liệu đã lưu trước đó hoặc chuyển qua thanh ghi khác.Ví dụ các vi tác vụ: dịch, đếm, xóa và nạp.Một số thanh ghi đã xét trước đây được dùng cho vi tác vụ.Ví dụ mạch đếm nạp song song có thể thực hiện vi tác vụ tăng và nạp.Thanh ghi dịch 2 chiều có khả năng thực hiện các vi tác vụ dịch phải và trái.VI TÁC VỤ THANH GHI (tt)Thường có 4 loại vi tác vụ: - Vi tác vụ thanh ghi chuyển thông tin nhị phân từ thanh ghi này qua thanh ghi khác. - Vi tác vụ số học thực hiện các phép tính số học với dữ liệu số trên thanh ghi. - Vi tác vụ luận lý thực hiện các tác vụ thao tác bit với dữ liệu phi số trên thanh ghi. - Vi tác vụ dịch thực hiện các tác vụ dịch dữ liệu trên thanh ghi. VI TÁC VỤ THANH GHI (tt)Có thể mô tả dãy vi tác vụ bằng lời, nhưng thường dài dòng.Thường dùng ký hiệu phù hợp để mô tả.Quy tắc thông dụng: - Các thanh ghi được ghi bằng chữ hoa (đôi khi kèm theo một số) thể hiện chức năng của nó. - Ví dụ: MAR – thanh ghi lưu địa chỉ bộ nhớ PC – thanh ghi đếm chương trình. IR – thanh ghi lệnh. R1 – thanh ghi xử lý (các mạch lật trong thanh ghi n-bit được đánh số từ 0 đến n-1 tính từ phải qua trái)VI TÁC VỤ THANH GHI (tt)Lược đồ khối thanh ghiVI TÁC VỤ THANH GHI (tt)Mệnh đề (hoặc vi lệnh) chuyển thanh ghi R1 sang R2 (dùng toán tử thay thế ), R1 không đổi: R2  R1Mệnh đề IF – Then với P là tín hiệu điều khiển (khi P =1 truyền R1 sang R2): If (P =1) then (R2  R1)Dùng hàm điều khiển (là biến boolean) có trị 1 hoặc 0, khi P =1, truyền R1 sang R2: P: R2  R1TRUYỀN QUA BUSBus là một tập các đường truyền dẫn các tín hiệu từ nơi này sang nơi khác.Thường dùng bus chung cho mọi thanh ghi và tín hiệu điều khiển sẽ xác định thanh ghi nào được truyền.TRUYỀN QUA BUS (tt)Bảng trên cho thấy thanh ghi nào được truyền lên Bus qua điều khiển của S1S0TRUYỀN QUA BUS (tt)Tổng quát hệ thống Bus dùng cho k thanh ghi n-bit sẽ có n mạch dồn k-1.Ví dụ Bus cho 8 thanh ghi 16-bit cần 16 mạch dồn 8-1 với 3 đường chọn.Để truyền từ Bus vào thanh ghi phải nối Bus với đường nhập của thanh ghi và có tín hiệu điều khiển nạp.Như vậy muốn truyền từ thanh ghi này qua thanh ghi kia (R1  C) phải thực hiện: Bus  C, R1  BusTRUYỀN QUA BUS (tt)Hệ thống bus cho 4 thanh ghiBUS 3 TRẠNG THÁICó thể tạo Bus bằng cổng 3 trạng thái thay cho mạch dồn.Cổng 3 trạng thái là mạch số 3 trạng thái.Hai trạng thái là tín hiệu tương đương luận lý 1 và 0 như cổng bình thường, trạng thái 3 là trạng thái trở kháng cao.Trạng thái trở kháng cao hoạt động như mạch hở, lúc đó ngõ ra bị ngắt.BUS 3 TRẠNG THÁI (tt)Cổng 3 trạng thái có thể thực hiện mọi luận lý quy ước như: AND hoặc NAND.Tuy nhiên người ta thường dùng cổng đệm (buffer gate) để thiết kế BusCổng đệm 3 trạng thái khác với cổng đệm bình thường là có thêm ngõ điều khiển, khi bằng 1 – hoạt động như cổng đệm thường; khi bằng 0 – cổng có trạng thái trở kháng cao, ngõ ra bị cấm.BUS 3 TRẠNG THÁI (tt)Ký hiệu cổng 3 trạng tháiBUS 3 TRẠNG THÁI (tt)Bus dùng cổng 3 trạng thái thay cho mạch dồnBộ giải mãBUS 3 TRẠNG THÁI (tt) Khi ngõ nhập E = 0, mạch không hoạt động.Khi E = 1, tùy theo ngõ nhập chọn S1S0, các bit A0/B0/C0/D0 của thanh ghi A/B/C/D sẽ chuyển sang đường busTRUYỀN QUA BỘ NHỚTruyền thông tin từ một từ nhớ ra ngoài gọi là tác vụ đọc, đưa thông tin mới vào bộ nhớ gọi là viết (ghi).Đặt M là ký hiệu của một từ nhớ.Trước khi truyền phải xác định địa chỉ của M, đặt AR là thanh ghi chứa địa chỉ của từ nhớ và DR là thanh ghi nhận thông tin đọc từ M. Ký hiệu: Read: DR  M[AR]Tác vụ truyền nội dung thanh ghi R1 vào M (tác vụ viết) có địa chỉ trong thanh ghi AR. Ký hiệu: Write: M[AR]  R1VI TÁC VỤ SỐ HỌCMạch cộng nhị phân: Để cài đặt vi tác vụ cộng với phần cứng cần có các thanh ghi và mạch thực hiện phép cộng số học. Vi tác vụ số họcVI TÁC VỤ SỐ HỌC (tt)Mạch cộng nhị phân 4 bitMẠCH CỘNG TRỪ NHỊ PHÂNPhép cộng và trừ có thể kết hợp vào một mạch bằng cách thêm cổng XOR vào mỗi mạch toàn cộng.Khi M = 0, mạch thực hiện phép cộng.Khi M = 1, mạch thực hiện phép trừC4S3S2S1S0FAFAFAFAC0C1C2C3MB0A1B1A2B2A3B3B0Mạch tăng nhị phân 4 bitMẠCH TĂNG NHỊ PHÂNViệc tăng lên 1 có thể thực hiện bằng mạch đếm.Tuy nhiên, tác vụ tăng 1 thường áp cho bất kỳ thanh ghi nào nên thường dùng mạch tăng nhị phân được tạo từ mạch nửa cộng.MẠCH SỐ HỌCCác vi tác vụ số học có thể thực hiện qua một mạch ghép số học.Thành phần cơ bản của mạch này là mạch cộng song song.Qua các ngõ vào mạch cộng có thể điều khiển mạch thực hiện các phép tính khác nhauMẠCH SỐ HỌCBảng hàm mạch số họcVI TÁC VỤ LUẬN LÝVi tác vụ luận lý là tác vụ nhị phân trên chuỗi bit trong thanh ghi.Có 16 tác vụ luận lý khác nhau thực hiện trên 2 biến nhị phân, vì với 2bit sẽ có 22 = 4 tổ hợp 00, 01, 10, 11 và 24 = 16 tổ hợp trị tính được từ 4 tổ hợp trị biến.Bảng sau cho thấy 16 trị luận lý tính từ 2 bit.VI TÁC VỤ LUẬN LÝBảng chân trị 16 hàm theo 2 biếnVI TÁC VỤ LUẬN LÝMười sáu vi tác vụ luận lýMẠCH THỰC HIỆN VI TÁC VỤ LLChỉ cần các cổng AND, OR, XOR và bù để thực hiện các phép tính trên.Một phần mạch dùng cho 1-bit, với thanh ghi n-bit sẽ cần n mạch như vậy.Mỗi mạch gồm 4 cổng cho 4 phép tính luận lý và một mạch dồn, các ngõ nhập chọn S1, S0 giúp chọn phép tính.Ứng dụngCác vi tác vụ cho phép thao tác riêng từng bit hoặc một phần từ trên thanh ghi.Có thể thay đổi trị bit, xóa một nhóm bit hoặc thay bit khác vào thanh ghi.Các ví dụ sau thực hiện các vi tác vụ trên 2 thanh ghi A và B, kết quả trả về A.Tác vụ Chọn đặt, đặt 1 vào các bit trong A tương ứng với bit 1 trong B bằng: A  A  B A = 1010 B = 1100 A = 1110Ứng dụng (tt)Một tầng mạch luận lýỨng dụng (tt)- Tác vụ Chọn bù, làm bù các bit trong A tương ứng với bit 1 trong B bằng: A  A  B. A = 1010 B = 1100 A = 0110- Tác vụ Chọn xóa, xóa các bit trong A tương ứng với bit 1 trong B bằng: A  A  B’ A = 1010 B’ = 0011 (B = 1100) A = 0010Ứng dụng (tt)Tác vụ Mặt nạ, tương tự như chọn xóa nhưng các bit trong A bị xóa tương ứng với bit 0 (thay vì 1) trong B (điều này thuận tiện hơn vì chỉ cần cổng AND) A = 1010 B = 1100 A = 1000Ứng dụng (tt)Tác vụ thay, đưa trị mới vào nhóm bit bằng cách xóa nhóm bit đó rồi OR với trị mới.Ví dụ thay 4 bit trái của A = 0110 1010 bằng 1001 A = 0101 1010B = 0000 1111 A = 0000 1010 A = 0101 1010B = 1001 0000 A = 1001 1010Ứng dụng (tt)Tác vụ Xóa, so sánh A và B, kết quả bằng 0 nếu A = B: A  A  B A = 1010 B = 1010 A = 0000VI TÁC VỤ DỊCHDùng để truyền tuần tự dữ liệu hoặc phối hợp với tác vụ số học, luận lý và tác vụ khác.Nội dung thanh ghi dịch qua trái hoặc qua phải.Cùng với tác động dịch, mạch lật đầu tiên được thay bằng ngõ nhập dãy.Thông tin truyền qua ngõ nhập dãy xác định loại dịch: luận lý, vòng /quay và số học.VI TÁC VỤ DỊCH (tt)Vi tác vụ dịchDỊCH LUẬN LÝDịch luận lý chuyển 0 qua ngõ nhập dãy.Khi dịch trái, bit 0 từ ngõ nhập dãy đưa vào vị trí cực phải thanh ghi.Khi dịch phải, bit 0 đưa vào vị trí cực trái thanh ghi.Ví dụ: R1  shl R1 R2  shr R2DỊCH VÒNG/ QUAYDịch vòng/ quay, quay vòng các bit qua hai đầu thanh ghi.Để thực hiện vi tác vụ này, chỉ cần nối ngõ xuất dãy với ngõ nhập dãy thanh ghi dịch.DỊCH SỐ HỌCDịch số học được dùng khi thanh ghi lưu một số nhị phân có dấu.Khi dịch trái số được nhân đôi, khi dịch phải số được chia đôi.Ví dụ: 0010 (2) dịch trái thành 0100 (4) 0110 (6) dịch phải thành 0011 (3)DỊCH SỐ HỌC (tt) Khi dịch trái, tràn xảy ra nếu Rn-1 ≠ Rn-2Ví dụ: 0100 (4) dịch trái thành 1000 (-8). Có thể dùng mạch lật Vs = Rn-1  Rn-2 để phát hiện tràn. Khi Vs = 0 không tràn; Vs = 1 tràn.Dịch phải số họcMẠCH DỊCHCó thể dùng thanh ghi dịch hai chiều với nạp song song làm mạch dịch.Trong mạch xử lý có nhiều thanh ghi, dùng mạch tổ hợp cho tác vụ dịch sẽ tốt hơn.Theo cách này, thanh ghi cần dịch được đưa lên bus có ngõ ra nối với mạch dịch tổ hợp, dịch xong trả lại vào thanh ghi.MẠCH DỊCH (tt)MẠCH DỊCH (tt)Là mạch tổ hợp 4bit gồm 4 ngõ nhập Ai và 4 ngõ xuất Hi.Hai ngõ nhập dãy IL cho dịch trái, IR cho dịch phải.Khi ngõ nhập chọn S = 0, dịch phải (xuống), S = 1 dịch trái (lên)Mạch dịch có n ngõ nhập dữ liệu, cần n mạch dồn.Có thể điều khiển hai ngõ nhập dãy để tạo 3 loại tác vụ. ALUThay vì dùng thanh ghi riêng thực hiện các vi tác vụ, các máy tính thường dùng các thanh ghi lưu ghi lưu trữ nối với một đơn vị thao tác chung gọi là đơn vị luận lý số học (ALU)Để thực hiện một vi tác vụ, nội dung thanh ghi đưa vào ngõ nhập ALU.ALU thực hiện xong tác vụ, chuyển kết quả cho thanh ghi đích.ALU (tt)ALU là mạch tổ hợp cho phép thực hiện tác vụ chuyển thanh ghi từ nguồn sang đích thông qua ALU chỉ trong một chu kỳ đồng hồ.Các mạch số học, luận lý và dịch được kết hợp vàoALU (tt)Một tầng đơn vị dịch luận lý số họcALU (tt)Bảng hàm của ALUALU (tt)- Các ngõ vào Ai, Bi đưa vào cả 2 mạch số học và luận lý.- S1S0 sẽ xác định vi tác vụ.- Với ALU n-bit sẽ gồm n mạch nối nhau.Ngõ ra Ci+1 nối với ngõ vào Ci của phần kế tiếp và Ci đầu tiên là Cin- Bảng sau là tác vụ của ALU. 8 tác vụ số học được chọn với S3S3 = 00, 4 tác vụ kế là luận lý với S3S2 = 10 và 2 tác vụ cuối là dịch với S3S2 = 10 và 11

Các file đính kèm theo tài liệu này:

  • pptbai_giang_cau_truc_may_tinh_bai_8_vi_tac_vu.ppt