PDA

View Full Version : Kiến trúc máy tính-các bác cho e hỏi chút


bsff20
31-08-2012, 03:08 PM
Em có 2 bài này,mong các bác chỉ giáo giúp e:
Bài 1:
Bộ Mux và bộ giải mã
1. Xây dựng bộ Mux với 4 bít tín hiệu vào và 2 bít lựa chọn.
2. Xây dựng bộ giải mã với 4 bít đầu vào và 16 bít đầu ra, đặt tương ứng mỗi bộ tín hiệu đầu
vào với chỉ một tín hiệu 1 ở đầu ra.
Bộ cộng và trừ Biết rằng một số nguyên được biểu diễn dưới dạng bù hai 4 bít. Xây dựng bộ
cộng và trừ 4 bít để thực hiện các phép tính cộng, trừ trên số nguyên.
Các bộ so sánh Xây dựng các bộ so sánh: lớn hơn (>), nhỏ hơn (<) và bằng (=) cho các số nguyên
không dấu 4 bít.
~~~~~~~~~~~
Bài 2:
Xây dựng biểu thức Boolean: lập trình bằng C++ (4 điểm)
Một hàm Boolean f có n biến có thể được biểu diễn bởi xâu độ dài 2n bít, trong đó bít
thứ i của xâu này là giá trị của hàm tại hàng i trong bảng chân lý tương ứng. Ví dụ, với
hàm f (x1, x2) = x1 AND x2, ta có bảng chân lý cho hàm này:
1x1 x2 giá trị hàm f
0 0 0
0 1 0
1 0 0
1 1 1
Và hàm này có thể được biểu diễn bởi xâu f = 0001.
Ta sử dụng các ký hiệu sau cho biểu thức Boolean: dấu ngã (~) cho ký hiệu phần bù
logic; AND, OR cho ký hiệu và và hoặc logic; x1, x2, x3,... cho các biến logic.
Nhiệm vụ của bạn là xây dựng một chương trình C++ để chuyển tự động một hàm Boolean biểu
dưới dạng xâu bít thành biểu thức Boolean ở dạng chuẩn tắc tuyển hoặc hội.
Ví dụ. Chương trình nhận đầu vào là xâu bít: 1000 1011; ta biết đây là hàm boole có 3 biến.
Chương trình sẽ cho kết quả là biểu thức Boolean:
(~x1 AND ~x2 AND x3) OR (x1 AND ~x2 AND ~x3) OR
(x1 AND x2 AND ~x3) OR (x1 AND x2 AND x3)
Yêu cầu đối với chương trình:
1. Phải có khả năng kiểm tra dữ liệu vào là đúng đắn có nghĩa rằng, xâu vào phải gồm chỉ có
các số 0, 1 và các dấu trống (SPACE, TAB,...) và số các 0, 1 phải là một lũy thừa của 2 (có
dạng 2n).
2. Phải có khả năng quyết định kết quả nên ở dạng chuẩn tắc tuyển hay chuẩn tắc hội có nghĩa
rằng, nếu số chữ số 0 nhiều hơn chữ số môt thì kết quả nên đưa ra ở dạng chuẩn tắc hội.
Ngược lại, kết quả nên ở dạng chuẩn tắc tuyển.