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

Nhóm 10 it012 m12 cncl

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 (2.84 MB, 63 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
KHOA KĨ THUẬT MÁY TÍNH

TÊN MƠN HỌC: Tổ chức và Cấu trúc Máy tính II

SINH VIÊN THỰC HIỆN
Nguyễn Thanh Hiếu – 20521328
Nguyễn Huy Hoàng – 20521343

GIẢNG VIÊN HƯỚNG DẪN: BÙI PHÙNG HỮU ĐỨC
LỚP: IT012.M12.CNCL

TP. HỒ CHÍ MINH, 2021



MỤC LỤC

DANH MỤC HÌNH VẼ ....................................................................................................... i
DANH MỤC BẢNG BIỂU ................................................................................................. ii
LAB 1: HƯỚNG DẪN SỬ DỤNG LOGISIM ................................................................... 1
1) Thực hành .................................................................................................................... 1
1.1. Mô phỏng chức năng các cổng luận lý: ................................................................ 1
1.2. Mô phỏng các thiết bị lưu trữ ............................................................................... 3
2) Bài tập ......................................................................................................................... 5
2.1. Mô phỏng mạch tổ hợp ......................................................................................... 5
2.2. Mô phỏng mạch tuần tự ........................................................................................ 5
3) Bài tập bổ sung ............................................................................................................ 7
3.1. chức năng và nguyên lý hoạt động D-Flipflop, Thanh ghi. ................................. 7


3.2. Sự khác nhau giữa mạch tổ hợp và mạch tuần tự. ................................................ 8
3.3. Clock( xung nhịp) CPU là gì, các trạng thái của clock ........................................ 8
3.4. Mô phỏng mạch .................................................................................................... 8
3.5. Thiết kế lại thanh ghi ở bài tập 3.2 với 16 bit dữ liệu ........................................ 11
LAB 2: ALU VÀ REGISTER FILES ............................................................................... 12
1) Thực hành .................................................................................................................. 12
1.1. Mô phỏng ALU .................................................................................................. 12
1.2 Mô phỏng Register Files gồm 4 thanh ghi 8 bit .................................................. 12
2) Bài tập ....................................................................................................................... 13
2.1. Cải tiến ALU với các phép toán: A + B, A + 1, A – B, A – 1, A AND B, A OR
B, NOT A, A XOR B ................................................................................................ 13


2.2. Thiết kế và mô phỏng lại Register Files với địa chỉ xuất riêng với địa chỉ ghi? 13
3) Bài tập bổ sung .......................................................................................................... 14
3.1. Phân biệt Mux và Demux? Thiết kế mux 4to1 và demux 2to4 bằng các cổng
luận lý ........................................................................................................................ 14
3.2: Thiết kế lại bộ cộng có chức năng cộng 2 số 8 bit ............................................. 16
3.3: Thiết kế mạch có chức năng so sánh hai input 4 bit có bằng nhau hay khơng?
Trường hợp bằng nhau, output bằng 1 ngược lại output bằng 0. .............................. 17
LAB 3: MARS – CHƯƠNG TRÌNH MƠ PHỎNG HỢP NGỮ MIPS............................. 18
1) Thực hành .................................................................................................................. 18
1.1. Một số lệnh assembly MIPS cơ bản ................................................................... 18
1.2. Mơ phỏng các chương trình và ý nghĩa của chương trình:................................. 20
2) Bài Tập ...................................................................................................................... 21
2.1. Khai báo và xuất ra cửa sổ I/O 2 chuỗi .............................................................. 21
2.2. Biểu diễn nhị phân của 2 chuỗi trên dưới bộ nhớ............................................... 22
2.3. Xuất ra lại đúng chuỗi đã nhập ........................................................................... 22
2.4. Nhập vào 2 số nguyên sau đó xuất tổng của 2 số nguyên này ........................... 23
3) Bài tập bổ sung .......................................................................................................... 24

3.1. Assembly là gì? Trình bày các quá trình một chương trình viết bằng ngơn ngữ
C/C++ được thực hiện trên máy tính? ....................................................................... 24
3.2. Trình bày các kiểu dữ liệu trong MIPS32 và kích thước của từng kiểu dữ liệu
các kiểu dữ liệu: ......................................................................................................... 25
3.3. Trình bày cấu trúc bộ nhớ của một chương trình C++(layout memory). ........... 25
3.4. Viết chương trình hợp ngữ nhập vào ba số a,b,c. Kiểm tra và in ra số lớn nhất,
số bé nhất(khơng dùng vịng lặp) .............................................................................. 25


