Chương 1 :

Câu1: Số nhị phân 8 bits (11101101) tương ứng với các số nguyên thập phân có dấu là bao nhiêu :

a/ Dấu và trị tuyệt đối.

Ta có: 011011012 = +10910

–> 1110 11012 = -10910

b/ Số bù 1

–> 1001 00102 = -1810

c/ Số bù 2

–> 1001 00112 = -1910

d/ Số thừa K=128

–>  1110 11012 = +10910

Câu 2 : 311.75 thành dấu chấm động chính xác đơn 32 bits.

Ta có:

Đổi số: 311.7510 = 100110111.112

Chuẩn hóa: 100110111.112 = 1.00110111112 * 28

Số dương: bit dấu S có giá trị là 0

Phần mũ E với số thừa K=127

Mặt khác: E – 127 = 8 => E=8 + 127 = 135

Mà: 13510 = 1000 01112

–> Kết quả: 0 10000111 00110111110000000000000

Chương 2 :

1.      Load R28, (1500)    ; Cho biết mã tác vụ Load: 001001

Load R28, (1500). Mã tác vụ Load: 001001

d31

d30

d29

d28

d27

d26

d25

d24

d23

d22

d21

d20

d19

d18

d17

d16

d15

d14

d13

d12

d11

d10

d9

d8

d7

d6

d5

d4

d3

d2

d1

d0

0

0

1

0

0

1

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

1

0

1

1

1

0

1

1

1

0

0

Op code (6bit)

Th/g S.L (5bit)

Th/g D.C (5bit)

Độ dời có dấu (16bit)

2.      Load R20, 400(R17)  ; Cho biết mã tác vụ Load: 001001

Load R20, 400(R17) . Mã tác vụ Load: 001001

d31

d30

d29

d28

d27

d26

d25

d24

d23

d22

d21

d20

d19

d18

d17

d16

d15

d14

d13

d12

d11

d10

d9

d8

d7

d6

d5

d4

d3

d2

d1

d0

0

0

1

0

0

1

1

0

1

0

0

1

0

0

0

1

0

0

0

0

0

0

0

1

1

0

0

1

0

0

0

0

Op code (6bit)

Th/g S.L (5bit)

Th/g D.C (5bit)

Độ dời có dấu (16bit)

3.      Store R12, (R24)    ; Cho biết mã tác vụ Store: 001010

Store R12, (R24). Mã tác vụ Store: 001010

d31

d30

d29

d28

d27

d26

d25

d24

d23

d22

d21

d20

d19

d18

d17

d16

d15

d14

d13

d12

d11

d10

d9

d8

d7

d6

d5

d4

d3

d2

d1

d0

0

0

1

0

1

0

0

1

1

0

0

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Op code (6bit)

Th/g S.L (5bit)

Th/g D.C (5bit)

Độ dời có dấu (16bit)

4.      Add R25, R17, R13   ; Cho biết mã tác vụ Add: 011010

Add R25, R17, R13.  Mã tác vụ Add: 011010

d31

d30

d29

d28

d27

d26

d25

d24

d23

d22

d21

d20

d19

d18

d17

d16

d15

d14

d13

d12

d11

d10

d9

d8

d7

d6

d5

d4

d3

d2

d1

d0

0

1

1

0

1

0

1

1

0

0

1

1

0

0

0

1

0

1

1

0

1

0

0

0

0

0

0

0

0

0

0

0

Op code (6bit)

Đích (5bit)

Nguồn 1(5bit)

Nguồn 2 (5bit)

Op code mở rộng (10bit)

1

5.      Sub R2, R16, # -1250; Cho biết mã tác vụ Sub: 011011

Sub R2, R16, # -1250. Mã tác vụ Sub: 011011

d31

d30

d29

d28

d27

d26

d25

d24

d23

d22

d21

d20

d19

d18

d17

d16

d15

d14

d13

d12

d11

d10

d9

d8

d7

d6

d5

d4

d3

d2

d1

d0

0

1

1

0

1

1

0

0

0

1

0

1

0

0

0

0

1

1

1

1

1

0

1

1

0

0

0

1

1

1

1

0

Op code (6bit)

Đích (5bit)

Nguồn (5bit)

Số có dấu (toán hang tức thì 16bit)


Chương 3:

  1. Load  R5, (R20)

1. Đọc lệnh:

MAR       <–  PC

IR           <–  M[MAR]

  2. Giải mã lệnh và đọc các thanh ghi nguồn:

A            <– 0

