BÀI 2: ĐƠN VỊ XỬ LÝ TRUNG TÂM
2.2 Khối xử lý dữ liệu
Khối xử lý dữ liệu, còn được gọi là đơn vị đường dữ liệu (Datapath Unit) hoặc đơn vị thực hiện (Execution Unit), có các thành phần chính là đơn vị số học-logic ALU và các thanh ghi dữ liệu, cùng các đường kết nối và truyền dữ liệu.
Đơn vị số học-logic ALU (Arithmetic-Logic Unit) thực hiện các thao tác số học và logic trên dữ liệu đầu vào. Các phép tính cộng, trừ, nhân, chia số nguyên và các thao tác
cơ bản khác như cộng logic, nhân logic, dịch bit v.v. được thực hiện ở đây. Đơn vị điều khiển điều khiển các thao tác của ALU thông qua các tín hiệu điều khiển (là các tín hiệu điện).
Khối xử lý dữ liệu có thành phần lưu trữ dữ liệu là tập các thanh ghi dữ liệu, được tạo thành từ các mạch lật và mạch logic. Các thanh ghi này gồm thanh tích luỹ
Kiến trúc máy tính – Bài 2 Trang 13 (accumulator) và các thanh ghi dùng chung khác (general registers). Các thanh ghi này được dùng để tạm chứa các toán hạng và kết quả phép tính trong khi đang thực hiện lệnh và thực hiện chương trình.
2.2.1. Đơn vị logic
Đơn vị logic thực hiện các thao tác xử lý logic. Các thao tác logic được thực hiện trên từng bit của mỗi từ dữ liệu. Đơn vị logic được xây dựng trên cơ sở các mạch logic cơ bản như mạch AND (nhân logic), OR (cộng logic), XOR (cộng modulo 2), NOT (mạch đảo).
Kiến trúc máy tính – Bài 2 Trang 14
2.2.2 Đơn vị số học
a. Bộ cộng half-adder (HA)
Bộ cộng half-adder HA là một phần tử cơ bản của ALU.
\\\\\\\\
x, y - các bit đầu vào
s - tổng
c - bit nhớ
b. Bộ cộng full-adder (FA) 1-bit
Kiến trúc máy tính – Bài 2 Trang 15
Bộ cộng FA-1-bit được xây dựng trên cơ sở các bộ HA-1-bit (Hình 5).
c. Bộ cộng FA-n-bit
Bộ cộng FA-n-bit được xây dựng trên cơ sở n bộ FA-1-bit (Hình 6).
Bộ cộng FA-n-bit loại này được gọi là Ripple Carry Adder (ripple-gợn sóng), do phép cộng chỉ hoàn thành khi bit nhớ c từ bit thấp nhất lan truyền đến được vị trí bit cao nhất.
2.2.3 Bộ ghi dịch
Thao tác dịch bit thực hiện dịch chuyển các chữ số nhị phân trong một thanh ghi đến một vị trí khác trong thanh ghi đó. Có hai thao tác dịch chuyển
là dịch trái và dịch phải. Bộ ghi dịch (Shifter) được dùng trong các phép nhân, chia và khi thực hiện các lệnh dịch bit. Hình 7 là một ví dụ về bộ ghi và dịch 4 bit.
Kiến trúc máy tính – Bài 2 Trang 16
2.2.4. Bộ dồn kênh
Bộ dồn kênh (Multiplexer - MUX) là thiết bị chọn một dữ liệu từ một vài nguồn (đầu vào) chuyển đến một đích chung (đầu ra). Nếu số đường dữ liệu vào là k, trong đó mỗi đường dữ liệu là m-bit, thì đây là bộ dồn kênh k-đầu vào, m-bit (Hình 8).
Hình 9 là một ví dụ về bộ dồn kênh 2-đầu vào, 4-bit
Kiến trúc máy tính – Bài 2 Trang 17
2.2.5 Bộ giải mã
Bộ giải mã (Decoder) là mạch tổ hợp có n-đầu vào/m-đầu ra, trong đó chỉ có một trong số các đầu ra tương ứng với một giá trị cụ thể của đầu vào. Bộ giải mã được dùng
để giải mã thông tin mang tải bởi các con số. Một trong các ứng dụng bộ giải mã là từ con
số địa chỉ ô nhớ, qua bộ giải mã xác định được vị trí vật lý của ô nhớ trong bộ nhớ.
Hình 10 dưới đây là bộ giải mã 2-đầu vào/4-đầu ra.
Kiến trúc máy tính – Bài 2 Trang 18
2.2.6 Đơn vị số học-logic ALU
Đơn vị số học-logic ALU (Hình 11) thực hiện các thao tác số học và logic trên dữ liệu đầu vào. Các phép tính cộng, trừ, nhân, chia số nguyên và các thao tác cơ bản khác như cộng logic, nhân logic, dịch bit v.v. được thực hiện ở đây. Đơn vị số học-logic ALU cơ bản được xây dựng trên các mạch logic, bộ cộng, bộ dịch chuyển bit, bộ dồn kênh và một số mạch chức năng khác. Với cách biểu diễn số âm qua số bù 2, có thể thực hiện các phép tính trừ, nhân và chia chỉ qua các phép cộng và phép dịch bit. Để nâng cao tốc độ xử
lý, các phép tính trừ, nhân và chia số nguyên cũng có thể được thực hiện bằng phần cứng, khi đó ALU còn chứa cả các bộ trừ, nhân và chia số nguyên.
Kiến trúc máy tính – Bài 2 Trang 19
2.2.7 Khối xử lý dữ liệu
Hình 12 mô ta cấu trúc của hổi xử lý dữ liệu với các thành phần cơ bản là đơn bị số học – logic ALU, tập thanh ghi A, B và các đường truyền dữ liệu giữa các khối này.
Hoạt động chuyển dữ liệu đến tập thanh ghi, từ tập thanh ghi đến ALU, việc thực hiện các phép tính số học và logic trên ALU, việc chuyển kết quả phép tính từ ALU đến thanh ghi tích lũy A đều được điều khiển bởi các tín hiệu từ đơn vị điều khiển. Sơ đồ khối xử lý dữ liệu cũng mô tả các đường tín hiệu điều khiển từ đơn vị điều khiển CU tới khối xử lý dữ liệu, các tín hiệu trạng thái từ ALU đến CUvà các đường truyền dữ liệu từ khối xử lý dữ liệu đến tới các thiết bị bên ngoài CPU như bộ nhớ và các thiết bị vào-ra.