KIẾN TRÚC MÁY TÍNH - Phép toán và cách thực hiện

17 1.1K 3
KIẾN TRÚC MÁY TÍNH - Phép toán và cách thực hiện

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Phép toán cách thực hiện Phép toán dịch Phép toán số học Cộng, trừ Nhân Chia Phép toán dấu phẩy động HUST-FET, 13/02/2011 104 Chương 2. Ngôn ngữ máy tính các phép toán Dữ liệu máy tính: Vector bit  Lưu trữ trong thanh ghi hoặc từ nhớ   Truyền dẫn trên đường bus  Xử lý bằng phép toánPhép toán dịch  Kiểm tra 1 bit, đặt 1 bit, xóa 1 bit  Sao chép các bit  Hiện tượng tràn HUST-FET, 13/02/2011 105 Chương 2. Ngôn ngữ máy tính các phép toán Phép toán dịch HUST-FET, 13/02/2011 106 Chương 2. Ngôn ngữ máy tính các phép toán  Dịch logic  Các chữ số trống được điền bằng 0  Sang phải1 bit: srl 1 (a n-1 ,a n-2 ,…,a 0 ) = (0,a n-1 ,a n-2 ,…,a 1 )  Sang trái 1 bit: sll 1 (a n-1 ,a n-2 ,…,a 0 ) = (a n-2 ,a n-3 ,…,a 0 ,0)  Dùng để triển khai bộ nhân chia không dấu  Dịch số học  Bít dấu (MSB) không được thay đổi  dịch phải sao chép bít dấu vào các chữ số trống  dịch trái không dịch bít dấu  Sang phải 1 bit: sra 1 (a n-1 ,a n-2 ,…,a 0 ) = (a n-1 ,a n-1 ,a n-2 ,…,a 1 )  Sang trái 1 bit: sla 1 (a n-1 ,a n-2 ,…,a 0 ) = (a n-1 ,a n-3 ,…,a 0 ,0)  Dùng để triển khai bộ nhân chia có dấu  Kết quả sai xảy ra hiện tượng tràn nếu: a n-1 ≠ a n-2 a n-1 a n-2 a 0 0 a 1 … a n-1 a n-2 0… a 1 a 0 a n-1 a n-2 a 0 a n-1 a 1 … a n-1 a n-2 0a n-3 … a 0 Bộ dịch Dịch trái 0 hoặc 1 bít Có thể thiết kế bộ dịch cả trái phải HUST-FET, 13/02/2011 107 Chương 2. Ngôn ngữ máy tính các phép toán Bộ dịch Bộ dịch trái 1 bít, dịch phải 2 bít HUST-FET, 13/02/2011 108 Chương 2. Ngôn ngữ máy tính các phép toán Bộ cộng nửa, cộng 2 số 1 bit HUST-FET, 13/02/2011 109 Tín hiệu vào: a, b Tín hiệu ra: s (sum), c o (carry out) Câu hỏi: Xác định biểu thức Bool cho s, c o Half Adder (HA) a b s c o a b s c o 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 s b a c o Bộ cộng đầy đủ, cộng 3 số 1 bit Tín hiệu vào: a, b, c i (carry in) Tín hiệu ra: s (sum), c o (carry out) Câu hỏi: Xác định biểu thức Bool cho s, c o HUST-FET, 13/02/2011 110 Full Adder (FA) a c i s c o b a b c i s c o 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 b c i s c o a Phép cộng, trừ 2 số có dấu  2 số biểu diễn ở dạng mã bù 2.  Cộng từng bit từ bit LSB đến bit MSB; Nhớ sang cột kế tiếp  Kết quả sai tràn xảy ra khi 2 bit nhớ cuối cùng khác nhau: c o,3 ≠ c i,3  Cộng 2 số khác dấu luôn không xảy ra tràn  Phép trừ là phép cộng với số đảo (dùng mã bù 2) HUST-FET, 13/02/2011 111 Chương 2. Ngôn ngữ máy tính các phép toán 0 1 1 1 5 0 1 0 1 3 0 0 1 1 -8 1 0 0 0 Tràn 1 0 0 0 -7 1 0 0 1 -2 1 1 1 0 7 0 1 1 1 Tràn 1 1 1 1 -3 1 1 0 1 -5 1 0 1 1 -8 1 0 0 0 Không tràn 0 0 0 0 5 0 1 0 1 2 0 0 1 0 7 0 1 1 1 Không tràn Bộ cộng 2 số n bít dạng bù 2 Bộ cộng nối tiếp gồm n bộ cộng đủ n cổng logic xor để tính số đảo khi trừ Cổng logic xor để phát hiện tràn HUST-FET, 13/02/2011 112 Chương 2. Ngôn ngữ máy tính các phép toán FA FA FAFA . . a n-1 b n-1 a 2 b 2 a 1 b 1 a 0 b 0 add/ subtract c n-1 c n-2 c 2 c 1 c 0 C -1 s 2 s 1 s 0 s n-1 overflow b c i s c o a Tốc độ bộ cộng  Bộ cộng nối tiếp  Tín hiệu nhớ lan truyền (ripples) qua tất cả các bộ cộng "ripple carry adder"  Độ trễ tăng tuyến tính với số lượng bộ cộng (số bit của mỗi toán hạng)  Bít nhớ: t ar (c n ) = t ar (c n-1 ) + 2 = 3 + 2*(n-1)  Bít tổng: t ar (s n ) = t ar (c n ) + 1 = 4 + 2*(n-1) Tăng tốc bằng bộ cộng tính bit nhớ trước (Carry lookahead Adder) HUST-FET, 13/02/2011 113 Chương 2. Ngôn ngữ máy tính các phép toán [...]... Để tính toán pi, gi ta cần mạch logic 1 mức từ đầu vào  Vậy cần tối đa 3 mức từ đầu vào để tính được tín hiệu nhớ Tăng tốc độ Cần cổng AND n+2 đầu vào cho cn! Chương 2 Ngôn ngữ máy tính các phép toán 115 HUST-FET, 13/02/2011 Bộ cộng CLA Gồm 2 tầng Tầng 1: Tính toán tổng, tính hiệu tạo nhớ truyền nhớ (1 mức logic) - PFA ai bi pi si ci-1 gi Tầng 2: Tính toán bit nhớ (2 mức logic) - CLA c-1 p0... bi = 1  Bit nhớ đầu ra của cột i được tính từ tín hiệu tạo nhớ tín hiệu lan truyền nhớ ci = gi+ci-1 pi Chương 2 Ngôn ngữ máy tính các phép toán 114 HUST-FET, 13/02/2011 Bộ cộng CLA  Tính toán bit nhớ c0 = g0 + p0c-1 c1 = g1 + p1c0 = g1 + p1g0+ p1p0c-1 c2 = g2 + p2c1 = g2 + p2g1+ p2p1g0 + p2p1p0c-1 c3 = g3 + p3c2 = g3 + p3g2+ p3p2 g1 + p3p2p1g0 + p3p2p1p0 c-1  Mỗi công thức nhớ trên có thể được... ngữ máy tính các phép toán 118 p2 p1 p0 HUST-FET, 13/02/2011 Phép nhân có dấu  Mở rộng bít dấu cho các tích cục bộ  Với tích cục bộ của bit dấu số b3, cần lấy số đối (số bù 2) a3 a2 a1 a0 * b3 b2 b1 b0 a3b0 a3b0 a3b0 a3b0 a 3b 0 a2b0 a1b0 a0b0 + a3b1 a3b1 a3b1 a3b1 a 2b 1 a1b1 a0b1 + a3b2 a3b2 a3b2 a2b2 a 1b 2 a0b2 + a3b3 a3b3 a2b3 a1b3 a 0b 3 + 1 p7 p6 Chương 2 Ngôn ngữ máy tính các phép toán. .. PFA ai bi pi si ci-1 gi Tầng 2: Tính toán bit nhớ (2 mức logic) - CLA c-1 p0 c0 g0 c-1 p0 p1 g0 p1 g1 c1 c-1 p0 p1 p2 g0 p1 p2 g1 p2 g2 Chương 2 Ngôn ngữ máy tính các phép toán c-1 p0 p1 p3 p2 g0 p1 p2 p3 g1 p2 p3 c2 g2 p3 g3 116 HUST-FET, 13/02/2011 c3 Phép nhân không dấu  Nhân lần lượt các cột của số bị nhân số nhân được tích cục bộ  Các tích cục bộ được cộng với nhau theo cột a3 a2 a1 a0...Bộ cộng CLA  Với Ripple-Carry Adder, bit nhớ được tính dựa trên các bít nhớ trước đó  tốc độ chậm  Tăng tốc độ, tính bit nhớ ở mỗi cột trực tiếp từ tín hiệu đầu vào si = ai  bi  ci-1 ci = aibi + aici-1 + bici-1 = aibi + ci-1(ai + bi) = aibi + ci-1(ai  bi) Lan truyền nhớ: pi= (ai  bi) Truyền nhớ từ đầu vào đến đầu ra khi ai  bi = 1 Tín hiệu tạo nhớ: gi= aibi... a1b3 a 0b 3 + 1 p7 p6 Chương 2 Ngôn ngữ máy tính các phép toán p5 p4 119 p3 p2 p1 p0 HUST-FET, 13/02/2011 Ví dụ 2.9 – Phép nhân có dấu 1 0 1 1 * 0 0 1 1 1 1 1 1 1 0 1 1 + 1 1 1 1 0 1 1 + 0 0 0 0 0 0 + 1 1 1 1 -5 *3 1 1 1 1 1 0 1 1 0 1 1 1 Chương 2 Ngôn ngữ máy tính các phép toán 1 1 120 0 0 0 1 -1 5 HUST-FET, 13/02/2011 ... a3b2 a2b2 a1b2 a0b2 0 1 0 a3b3 a2b3 a1b3 a0b3 1 0 0 s6 s5 s4 s3 1 1 1 + + + s7 s2 s1 s0  Ví dụ 1 0 1 1 0 0 1 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 + + + 0 * Chương 2 Ngôn ngữ máy tính các phép toán 0 0 117 1 11*3 33 HUST-FET, 13/02/2011 Bộ nhân không dấu song song  Sử dụng logic tổ hợp a3b0 a2 b0 a1 b0 a3b1 a2b1 a1b1 a0b1 a b co FA ci s a b co FA ci s a b co FA ci s a b co FA ci s a3 b2 a2 b2 . Phép toán và cách thực hiện Phép toán dịch Phép toán số học Cộng, trừ Nhân Chia Phép toán dấu phẩy động HUST-FET, 13/02/2011 104. ngữ máy tính và các phép toán Dữ liệu máy tính: Vector bit  Lưu trữ trong thanh ghi hoặc từ nhớ   Truyền dẫn trên đường bus  Xử lý bằng phép toán  Phép

Ngày đăng: 06/10/2013, 22:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan