Bài giảng Kiến trúc máy tính (ĐH Bách khoa Hà Nội) Chương 3a

57 12 0
Bài giảng Kiến trúc máy tính (ĐH Bách khoa Hà Nội) Chương 3a

Đ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

4/4/2014 Binary numbers (And some other useful bases) Tại sử dụng hệ nhị phân? • Máy tính sử dụng số nhị phân vì: – Dễ thực mạch: 1=1V, 0=0V (in the past 3.3V or 5V) – Dễ thiết kế mạch phức tạp với cổng (transistors) • Có thể sử dụng nhiều mức điện áp?… – 1=1V, 2=2V, 3=3V, etc – Nhiễu phá huỷ mạch – Ví dụ nhiễu mạch số: • No noise: + → 1; • With noise: 0.9 + 0.4 → 1, not 1.3 – Ví dụ nhiễu mạch tương tự: • 1.4V + 3.4V → 4.8V (closer to than 4!) 4/4/2014 Hệ số (binary) 4/4/2014 Các hệ số 4/4/2014 LSBs MSBs • LSB = Least Significant Bit - > Bit có trọng số thấp • MSB = Most Significant Bit -> bit có trọng số cao • Example: 0101 1101 1110 1001 MSB – largest value digit LSB– lowest value digit 4/4/2014 Số có dấu 4/4/2014 Làm để biểu diễn số có dấu • Có chuẩn biểu diễn – Trường dấu – Mã bù – Mã bù • Trong chuẩn MSB bit dấu (1 = negative) • Mã bù khơng sử dụng phải tính • Ln sử dụng mã bù cho số ngun • Trường dấu sử dụng biểu diễn số thực dấu phẩy động 4/4/2014 Trường dấu Đơn giản bit bit dấu: +/‐ 4/4/2014 Một số vấn đề số có dấu Kiểm sốt dấu trường dấu: – Nếu A âm B âm, A+B → âm (A + B) – Nếu A dương B dương, A+B → dương (A + B) Phức tạp với đấu trừ: 4/4/2014 10 Tràn số mã bù • Khác với số khơng dấu -> có tín hiệu nhớ • Tràn số có nghĩa số có dấu khơng biểu diễn • Trong phép cộng số bù 2: – Các số trái dấu khơng tràn số – Tràn số số có dấu lại cho kết khác dấu • Trong hai ví dụ, carry in đến bit dấu == carry out 4/4/2014 43 Làm để xây dựng mảng nhớ Sử dụng địa nhị phân (binary address) để truy nhập nhớ mong muốn đầu bytes! 4/4/2014 44 Đọc mảng nhớ 4/4/2014 45 Các mảng SRAM 4/4/2014 46 SRAM from ARM 4/4/2014 47 Các khối quan trọng • MUXes lựa chọn đầu nhiều đầu vào: Đầu vào bus (multiple bits) • DEMUXes chức ngược lại: chọn đầu nhiều đầu tương ứng với đầu vào • DECODERS nhận giá trị nhị phân đầu vào chuyển đổi thành đầu ra(1‐hot): giá trị nhị phân 010 biến đổi thành 1‐hot đầu #2 • ENCODERS nhận 1‐hot đầu vào chuyển đổi thành giá trị nhị phân: 1‐hot đầu vào #3 thành giá trị nhị phân 011 • ADDERS nhận đầu vào A B đầu tổng (sum) – Half‐adder: A+B = {Sum, CarryOUT} – Full‐adder: A+B+CarryIN = {Sum, CarryOUT} 4/4/2014 48 Ví dụ: Xây dựng đếm • Làm để tạo đếm? – Đếm 0, 1, 2, 3, 4, … – Tăng giá trị sau xung đồng hồ clock signal (trạng thái thay đổi rõ rệt) • Cơng việc cụ thể: – Tính tốn giá trị (e.g., 0→1, 1→2, etc.) – Lưu trữ giá trị – Cập nhật giá trị • Các bước thực hiện: – Combinational: • next_value = current_value + – Sequential (state): • No clock: current_value = current_value • On clock: current_value = next_value • Đây cách đếm đếm có tín hiệu đồng hồ 4/4/2014 49 Tổ hợp logic đếm • Đếm nào? – →1, → 2, → • Answer: An adder! • Công việc cụ thể: – Next_value = current_value + • Tạo cộng nào? – SUM = A XOR B – CARRY = A AND B • Nếu lớn bit, ví dụ cộng bit? Input: bits of A (A, A1, A2) Input: bits of B (B, B1, B2) Output: bits (SUM, SUM1, SUM2, COUT) 4/4/2014 50 Kết nối cộng nhiều bit (ripple carry add) • Móc nối giá trị nhớ sang cộng kế tiếp: – Carry out bit → Carry in • Cần cộng đầy đủ!: – {CIN + A + B} → {SUM, COUT} 4/4/2014 51 Kiểm tra cộng • Phép cộng : –2+3=5 – A = = 010 – B = = 011 – Output = 101 – Có nhớ bit thứ 4/4/2014 52 Sử dụng cộng để tạo đếm • Giá trị kế tiếp: next_value = current_value + – Có tất giá trị bit • Nối dây đầu vào đầu ra? – Kết nối giá trị nhớ – B = 001 (+1) – A = current_value – SUM = next value 4/4/2014 53 Dùng mạch chốt để tránh vịng lặp hồi tiếp • Next_value = current_value + • Cần phải cách ly giá trị current_value với next_value • Các mạch chốt dịch chuyển đầu tới đầu vào tín hiệu đồng hồ : state element • Cập nhật current_value thành new_value có tín hiệu đồng hồ 4/4/2014 54 Tín hiệu đồng hồ hoạt động nào? Time → Khi clock 0→1 đầu vào mạch chốt lưu trữ đầu cập nhật lại tương ứng với đầu vào 4/4/2014 55 Tốc độ tín hiệu đồng hồ • Khi sườn xung tăng (0→1) • Giá trị next_value lưu lại giá trị • Giá trị current_value đưa vào cộng để tạo giá trị next_value 4/4/2014 56 Tổng quan: mức logic nối tiếp • Các bước thực hiện? – Phần tử trạng thái lưu giữ giá trị current state – Sử dụng tổ hợp logic để tính toán giá trị next state từ current state – Tạo vịng lặp hồi tiếp: • Với clock signal • The current state → next state • Đầu vào tác động qua lại lẫn • Tốc độ đồng hồ (Clock speed) xác định việc mức logic cập nhật nhanh 4/4/2014 57 Tổng kết: phần tử trạng thái • Các phần tử trạng thái (memories) lưu trữ trạng thái • Chỉ cập nhật thời gian xác định (e.g., clock 0→1) • Sử dụng tổ hợp logic (combinational logic -> gates) để tính tốn giá trị (the next value) • Sử dụng phần tử trạng thái (memories) để lưu trữ giá trị thời (the current value) • Cập nhật giá trị thời = giá trị xung đồng hồ 4/4/2014 ... đầu vào chuyển đổi thành đầu ra(1‐hot): giá trị nhị phân 010 biến đổi thành 1‐hot đầu #2 • ENCODERS nhận 1‐hot đầu vào chuyển đổi thành giá trị nhị phân: 1‐hot đầu vào #3 thành giá trị nhị phân... 42 Bộ nhớ • Bộ nhớ mảng chiều phần tử bit • Mỗi phần tử bit • Cho phép hàng đọc từ liệu • Chỉ truy nhập hàng một thời điểm, hàng cho phép - hot 4/4/2014 43 Làm để xây dựng mảng nhớ Sử dụng địa... • Bộ giải mã (Decoders) – Chuyển đổi mã nhị phân thành 1‐hot – Số nhị phân10 == 0100 1‐hot • Bộ mã hố (Encoders) – Chuyển đổi cấu trúc 1‐ hot thành nhị phân – 1‐hot 00000010 = binary 001 4/4/2014

Ngày đăng: 29/10/2021, 16:19

Hình ảnh liên quan

Các bảng chân lý định - Bài giảng Kiến trúc máy tính (ĐH Bách khoa Hà Nội) Chương 3a

c.

bảng chân lý định Xem tại trang 25 của tài liệu.

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

Tài liệu liên quan