3.5. Viết chương trình hợp ngữ nhập vào số nguyên a,b. In ra kết quả của phép cộng,
trừ nhân, chia ............................................................................................................. 30
3.6. Viết chương trình hợp ngữ in ra địa chỉ của chuỗi “Hello UIT” và biến var_a
kiểu word có giá trị là 10 trong bộ nhớ ở dạng thập lục phân (ví dụ 0x1001000). ... 32
3.7. in chẵn lẻ ............................................................................................................. 33
LAB 4: TỔNG QUÁT VỀ HỢP NGỮ VÀ KIẾN TRÚC MIPS ...................................... 35
1) Thực hành .................................................................................................................. 35
1.1. Chuyển đoạn code sang mips ............................................................................. 35
2) Bài tập ....................................................................................................................... 36
2.1. Nhập vào một ký tự, xuất ra cửa sổ I/O của MARS theo từng yêu cầu sau: ..... 36
3) Bài tập bổ sung .......................................................................................................... 38
3.1. Con trỏ là gì? Chức năng của con trỏ? Mảng là gì? Chức năng của mảng? ...... 38
3.2. Thủ tục là gì? Trình bày luồng hoạt động của một thủ tục trong MIPS? ........... 39
3.3. Ngăn xếp(stack là gì)? Trình bày cấu trúc của ngăn xếp và kể tên ứng dụng của
ngăn xếp ? .................................................................................................................. 40
3.4. Viết chương trình nhập vào số nguyên dương A. Kiểm tra số đó phải số ngun
tố hay khơng?............................................................................................................. 40
3.5. Viết chương trình hợp ngữ nhập vào số nguyên a,b. In ra kết quả của phép cộng,
trừ nhân, chia với số lớn ............................................................................................ 42
3.6. Viết chương trình in ra N(N>2) số fibonaci đầu tiên. ........................................ 42
LAB 5: THAO TÁC VỚI MẢNG VÀ CON TRỎ TRONG MIPS .................................. 45

1) Bài tập (chỉ sử dụng con trỏ) ..................................................................................... 45
1.1. Xuất ra giá trị lớn nhất và nhỏ nhất của mảng ................................................... 45
1.2. Tổng tất cả các phần tử của mảng ...................................................................... 47


1.3. Người sử dụng nhập vào chỉ số của một phần tử nào đó và giá trị của phần tử đó
được in ra cửa sổ ........................................................................................................ 49
1.4. Nhập một mảng các số nguyên n phần tử (nhập vào số phần tử và giá trị của
từng phần tử).............................................................................................................. 51
2) Bài tập bổ sung .......................................................................................................... 51
2.1. Viết chương trình hợp ngữ nhập mảng gồm N phần tử. Sắp xếp mảng theo thứ
tự giảm dần. ............................................................................................................... 52
2.2. Viết chương trình hợp ngữ nhập vào N và mang gồm N phần tử. In ra mảng đảo
ngược của mảng vừa nhập ......................................................................................... 54


DANH MỤC HÌNH VẼ
Hình 1- 1: Mạch (ABC+AC+AB+BC)C ............................................................................. 9
Hình 1- 2: Mạch (AD+ABC+ABD+ACD) (¬A) + (¬A)B + (¬C)D.................................. 10
Hình 1- 3: Hình thanh ghi 16 bit ....................................................................................... 11
Hình 2- 1: mơ phỏng ALU ................................................................................................ 12
Hình 2- 2: mơ phỏng Register Files .................................................................................. 12
Hình 2- 3: ALU với các phép tốn .................................................................................... 13
Hình 2- 4: Register Files với địa chỉ xuất riêng ................................................................ 14
Hình 2- 5: Hình Mux 1to4 ................................................................................................. 15
Hình 2- 6: Hình Demux 2to4 ............................................................................................. 16
Hình 2- 7: bộ cộng có chức năng cộng 2 số 8 bit .............................................................. 17
Hình 2- 8: mạch so sánh hai input 4 bit............................................................................ 17
Hình 3- 1: Biểu diễn nhị phân của 2 chuỗi dưới bộ nhớ ................................................... 22
Hình 3- 2: lưu đồ thuật toán in ra số lớn nhất, số bé nhất ................................................. 26

Hình 4- 1: Lưu đồ thuật tốn Ký tự liền trước và liền sau của ký tự nhập vào + Ký tự
nhập vào chỉ được phép là ba loại: số, chữ thường và chữ hoa......................................... 36
Hình 4- 2: Lưu đồ thuật tốn kiểm tra số ngun tố ......................................................... 40
Hình 4- 3: Lưu đồ thuật toán in ra N số fibonaci đầu tiên................................................. 43
Hình 5- 1: Lưu đồ thuật tốn Xuất ra giá trị lớn nhất và nhỏ nhất của mảng ................... 45
Hình 5- 2: Lưu đồ thuật toan tính tổng tất cả các phần tử của mảng ................................ 48
Hình 5- 3: in vị trí của phần tử ra cửa sổ ........................................................................... 50


