1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÀI tập lớn môn VI xử lý và cấu TRÚC máy TÍNH

31 30 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 31
Dung lượng 460,42 KB

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

Nội dung

NỘI DUNG - Thực hiện mố số ví dụ cụ thể để chúng ta hiểu rõ hơn về cấu trúc, tập lệnh và chức năng các chân của bộ vi xử lý 8086.. Các bộ phậncủa cấu trúc máy tính :  Bộ vi xử lý CPU- C

Trang 1

 Giáo viên hướng dẫn:

Trang 2

LỜI NÓI ĐẦU

Khoa học ngày càng phát triển mạnh mẽ, nhu cầu sử dụng những công nghệ ngày càngcao, yêu cầu độ chính xác và năng suất hoạt động cao Từ yêu cầu đó, con người cần phải sảnxuất và phát minh ra những công cụ, sản phẩm ứng dụng và phát triển ngành công ngệ lập trình

Đi tiên phong thế hệ vi xử lý lập trình theo nhu cầu mong muốn con người, nhà sản xuấtchip vi xử lý Intel đã phát triển và chế tạo thành công chip 4004 vào năm 1971 Là bộ vi xử lý 4bit đầu tiên mở đầu cho kỷ nguyên thế hệ vi xử lý trong máy tính

Một mốc son quan trọng nhất mà Intel đạt được đó là hãng đã sản xuất ra bộ vi xử lýmang tên 8086 có độ rộng dữ liệu lên đến 16 bit với 29000 bóng bán dẫn được tích hợp bêntrong đây là bộ vi xử lý mở đầu cho họ vi xử lý x86

Bộ vi xử lý 8086 đã mang lại sự bùng nổ công nghệ với sự có mặt trong hầu hết các máytính ở thời ký này Để hiểu rõ hơn về cấu tạo và cách ghép nối giữa bộ vi xử lý với các thiết bịngoại vi, chúng em xin trình bày một số ví dụ cụ thể trong bài báo cáo này

Trang 3

ậ n xét và đóng góp ý ki ế n c ủ a giáo viên:

Chúng em xin chân thành cảm ơn!

Trang 4

PH Ụ L Ụ C:

B Ộ CÔNG TH ƯƠ NG 1

L Ờ I NÓI Đ Ầ U 2

PH Ụ L Ụ C: 4

A.N Ộ I DUNG TH Ự C HI Ệ N 5

I N Ộ I DUNG 5

II M Ụ C ĐÍCH 5

B C Ơ S Ở LÝ THUY Ế T 6

I.VI X Ử LÝ VÀ C Ấ U TRÚC MÁY TÍNH 6

1 Khái ni ệ m 6

a Các b ộ ph ậ nc ủ a c ấ u trúc máy tính 6

b.ph ầ n c ứ ng và ph ầ n m ề n 6

2 C ấ u t ạ o và ch ứ c năng c ủ a 8086 7

a S ơ đ ồ kh ố i c ủ a 8086 7

b S ơ đ ồ chân c ủ a 8086 9

C.CÁC THI Ế T B Ị NGO Ạ I VI 13

I IC 8255A 13

1 S ơ đ ồ chân và ch ứ c năng c ủ a m ỗ i chân 13

2 Ch ế đ ộ ho ạ t đ ộ ng 14

II.IC GI Ả I MÃ Đ Ị A CH Ỉ 74273 15

III.IC GI Ả I MÃ Đ Ị A CH Ỉ 74LS139 16

IV.C Ấ U T Ạ O LED 7 THANH 17

D.M Ộ T S Ố VÍ D Ụ 18

I PH Ầ N L Ậ P TRÌNH H Ợ P NG Ữ 18

1 S ơ đ ồ thu ậ t toán 18

2 Code ch ươ ng trình 19

II PH Ầ N GHÉP N Ố I B Ộ NH Ớ 20

1 Gi ả i mã đ ị a ch ỉ 20

2 C ơ ch ế ch ọ n đ ị a ch ỉ 22

