1. Trang chủ
  2. » Công Nghệ Thông Tin

Cấp vi lập trình pdf

9 191 1
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 705,25 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cấp vi lập trình Mục tiêu Nghiên cứu cách thức: - Vi chương trình điều khiển các thành phần phần cứng - Vi chương trình phiên dịch các chỉ thị của cấp máy quy ước... Cấp vi lập trình

Trang 1

Cấp vi lập trình

Mục tiêu

Nghiên cứu cách thức:

- Vi chương trình điều khiển các thành phần phần cứng

- Vi chương trình phiên dịch các chỉ thị của cấp máy quy

ước

Trang 2

Cấp vi lập trình

Cách thức kết nối

SP

IR TIR

0 +1 -1 AMASK SMASK

A

B

C

D

E

F

Bus A Bus B Bus C

L(A) L(B)

AMUX

ALU

L 0   L1

Shifter

F 0 

F 1 

 N

 Z

 S0

 S1

MBR MAR  M0 Address out

To address bus

To data bus

M 2 

M 3 

 M1 A 0 

Data in

Data out

16 thanh ghi (16 bits)

Bus A,B dẫn dữ liệu đến ALU 16 bits

ALU thực hiện 4 chức năng: A+B, A ^ B, A, Not A nhờ F 0 và F 1 và

2 trạng thái N, Z

Bus C nạp nội dung từ ALU vào thanh ghi

Bus A,B không trực tiếp đưa dữ liệu đến ALU mà thông qua 2 mạch chốt

Đề truyền với bộ

nhớ, đưa MAR và

MBR vào vi cấu trúc

MAR nạp địa chỉ từ

chốt B nhờ đường

điều khiển M 0

M 1 nạp dữ

liệu cho

MBR, M 2,3

điều khiển

đọc và ghi bộ

nhớ

Kênh Amux xác định dữ liệu vào từ chốt A hay MBR nhờ A 0

Trang 3

Cấp vi lập trình

Cách thức kết nối

SP

IR TIR

0 +1 -1 AMASK SMASK

A

B

C

D

E

F

Bus A Bus B Bus C

L(A) L(B)

AMUX

ALU

L 0   L1

Shifter

F 0 

F 1 

 N

 Z

 S0

 S1

MBR

MAR  M0 Address out

To data bus

M 2 

M 3 

 M1 A 0 

Data in

Data out

To address bus

- 16 tín hiệu điều khiển nạp cho Bus A từ thanh ghi

- 16 tín hiệu điều khiển nạp cho Bus B từ thanh ghi

- 16 tín hiệu điều khiển nạp cho thanh ghi từ Bus C

- 2 tín hiệu điề khiển chốt A,B

- 2 tín hiệu điều khiển chức năng ALU

- 2 tín hiệu điều khiển mạch dịch bit

- 4 tín hiệu điều khiển MAR và MBR

- 2 tín hiệu điều khiển đọc, ghi bộ nhớ

- 1 tín hiệu điều khiển Amux

Mã hóa thông tin bằng 4 bit và dùng mạch giải mã 416 để tiết kiệm 32 bits

Trang 4

Cấp vi lập trình

Cách thức kết nối

Khuôn dạng vi lệnh

A

M

U

X

C

O

N

D

A

L

U

S

H

M B

R

M A

R

R

D

W

R

E N

C

Bits 1 2 2 2 1 1 1 1 1 4 4 4 8

Khuôn dạng vi lệnh có 32 bits

Mã hóa thông tin bằng 4 bits điều khiển 3 bus A,B,C, dùng để chọn thanh ghi

Bit thêm vào ENC (Enable C)

Dùng RS và WR điều khiển chốt MBR

Thêm COND quản lý

trình tự vi lệnh kế tiếp

Thêm COND quản lý địa chỉ vi lệnh kế tiếp

Đk chọn dữ liệu từ chốt A (=0) hoặc MBR (=1) đến ALU

Chọn chức năng ALU: A+B (=00), A and B (01), A (=10), Not A (11)

Mạch dịch bit phải (=01), trái (=10), không dịch (=00)

Nạp dữ liệu cho MBR từ mạch dịch bit (=1) hoặc không (=0)

Nạp địa chỉ cho MAR từ mạch chốt B (=1) hoặc không (=0) RD,WR yêu cầu đọc/ghi dữ liệu (=1) hoặc không (=0)

Đk cất kết quả ALU vào bộ nhớ nháp (=1) hoặc không (=0)

COND=1, nhảy đến ADDR nếu N=1 COND=2, nhảy đến ADDR nếu Z=1 COND=3, nhảy đế ADDR