DANH MỤC BẢNG BIỂU
Bảng 1- 1: Bảng Mô phỏng chức năng các cổng luận lý..................................................... 3
Bảng 1- 2: Bảng mô phỏng D-latch ..................................................................................... 3
Bảng 1- 3: Bảng mô phỏng D-flipflop ................................................................................ 4
Bảng 1- 4: Bảng mô phỏng thanh ghi .................................................................................. 4
Bảng 1- 5: Bảng mô phỏng thanh ghi .................................................................................. 5
Bảng 1- 6: Bảng mô phỏng mạch tuần tự ............................................................................ 6
Bảng 1- 7: Bảng sự khác nhau giữa mạch tổ hợp và mạch tuần tự ..................................... 8
Bảng 1- 8: Mô phỏng mạch (ABC+AC+AB+BC)C ........................................................... 9
Bảng 1- 9: Mô phỏng mạch (AD+ABC+ABD+ACD) (¬A) + (¬A)B + (¬C)D ................ 11
Bảng 2- 1: Phân biệt Mux và Demux ............................................................................... 14
Bảng 3- 1: Một số lệnh assembly MIPS cơ bản ................................................................ 19


LAB 1: HƯỚNG DẪN SỬ DỤNG LOGISIM
1) Thực hành
1.1. Mô phỏng chức năng các cổng luận lý:

1



2


Bảng 1- 1: Bảng Mô phỏng chức năng các cổng luận lý

1.2. Mô phỏng các thiết bị lưu trữ

Bảng 1- 2: Bảng mô phỏng D-latch

3


Bảng 1- 3: Bảng mô phỏng D-flipflop

Bảng 1- 4: Bảng mô phỏng thanh ghi

4


2) Bài tập
2.1. Mô phỏng mạch tổ hợp
Input A

Input B

Input C

Output F

0


0

0

0

0

0

1

1

0

1

0

0

0

1

1

1


1

0

0

0

1

0

1

1

1

1

0

1

1

1

1


1

Bảng 1- 5: Bảng mô phỏng thanh ghi

2.2. Mô phỏng mạch tuần tự

5


CLK

Input A

Input B

Input C

Input D

Output A

Output B

Output C

Output D

0


x

x

x

x

A(t)

B(t)

C(t)

D(t)

1

0

0

0

0

0

0


0

0

1

0

0

0

1

0

0

0

1

1

0

0

1


0

0

0

1

0

1

0

0

1

1

0

0

1

1

1


0

1

0

0

0

1

0

0

1

0

1

0

1

0

1


0

1

1

0

1

1

0

0

1

1

0

1

0

1

1


1

0

1

1

1

1

1

0

0

0

1

0

0

0

1


1

0

0

1

1

0

0

1

1

1

0

1

0

1

0


1

0

1

1

0

1

1

1

0

1

1

1

1

1

0


0

1

1

0

0

1

1

1

0

1

1

1

0

1

1


1

1

1

0

1

1

1

0

1

1

1

1

1

1

1


1

1

Bảng 1- 6: Bảng mô phỏng mạch tuần tự

6