III GHÉP N Ố I 8086 V Ớ I 8255 23

1 Ghép n ố i ph ầ n c ứ ng 23

2 S ơ đ ồ thu ậ t toán 24

3 Code ch ươ ng trình 24

E.K Ế T LU Ậ N 26

\

Trang 5

A. NỘI DUNG THỰC HIỆN

I NỘI DUNG

- Thực hiện mố số ví dụ cụ thể để chúng ta hiểu rõ hơn về cấu trúc, tập lệnh và chức năng các chân của bộ vi xử lý 8086

- Một số ví dụ cụ thể như sau:

1 Ví dụ 1 Viết chương trình thực hiện nhập liên tiếp một dãy các ký tự khi nào gặp enter

thì kết thúc Hiển thị dãy ký tự theo chiều ngược lại

2 Ví dụ 2: Xây dựng mạch giải mã địa chỉ cho bộ nhớ gồm các vi mạch nhớ được bố trí như

sau:

00000H (Địa chỉ đầu của ROM)

FFFFFH (Địa chỉ đầu cuối RAM)

3 Ví dụ 3: Ghép 1 Led 7 đoạn Anodes chung (7SEG) với cổng PB, một nút bấm (Button)

với cổng PC Viết chương trình điều khiển để bấm Button thì Led sáng nhấp nháy số 4, bình thường LED sáng số 8

II MỤC ĐÍCH

- Giúp mọi người biết và hiểu rõ hơn về cách ghép nối giưa vi xử lý 8086 và 8255

- Giúp mọi người biết và hiểu rõ hơn cách ghép nối bộ nhớ từ các vi mạch nhớ khác nhau tùy theo yêu cầu đề bài

- Hiểu rõ hơn về cấu trúc lập trình cũng như tập lệnh của bộ vi xử lý 8086

ROM(32K x 8 bit)Khoảng trốngRAM(64K x 8 bit)RAM (32K x 8 bit)

Trang 6

Sơ đồ khối cấu trúc máy tinh như sau:

a Các bộ phậncủa cấu trúc máy tính :

Bộ vi xử lý (CPU- Central Processin Unit)

Với vai trò là bộ xử lý trung tâm, là đầu não của một máy tính, bộ vi xử lý phải thực thi nhiều nhiệm vụ từ việc vào/ra dữ liệu, xử lý thông tin, tính toán số liệu, điều khiển các thiết bị ngoại vi,…

Bộ nhớ

- Bộ nhớ được chia thành RAM và ROM:

+ RAM (Random Access Memory): là bộ nhớ có thể ghi/đọc, có nghĩa là ta có thể đọc thông tin từ bộ nhớ, xóa thông tin cũ trong bộ nhớ hoặc ghi thông tin mới vào bộ nhớ;

+ ROM (Read Only Memory) :dùng để chứa các chương trình điều khiển hệ thống như chương trình để kiểm tra các thiết bị mỗi khi bật nguồn, chương trình khởi động máy… Nội dung bên trong ROM không bị mất đi khi bị mất nguồn

Mạch ghép nối vào/ra

Mạch ghép nối vào/ra có nhiệm vụ tạo ra khả năng giao tiếp giữa hệ vi xử lý với thế giới bên ngoài Bao gồm các thiết bị như : thiết bị vào (bàn phím, chuột, máy quét….).thiết bị ra(màn hình, máy in, … )

Trang 7

Phần cứng (hardware) là thuật ngữ dùng để chỉ toàn bộ những thiết bị cơ khí, điện tử tạo nên máy tính như các ổ đĩa, màn hình,…

Trang 8

Phần mềm

Phần mềm (software) là thuật ngữ dùng để chỉ các chương trình máy tính, nó được thực thi trên phần cứng bằng cách điều khiển sự hoạt động của phần cứng

Các phần mền được chia thành các loại sau:

Hệ điều hành như DOS, Windows,…

Trình tiện ích như NC, NU, BKAV,…