B            <–  R20

PC          <–  PC + 4

  3. Thi hành lệnh:

MAR      <–  A + B

  4. Thâm nhập bộ nhớ hoặc nhảy lần cuối:

MDR       <–  M[MAR]

  5. Lưu kết quả:

R5          <–  MDR

  1. Store R7, 100(R21)

1. Đọc lệnh:

MAR       <– PC

IR           <–  M[MAR]

  2. Giải mã lệnh và đọc các thanh ghi nguồn:

A            <–  100

B            <–  R21

PC          <–  PC + 4

  3. Thi hành lệnh:

MAR       <–  A + B

MDR       <–  R7

  4. Thâm nhập bộ nhớ hoặc nhảy lần cuối:

M[MAR] <–  MDR

  1. Add   R5, R4, R20
  1. 1.  Đọc lệnh:

MAR       <–  PC

IR           <–  M[MAR]

  1. 2.  Giải mã lệnh và đọc các thanh ghi nguồn:

A            <–  R4

B            <–  R20

PC          <– PC + 4

  1. 3.  Thi hành lệnh:

Ngã ra ALU <–   A + B

  1. 4.  Lưu kết quả:

R5 <–  Ngã ra ALU

  1. Sub   R10, R12, R24
  1. 1.  Đọc lệnh:

MAR       <–  PC

IR           <–  M[MAR]

  1. 2.  Giải mã lệnh và đọc các thanh ghi nguồn:

A            <–  R12

B            <–  R24

PC          <–  PC + 4

  1. 3.  Thi hành lệnh:

Ngã ra ALU <–  A – B

  1. 4.  Lưu kết quả:

R10        <– Ngã ra ALU

  1. And   R5, R2, R15
  1. 1.  Đọc lệnh:

MAR       <–  PC

IR           <–  M[MAR]

  1. 2.  Giải mã lệnh và đọc các thanh ghi nguồn:

A             <–  R2

B            <–  R15

PC          <–  PC + 4

  1. 3.  Thi hành lệnh:

Ngã ra ALU <–  A and B

  1. 4.  Lưu kết quả:

R5          <–  Ngã ra ALU

  1. Or    R15, R3, R7
  1. 1.  Đọc lệnh:

MAR       <–  PC

IR           <–  M[MAR]

  1. 2.  Giải mã lệnh và đọc các thanh ghi nguồn:

A            <–  R3

B            <–  R7

PC          <–  PC + 4

  1. 3.  Thi hành lệnh:

Ngã ra ALU <–  A or B

  1. 4.  Lưu kết quả:

R15        <–  Ngã ra ALU

  1. JMP   R7
  1. 1.  Đọc lệnh:

MAR       <–  PC

IR           <–  M[MAR]

  1. 2.  Giải mã lệnh và đọc các thanh ghi nguồn:

A            <–  0

B            <–  R7

PC          <–  PC + 4

  1. 3.  Thi hành lệnh:

Ngã ra ALU <–   B

  1. 4.  Thâm nhập bộ nhớ hoặc nhảy lần cuối:

PC          <–  Ngã ra ALU.

  1. BRA   +5 (Nhảy không điều kiện)
  1. 1.  Đọc lệnh:

MAR       <–  PC

IR           <–  M[MAR]

  1. 2.  Giải mã lệnh:

B            <–  5*4

PC          <–  PC + 4

  1. 3.  Thi hành lệnh

Ngã ra ALU <–  PC + B

  1. 4.  Thâm nhập bộ nhớ hoặc nhảy lần cuối:

PC          <– Ngã ra ALU

  1. BGT   R4, +2(Nhảy bỏ 2 lệnh nếu điều kiệntrên R4 thỏa)
  1. 1.  Đọc lệnh:

MAR       <–  PC

IR           <–  M[MAR]

  1. 2.  Giải mã lệnh

A            <–  R4

B            <–  2*4

PC          <–  PC + 4

  1. 3.  Thi hành lệnh

Xét điều kiện trên A

Nếu thỏa điều kiện

Ngã ra ALU  <–  PC + B

  1. 4.  Thâm nhập bộ nhớ hoặc nhảy lần cuối:

PC          <–  Ngã ra ALU

Nếu không thỏa điều kiện

Thực hiện lệnh kế tiếp

 

Bài tập chương 4 (Tham khảo): http://www.mediafire.com/download/463lze6c3h7bdq5/Chuong_4.rar

Like hoặc comment để ủng hộ nếu thấy bài viết hữu ích:D