3) Bài tập bổ sung
3.1. chức năng và nguyên lý hoạt động D-Flipflop, Thanh ghi.
- Thanh Ghi : Thanh ghi là một thiết bị lưu trữ được cấu tạo bởi các flipflop nối
chung ngõ vào CLK Thanh ghi Có thể bổ sung khối luận lý tổ hợp để xử lý
- Ngun lí : - Thanh ghi, trước hết được xố (áp xung CLEAR) để đặt các ngõ ra về
0. Dữ liệu cần dịch chuyển được đưa vào ngõ D của tầng FF đầu tiên (FF0). Ở mỗi xung
kích lên của đồng hồ ck, sẽ có 1 bit được dịch chuyển từ trái sang phải, nối tiếp từ tầng
này qua tầng khác và đưa ra ở ngõ Q của tầng sau cùng (FF3). Nếu tiếp tục có xung ck và
khơng đưa thêm dữ liệu vào thì ngõ ra chỉ cịn là 0 (các FF đã reset : đặt lại về 0 hết.
- D Flipflop : Flipflop là một thiết bị lưu trữ tích cực theo cạnh có khả năng lưu trữ 1
bit thơng tin D Flipflop hay (data Flipflop) có một tín hiệu clock(clk) như một đầu vào và
dữ liệu (D) như một đầu vào dữ liệu khác
- Nguyên lí : +D Flipflop hoạt động tùy thuộc vào tín hiệu xung
+ xung ở mức thấp sẽ khơng có sự thay đổi trong đầu ra (tức là nó ghi nhớ trạng
thái trước đó)
+ tín hiệu xung nhịp cao và nếu nó nhận được bất kì dữ liệu nào trên chân chân dữ
liệu -> thay đổi trạng thái đầu ra
+ Khi dữ liệu ở mức cao Q đặt lại về 0 trong khi Q được đặt thành 0 nếu dữ liệu ở
mức thấp

7



3.2. Sự khác nhau giữa mạch tổ hợp và mạch tuần tự.
Sự khác nhau
Đầu ra

Mạch tổ hợp

Mạch tuần tự

phụ thuộc vào đầu vào

phụ thuộc vào đầu vào

hiện tại

hiện tại và đầu ra trong
q khứ

Đơn vị bộ nhớ

khơng có đơn vị bộ nhớ

có một đơn vị bộ nhớ để
lưu trữ kết quả ngay lập
tức.

Đồng hồ

khơng có đồng hồ


có một đồng hồ

Bảng 1- 7: Bảng sự khác nhau giữa mạch tổ hợp và mạch tuần tự

3.3. Clock( xung nhịp) CPU là gì, các trạng thái của clock
- Tốc độ xung nhịp của CPU là biểu thị số chu kỳ mà CPU có thể thực thi được
mỗi giây, được đo bằng đơn vị Hertz (Hz) và cịn có tên gọi khác là tần số PC, tần
số CPU
- Trạng thái clock là: Base Clock và Boost Speed
3.4. Mô phỏng mạch

8


Hình 1- 1: Mạch (ABC+AC+AB+BC)C
Input A

Input B

Input C

Output F

0

0

0


0

0

0

1

0

0

1

0

0

0

1

1

1

1

0


0

0

1

0

1

1

1

1

0

0

1

1

1

1

Bảng 1- 8: Mô phỏng mạch (ABC+AC+AB+BC)C


9


Hình 1- 2: Mạch (AD+ABC+ABD+ACD) (¬A) + (¬A)B + (¬C)D

Input A

Input B

Input C

Input D

Output F

0

0

0

0

0

0

0

0


1

1

0

0

1

0

0

0

0

1

1

0

0

1

0


0

1

0

1

0

1

1

0

1

1

0

1

0

1

1


1

1

1

0

0

0

0

10


1

0

0

1

1

1


0

1

0

0

1

0

1

1

0

1

1

0

0

0

1


1

0

1

1

1

1

1

0

0

1

1

1

1

0

Bảng 1- 9: Mơ phỏng mạch (AD+ABC+ABD+ACD) (¬A) + (¬A)B + (¬C)D


3.5. Thiết kế lại thanh ghi ở bài tập 3.2 với 16 bit dữ liệu

Hình 1- 3: Hình thanh ghi 16 bit

11


LAB 2: ALU VÀ REGISTER FILES
1) Thực hành
1.1. Mô phỏng ALU

Hình 2- 1: mơ phỏng ALU

1.2 Mơ phỏng Register Files gồm 4 thanh ghi 8 bit

Hình 2- 2: mơ phỏng Register Files

12


2) Bài tập
2.1. Cải tiến ALU với các phép toán: A + B, A + 1, A – B, A – 1, A AND B, A OR
B, NOT A, A XOR B

Hình 2- 3: ALU với các phép tốn

2.2. Thiết kế và mô phỏng lại Register Files với địa chỉ xuất riêng với địa chỉ ghi?

13



Hình 2- 4: Register Files với địa chỉ xuất riêng

3) Bài tập bổ sung
3.1. Phân biệt Mux và Demux? Thiết kế mux 4to1 và demux 2to4 bằng các cổng
luận lý
Mux

Demux

có nhiều ngõ vào và 1 ngõ ra

có nhiều ngõ ra và có ít ngõ vào

Bảng 2- 1: Phân biệt Mux và Demux

14


Hình 2- 5: Hình Mux 1to4

15


Hình 2- 6: Hình Demux 2to4

3.2: Thiết kế lại bộ cộng có chức năng cộng 2 số 8 bit

16



Hình 2- 7: bộ cộng có chức năng cộng 2 số 8 bit

3.3: Thiết kế mạch có chức năng so sánh hai input 4 bit có bằng nhau hay khơng?
Trường hợp bằng nhau, output bằng 1 ngược lại output bằng 0.

Hình 2- 8: mạch so sánh hai input 4 bit

17


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×