Chương trình ứng dụng như MS Word, Protel,……

Ngôn ngữ lập trình pascal, C, C++, Java,…

2. Cấu tạo và chức năng của 8086

a. Sơ đồ khối của 8086

- Bên trong bộ vi xử lý 8086 bao gồm 2 khối chính:

+ Khối thực hiện lệnh (EU- Execution Unit) là nơi giả mã và thi hành các lệnh

+ giao tiếp bus (BIU- Bus Interface Unit) có nhiệm vụ đẩm bảo việc trao đổi thông tin giữa 8086 với các linh kiện bên ngoài

- Các thanh ghi đa năng:

+ Thanh ghi AX: đây là thanh ghi chứa, kết quả của các thao tác thường được chứa ở đây.

Nếu kết quả là 8 bit thì thanh ghi AL sẽ được sử dụng

+ Thanh ghi BX: đây là thanh ghi cơ sở, thương được chứa địa chỉ cơ sở của một bảng khi

sử dụng lệnh XLAT

+ Thanh ghi CX: đây là thanh ghi đếm, nó thường được chứa số lần lặp lại trong trường

hợp dùng lênh LOOP, còn CL thì thường được chứa số lần quay hay dịch bít của các thanh ghi

+ Thanh ghi DX: đây là thanh ghi dữ liệu, nó thường được sử dụng cùng với thanh ghi AX

để thực hiện các phép nhân hay chia của các số 16 bit DX còn được sử dụng để chứa địa chỉ các cổng trong các lệnh vào/ra dữ liệu trực tiếp

- Thanh ghi cờ F là thanh ghi gồm 16 bit nhưng chỉ sử dụng 9bit còn lại không sử dụng

Trang 9

Các bit cờ chia thành hai loại:

* Các cờ trạng thái: có 6 cờ trạng thái là C, P, A, Z, S và O Các cờ trạng thái này được

thiết lập bằng 1 hoặc xóa bằng 0 sau hầu hết các lệnh toán học và logic

* Các cờ điều khiển: có 3 cờ T, I, D Các cờ này được thiết lập bằng 1 hoặc xóa bằng 0

thông qua các lệnh để điều khiển chế độ làm việc của bộ vi xử lý

+ T (Trap): cờ bẫy,

+ I (Interrupt): cờ ngắt;

+ D (Direction): cờ hướng

- Có 3 đoạn ghi con trỏ (IP, BP, SP) và 2 đoạn ghi chỉ số (SI, DI) Các đoạn ghi này ngầm định

được sử dụng làm các đoạn ghi lệch cho các đoạn tương ứng:

+ IP (Instruction Pointer), BP (Base Pointer ), SP (Stack Ponter), SI (Source Index): DI

(Destinaton Index)

- Khối điều khiển (CU- Control unit) Có nhiệm vụ tạo ra các tín hiệu điều khiển các bộ

phận bên trong và bên ngoài CPU

.Kh

ố i giao ti ế p bus (BIU)

Khối giao tiếp bus (BIU- Bus Interface Unit) có nhiệm vụ đảm bảo việc trao đổi thông tin giữa 8086 với các linh kiện bên ngoài BIU gồm :

- Một bộ cộng để tạo địa chỉ vật lý 20 bit từ các thanh ghi 16 bit.

- Bốn thanh ghi đoạn 16 bit gồm CS, DS, SS và ES để giúp 8086 truy cập tới các đoạn trên

bộ nhớ

+ Thanh ghi đoạn mã CS (Code Segment),.

+ Thanh ghi đoạn dữ liệu DS (Data Segment).

+ Thanh ghi đoạn dữ liệu phụ ES (Extra Segment).

+ Thanh ghi đoạn ngăn xếp SS (Stack Segment) .

- Mạch logic điều khiển có nhiệm vụ đảm bảo giao tiếp giữa 8086 với thiết bị bên ngoài.

- Hàng đợi lệnh có độ dài 6 byte là nơi chứa các mã lệnh đọc được nằm sẵn để chờ EU xử