Trang 5

Cấp vi lập trình

Sơ đồ khối đầy đủ

của vi cấu trúc

16 register

MAR

MBR

LA LB

AMUX

ALU

Shifter

C

A M U

X

C

O

N

D

A

L

U

S

H M B

R

M A

R

R

D W

R EN

C C B A ADDR

256 x 32 Control Store

Mmux

C decode

B decode

A decode

4

3 Clock

2 Subcycles

1

MIR

N

2

RD

WR

4

4

4

16

16

16

Trang 6

Cấp vi lập trình

Vi hợp ngữ

Nguyên tắc: vi chương trình được viết dưới dạng số nhị

phân, mỗi vi lệnh dài 32 bit

Ví dụ: Để cộng AC với A và chứa kết quả vào AC

0 00 00 00 0 0 0 0 1 0001 0001 0010 00000000

Amux=0 Cond=0 ALU=0 (Phép cộng)

SH=0 MBR,MAR,RD,WR=0

ENC=1 C=1 B=1 A=10 ADDR=0

Có thể viết:

ENC=1,C=1,B=1,A=10

Trang 7

Cấp vi lập trình

Vi hợp ngữ

Nguyên tắc: sử dụng ký hiệu của

ngôn ngữ cấp cao mô tả chỉ thị máy

PC

AC

SP

IR TIR

0 +1 -1 AMASK SMASK

A

B

C

D

E

F

Bus A Bus B Bus C

L(A) L(B)

AMUX

ALU

L 0   L1

Shifter

F 0 

F 1 

 N

 Z

 S0

 S1

MBR

MAR  M0 Address out

To data bus

M 2 

M 3 

 M1 A 0 

Data in

Data out

A M U

X

C O N

D

A L

U S H

M B

R

M A

R R D W R

E N

C C B A

A D D

R

Trang 8

Cấp vi lập trình

Ví dụ một vi chương trình thực hiện lệnh cộng (ADD)

1 Vi lệnh: PC-MAR:

- ALU nối Bus D và Bus S

- Bus D nối PC

- Bus S nôi MAR

2 Vi lệnh: |ADDR|MBR

- Đọc MEM ra MBR

3 Vi lệnh: (MBR)IR

- ALU nối Bus M và bus S

- MBR nối Bus M

- Bus S nối IR

4 Vi lệnh: DECODE Nhảy đến địa chỉ mã lệnh (đã giải mã)

5 Vi lệnh: (IA)MAR

- ALU nối Bus D và Bus S

- Nối IA (của IR) và Bus D

- Bus S nôi MAR

6 Vi lệnh: |DATA|MBR- Đọc dữ liệu từ MEM ra MBR

7 Vi lệnh: MBR+A

- Cộng nội dung trên Bus D và Mus

M và đưa ra Bus S

- MBR nối Bus M

- Nối Bus S với AC

8 Vi lệnh: PC+1

- Nối Bus D và Bus S qua ALU, PC cộng 1

- Nối PC và Bus D

- Nối Bus S và PC

1 mar:=pc;rd;

2 pc:=pc+1;rd;

3 ir:=mbr;

5 rd;

6 ac:=mar;goto 0;

8 Rd;

9 ac:=mbr+ac;goto 0;

y}

13 ac:=ac+a;goto 0;

Trang 9

Cấp vi lập trình

Ví dụ một vi chương trình thực hiện lệnh cộng (ADD)

1 mar:=pc;rd;

2 pc:=pc+1;rd;

3 ir:=mbr;

4 mar:=ir;rd; {LODD}

5 rd;

6

0 00 10 0 0 1 1 0 0 0000 0000 0000 00000000

0 00 00 0 0 0 0 0 1 0000 0110 0000 00000000

1 00 10 0 0 0 0 0 1 0011 0000 0000 00000000

0 00 10 0 0 1 1 0 0 0000 0011 0000 00000000

0 00 00 0 0 0 1 0 0 0000 0000 0000 00000000

A M U

X

C O N

D

A L

U S H

M B

R

M A

R R D W R

E N

C C B A

A D D

R

Vi chương trình viết dưới

dạng ngôn ngữ tượng trưng,

sử dụng ký hiệu của ngôn

ngữ cấp cao

Vi chương trình viết dưới dạng vi lệnh nhị phân, mỗi vi lệnh dài 32 bits

Ngày đăng: 28/07/2014, 06:20

HÌNH ẢNH LIÊN QUAN

Sơ đồ khối đầy đủ - Cấp vi lập trình pdf
Sơ đồ kh ối đầy đủ (Trang 5)

TỪ KHÓA LIÊN QUAN