Tải bản đầy đủ (.pdf) (16 trang)

báo cáo bài thực hành tổ chức và cấu trúc máy tính ii

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (731.05 KB, 16 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN</b>

<b>KHOA KHOA HỌC MÁY TÍNH</b>

<b>BÁO CÁO BÀI THỰC HÀNHTỔ CHỨC VÀ CẤU TRÚC MÁY TÍNH II</b>

<b>Sinh viên: Nguyễn Việt NguyênMSSV: 23521054</b>

<b>Giảng viên hướng dẫn Nguyễn Thành Nhân</b>:

<b>BÀI THỰC HÀNH #1:</b>

<b>Mô phỏng chức năng các cổng luận lýMô phỏng các thiết bị lưu trữ</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>I.Bài tập thực hành1. Thực hành</b>

Mô phỏng chức năng của các cổng luận lý: AND, OR, NOT, XOR, XNOR, NAND, NOR:

- Xây dựng mơ hình các cổng qua ứng dụng Logisim.- Lần lượt thay đổi giá trị của input và ghi chép kết quả của

- Rút ra tính chất của các thiết bị lưu trữ.

<b>2. Thực hiện qua ứng dụng Logisim</b>

<b>2.1. Mô phỏng chức năng của các cổng luận lý: AND, OR, NOT, XOR, XNOR, NAND, NOR</b>

<b>a. Mơ hình cổng AND</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

Lần lượt thay đổi giá trị input để quan sát trạng thái của output.

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

Lần lượt thay đổi giá trị input để quan sát trạng thái của output.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Với cổng OR có hai đầu vào, chỉ cần 1 trong hai đầu vào là 1 thì kết quả sẽ là 1.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>e. Mơ hình cổng XNOR(NOT – XOR)</b>

Input Input Output

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

Lần lượt thay đổi giá trị input để quan sát trạng thái của output.

<b>f. Mơ hình cổng NAND(NOT – AND)</b>

Input Input Output

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Lần lượt thay đổi giá trị input để quan sát trạng thái của output.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Với cổng NAND có hai đầu vào, tính chất của cổng trái ngược với cổng AND. Nghĩa là, chỉ khi cả hai đầu vào đều bằng 1thì kết quả mới xuất hiện 0.

<b>g. Mơ hình cổng NOR(NOT – OR)</b>

Lần lượt thay đổi giá trị input để quan sát trạng thái của output.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

Nhận xét:

Với cổng NAND có hai đầu vào, tính chất cổng trái ngược với cổng OR. Nghĩa là, chỉ cần 1 trong hai đầu là 1 thì kết quả sẽlà 0.

<b>2.Mơ phỏng các thiết bị lưu trữ: D latch, D flipflop, Thanh ghi</b>

<b>a. Mơ hình D latch(D flipflop trigger: Level)</b>

Lần lượt thay đổi clock và input và quan sát trạng thái của output.

*Bước 1 : Clock off và lần lượt thay đổi input

Giải thích:

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

Vì lúc này clock đang tắt nên D latch luôn lưu trữ trạng tháiban đầu là 0 và sẽ không thay đổi mặc cho input có thay đổi. Ở ví dụ trên, trạng thái ban đầu là 0 và vẫn sẽ luôn là 0. Điều này cũng tương tự nếu thay đổi trạng thái ban đầu là 1.

*Bước 2 : Clock on và lần lượt thay đổi input

Giải thích:

Khi bật Clock, D latch lúc này bắt đầu lưu trữ giá trị đầu vào. Ta có thể thấy giá trị lưu trữ thay đổi lần lượt là 0 và sau đó là 1 phụ thuộc vào giá trị đầu vào của nó.

*Bước 3 : Lặp lại bước 1

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Giải thích:

Khi tắt Clock, D latch lại quay về trạng thái như ở Bước 1, tức là chỉ lưu giá trị 1 dù cho input có thay đổi.

<b>b.Mơ hình D flipflop(D flipflop trigger: Edge)</b>

Các thử nghiệm và kết quả tương tự như D latch.

<b>c.Mơ hình thanh ghi đơn giản gồm 3 D flipflop nối tiếp </b>

<b>Cấu tạo:</b>

Gồm 3 D flipflop nối tiếp nhau, 1 clock, 3 input và 3 output.

<b>Thử nghiệm:</b>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Ở bước 3, khi đã bật clock thì output sẽ thay đổi theo giá trị đầu vào input.

Ở bước 4, sau khi tắt clock và thay đổi giá trị thì output vẫn được giữ nguyên như ở bước 3, do đó chúng ta đã lưu trữ thành công.

<b>3. Bài tập làm thêm</b>

<b>3.1. Mô phỏng mạch tổ hợp</b>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

*Trường hợp 1: *Trường hợp 2:

*Trường hợp 3: *Trường hợp 4:

Nhận xét:

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

Ta có thể thấy rằng, kết quả đầu ra của mạch tổ hợp trên phụ thuộc vào kết quả của cổng AND và đầu vào còn lại của cổng OR. Nếu kết quả của cổng AND đúng hoặc đầu vào còn lại của cổng OR đúng thì kết quả ln bằng 1, chỉ khi cả hai đều bằng 0 thì kết quả mới bằng 0.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

*Bước 3: *Bước 4:

Nhận xét:

Khi tắt Clock, thanh ghi không nhận giá trị mới. Khi bật Clock và thay đổi đầu vào thì lúc này giá trị đầu vào được thanh ghi lưu trữ lại. Khi tắt Clock, thanh ghi lại trở lại trạng thái khơngnhận giá trị mới, và lúc này nó đã lưu lại giá trị lúc bật Clock.

</div>

×