Trang 10

b. Sơ đồ chân của 8086

Vi xử lý 8086 được thiết kế để hoạt động một trong hai chế độ, tùy thuộc vào mức điện áp đặt

ở chân số 33 (chân MN/MX):

- Chế độ tối thiểu (chế độ MIN) đươc thiết lập nếu điện áp ở chân số 33 ở mức 5V

Chế độ tối đa (chế độ MAX) được thiết lập nếu điện áp ở chân số 33 ở mức 0V

Vi xử lý 8086 có 20 đường địa chỉ từ A0 đến A19 tong đó 16 đường dây địa chỉ thấp từ A0 đến A15 được ghép kênh dữ liệu từ D0 đến D15 trên các chân từ AD0 đến AD15 ; còn 4 đường dây địa chỉ cao nhất từ A16 đến A19 được ghép kênh với tín hiệu trạng thái từ S3 đến S6 trên các chân A16/S3 đến A19/S6

- Vi xử lý 8086 có 16 đường dây dữ liệu từ Do đến D15 được ghép kênh với 16 đường địa chỉthấp từ D0 đến D15 Khi hoạt động ở chu kỳ bus dữ liệu thì các đường dây này mang thôngtin về dữ liệu, là dữ liệu đọc ra hay vào bộ nhớ

- Bốn đường dây địa chỉ cao nhất từ A16 đến A19 của 8086 cũng được ghép kênh , nhưng trongtrường hợp này nó được ghép kênh với các tín hiệu trạng thái từ S3 đến S6 Các bít trang tháinày được đưa ra cùng thời điểm với các dữ liệu được truyền trên các chân AD0 đén AD15

- READY: Tín hiệu báo cho CPU biết tình trạng sẵn sàng của thiết bị ngoại vi hay bộ nhớ

Khi READY = 1 thì CPU thực hiện đọc/ghi dữ liệu Khi các thiết bị ngoại vi hay bộ nhớ cótốc độ chậm, chúng có thể đưa tín hiệu READY = 0 để báo cho CPU biết mà chờ chúng

- ALE: [I] Address Latch Enable Xung cho phép chốt địa chỉ Khi ALE = 1 có nghĩa là trên các chân ghép kênh AD có địa chỉ của thiết bị vào/ra hoặc ônhớ Khi CPU chấp nhận treo chân này không ở trạng thái trở kháng cao mà ALE = 0

- : [O] Data bus Enable Kích hoạt các bộ đệm bus dữ liệu

- : Chọn bộ nhớ (= 0) hoặc thiếtbị vào/ra (= 1) làm việc với CPU Khi đó trên bus địachỉ sẽ có địa chỉ tương ứng của các thiết bị đó Chân này ở trạng thái trở kháng cao khi CPU chấp nhận treo

- :[O] Data Transmit/Receive Tín hiệu này cho biết bus dữ liệu đang vận chuyển dữ liệu vào CPU hay ra khỏi CPU Tín hiệu này cũng dùng để điều khiển các bộ đệm 2 chiều của bus dữ liệu

- : Dùng để báo rằng đang truy cập năng cao hay băng thấp của bộ nhớ

- :[O] Read signal Xung cho phép đọc Khi RD = 0 thì bus dữ liệu nhận dữ liệu từ bộ nhớhoặc thiết bị ngoại vi

Trang 11

- INTR: [I] Interrupt request Khi có yêu cầu ngắt (INTR = 1) mà cờ cho phép ngắt IF = 1 thì

CPU kết thúc lệnh đang làm dở, sau đó đi vào chu kỳ chấp nhận ngắt và đưa ra bên ngoài tínhiệu INTA = 0

- :[I] Tín hiệu tại chân này được kiểm tra bởi lệnh WAIT Khi CPU thực hiện lệnh

WAIT mà lúc đó tín hiệu TEST = 1 thì nó sẽ chờ cho đến khi tín hiệu TEST = 0 thì mới thựchiện lệnh tiếp theo

