Trường hợp 2: Nhiều đích
Một nguồn có nhiều đích khơng u cầu bất kỳ mạch bổ sung. Một nguồn có thể được kết nối trực tiếp đến các đích khác nhau, và tất cả các điểm đến, nơi dữ liệu không cần thiết chỉ cần bỏ qua các nguồn dữ liệu. Ví dụ, trong Hình 2.6 (b), đầu ra của bộ cộng có hai điểm đến: thanh ghi a và thanh ghi d. Nếu đầu ra của phép cộng hiện tại là cho thanh ghi a, thì dịng tải cho thanh ghi a được xác nhận trong khi dòng tải cho thanh ghi d thì khơng được xác nhận, và nếu đầu ra là cho thanh ghi d, thì dịng tải cho thanh ghi d được xác nhận trong khi tải dòng cho thanh ghi a sẽ không được xác nhận. Trong cả hai trường hợp, chỉ có thanh ghi chính xác sẽ nhận các dữ liệu trong khi các đơn vị khác sẽ chỉ đơn giản là bỏ qua các dữ liệu.
Trong trường hợp một trong số các đích đến là đơn vị chức năng tổ hợp thì làm việc như sau: đơn vị chức năng sẽ lấy nguồn dữ liệu và thay đổi nó. Tuy nhiên đầu ra của các đơn vị chức năng sẽ không được sử dụng và cũng không được lưu trữ trong bất kỳ thanh ghi nào. Vì vậy, về chức năng nó khơng quan trọng lắm do các đơn vị chức năng chỉ làm việc trên nguồn và kết quả là không được sử dụng cho bất
Thiết kế vi xử lý 16 bit trên nền tảng công nghệ FPGA
chúng ta muốn giảm năng lượng tiêu thụ có nghĩa là chúng ta muốn các đơn vị chức năng sẽ không thao tác dữ liệu.
Bus ba trạng thái
Một cách khác mà nhiều nguồn và đích đến có thể được kết nối trên cùng một bus dữ liệu là thông qua việc sử dụng các bộ đệm ba trạng thái. Các điểm cần lưu ý ở đây là khi nhiều nguồn được kết nối với cùng bus, chỉ có một nguồn có thể xuất tại một thời điểm. Nếu hai hoặc nhiều nguồn xuất ra trên cùng chung bus vào cùng một thời điểm, thì sẽ có xung đột dữ liệu. Ví dụ một nguồn có thể xuất 0 trong khi nguồn khác xuất ra 1. Bằng cách sử dụng bộ đệm ba trạng thái kết nối giữa các nguồn và bus chung, chỉ có một bộ đệm ba trạng thái được kích hoạt trong khi số cịn lại đều là khơng kích hoạt. Bộ đệm ba trạng thái có đầu ra khi khơng được kích hoạt là ở trở kháng cao giá trị Z, do đó khơng có xung đột dữ liệu có thể xảy ra.
Hình 2.8 cho thấy bus ba trạng thái với năm đơn vị (ba thanh ghi, một ALU, và một bộ cộng) kết nối với nó. Một lợi thế của việc sử dụng bus ba trạng thái là bus là bus hai chiều để dữ liệu có thể di chuyển trong cả hai hướng trên bus. Các kết nối để dữ liệu đi từ một thành phần đến bus cần ba trạng thái trong khi kết nối cho dữ liệu đi từ bus đến một thành phần thì khơng cần. Cần biết rằng dữ liệu đầu vào và đầu ra của một thanh ghi đều có thể được kết nối với cùng bus ba trạng thái, trong khi đó, đầu vào và đầu ra của một đơn vị chức năng (chẳng hạn như bộ cộng hoặc ALU) không thể kết cả đầu vào và đầu ra với cùng một bus ba trạng thái.