- NMI: [I] None-Maskable Interrupt Tín hiệu yêu cầu ngắt không che được.

- RESET: Dùng để thiết lập lại phần cứng cho CPU Chuyển RESET xuống mức logic 0

dùng để khởi tạo các thanh ghi nội của vi xử lý và khởi tạo chương trình con phục vụ thiếtlập hệ thống

c: Các hàm ngắt và tập lệnh của 8086

 T ậ p l ệ nh c ủ a 8086

+ Lệnh XCHG: toán hạng đích và nguồn được đổi lẫn cho nhau

XHCG đích, nguồn

+ Lệnh XLAT: XLAT nhãn_nguồn

+ Lệnh ADD, SUB: ADD đích,nguồn - cộng nguồn vào đích

+ Lệnh ADC: cờ nhớ được cộng vào toán hạng đích và nguồn

ADC đích,nguồn

+ Lệnh DIV: thực hiện phép chia không dấu, toán hạng nguồn có thể

là một ô nhớ hay đoạn ghi Nếu toán hạng nguồn là 8 bit thì thương sốnằm trong AL, số dư nằm trong AH; nếu toán hạng nguồn là 16 bit, thì thương số nằm trong AX còn số dư nằm trong DX

+ Lệnh NEG (NEGate): toán hạng đích bị trừ đi từ số toàn chữ số 1

(0FFH với kiểu byte và 0FFFFH với kiểu từ)

NEG đích;

+ Lệnh SBB (SuBtract with Borrow): Trừ có nhớ Trừ toán hạng đích

cho toán hạng nguồn và nếu CF=1 thì trừ kết quả nhận được cho 1

SBB đích, nguồn;

Trang 12

+ Lệnh MUL(Multiply): thực hiện phép nhân không dấu Nhân nội

dung của đoạn AL với toán hạng nguồn Nếu nguồn kiểu byte thì tích chứa trong AX, nếu nguồn là kiểu từ thi tích chứa trong DX:AX

MUL nguồn;

+ Lệnh JNZ: nếu KQ của lệnh trước đó khác 0 thi thực hiện lệnh

nhảy đến nhãn_đích, ngược lại thì thực hiện lệnh kế tiếp sau đó

JNZ nhan_dich;

+ Lệnh JA, JG: nhảy nếu lớn hơn

+ Lệnh JB, JL : nhảy nếu nhỏ hơn.

+ Lệnh JNA, JNG: nhảy nếu không lớn hơn.

+ Lệnh JE: nhảy nếu bằng.

+ Lệnh JC : nhảy nếu cờ CF=1.

+ Lệnh nhảy không điều kiện (JuMP) : nhảy đến nhãn_nguồn khi

gặp lệnh này

JMP nhan_nguon ;

+ Lệnh CMP (CoMPare) : so sánh 2 toán hạng bằng cách trừ 2 toán

hạng cho nhau mà không lưu lại kết quả

CMP dich, nguon ;

+ Lệnh lặp : lặp lại nhãn_nguồn khi gặp lệnh này.

LOOP nhan_nguon ;

+ Các lệnh AND, OR, XOR và TEST

AND dich,nguon ;AND đích với nguồn, kết quả lưu ởđích

OR dich,nguon ;OR đích với nguồn, kết quả lưu ởđích

XOR dich,nguon ;XOR đích với nguồn, kết quả lưu ởđích

TEST dich,nguon ;AND đích với nguồn, kết quả không lưu lại

+ Lệnh dịch: SHL/SAL dich,1 ;dich sang trai 1 bit

SHL/SAL dich,CL ; dich sang trai nhieu

SHR dich,CLL ; dich sang phai nhieu bit

+ Lệnh quay: ROL/ROR dich,1 ; quay đích sang trái/phải 1bit

Trang 13

+ Lệnh HLT (HaLT): đưa bộ vi xử lý vào trạng thái dừng để chờ

ngắt ngoài Dạng lệnh: HLT

Trang 14

+ Lệnh LOCK: khóa bus trong môi trường có nhiều bộ vi xử lý + Lệnh NOP: không thực hiện một thao tác nào.

+ Lệnh STI: IF được thiết lập 1.

+ Lệnh WAIT: Bộ vi xử lý ở trạng thái chờ cho đến khi ngắt ngoài

+ Lệnh PUSH: cất dữ liệu vào ngăn xếp, giảm SP đi 2.

+ Lệnh POPF: chuyển nội dung của 2 byte từ đinh ngăn xếp vào đoạn

ghi cờ, sau đó tăng con trỏ ngăn xếp lên 2

- Hàm 1: là hàm chờ đọc vào 1 ký tự từ thiết bị vào ra chuẩn(bàn phím).

Kết quả được lưu vào trong AL

cú pháp: MOV AH,1

INT 21H

- Hàm 2 : là hàm hiển thị nội dung thanh ghi DL lên màn hình hoặc thi

hành các chức năng điều khiển

Cú pháp: MOV AH,2

MOV DL,’A’

Int 21H

- Hàm 4CH : là hàm kết thúc chương trình hiện tại và trả điều khiển về

cho chương trình gọi nó

INT 21H

C ấ u trúc ch ươ ng trình l ậ p trình cho 8086

model small ;khai bao kieu bo nho la small

Trang 15

.stack 100h ;khai bao kich thuoc ngan xep la100h

;khai báo các biến, các hằng ở đây

doan ma Main proc

;các lệnh chương trình chính

Main endp

;các hàm và thủ tụcEnd main

8255A

C. CÁC THIẾT BỊ NGOẠI VI

1 S ơ đ ồ chân và ch ứ c năng c ủ a m ỗ i chân

- Trên thị trường và nghiên cứu chúng ta chỉ nghiên cứu loại đóng

gói dạng DIP 40 chân của IC 8255A:

- Các chân 14, 15, 16, 17, 13, 12, 11, 10: tương ứng theo thứ tự từ PC0 đến PC7 Đây là cổng giao tiếp dữ liệu 8 bít PC, khi cần thiết, nó có

- Các chân từ 18 đến 25: tương ứng với cổng PB từ PB0 đến PB7

Tương tự như cổng PA, cổng PB cũng có thể đưa dữ liệu 8 bít ra hoặc vào bằng cách thiết lập giá trị của thanh ghi điều khiển

- Các chân từ 27 đến 34 : tương ứng theo thứ tự từ D7 đến D0 - Bus

dữ liêu(2 chiều) Bus dữ liệu 2 chiều này được nối tới các tín hiệu tương ứng của Vi xử lý để trao đổi dữ liệu vào/ra do chip 8086 xử lý

- Chân 35: là chân Reset - khởi tạo trạng thái ban đầu của IC 8255 Nếu

đặt mức này lên mức 1 thì IC bị RESET lại từ đầu để mạch có thể chạy được, chúng ta phải đặt chân này về mức 0V – GND

Ngày đăng: 20/10/2021, 09:37

HÌNH ẢNH LIÊN QUAN

+ Thanh ghi BX: đây là thanh ghi cơ sở, thương được chứa địa chỉ cơ sở của một bảng khi sử dụng lệnh XLAT. - BÀI tập lớn môn VI xử lý và cấu TRÚC máy TÍNH
hanh ghi BX: đây là thanh ghi cơ sở, thương được chứa địa chỉ cơ sở của một bảng khi sử dụng lệnh XLAT (Trang 8)
Kết hợp giữa bảng gải mã địa chỉ và nhìn vào sơ đồ ghép nối bộ nhớ, ta thấy nguyên lý chọn tưng vi mạch nhớ như sau: - BÀI tập lớn môn VI xử lý và cấu TRÚC máy TÍNH
t hợp giữa bảng gải mã địa chỉ và nhìn vào sơ đồ ghép nối bộ nhớ, ta thấy nguyên lý chọn tưng vi mạch nhớ như sau: (Trang 25)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w