1. Trang chủ
  2. » Luận Văn - Báo Cáo

CÁC THẾ HỆ CPU CỦA INTEL

78 1,6K 3
Tài liệu đã được kiểm tra trùng lặp

Đ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 78
Dung lượng 1,41 MB

Nội dung

CÁC THẾ HỆ CPU CỦA INTEL

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NÔI

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO THỰC TẬP TỐT NGHIỆP

CÁC THẾ HỆ CPU CỦA INTEL

SVTT : GVHD : Vương Quốc Dũng

-Năm

Trang 2

2009-Mục Lục

Trang 3

Phần 1: GIỚI THIỆU CHUNG

1.1 Lời nói đầu

Hiện nay ngành công nghệ thông tin đang phát triển rộng rãi Nó được ứng dụng vào tất cả các lĩnh vực kinh tế và đời sống Đã nói tới công nghệ thông tin thì không thể không nhắc tới chiếc máy tính Dần dần chúng ta sẽ không thể sống mà không có chiếc máy tính, nó sẽ trở thành một ph ần rất quan trọng trong cuộc sống của chúng ta Để sử dụng một cách thành thạo chiếc máy tính của mình thì chúng ta phải tìm hiểu rõ hơn về nó

Máy vi tính được cấu tạo gồm 5 bộ phận chủ yếu : Bộ vi xử lý trung tâm (CPU) gọi tắt là bộ vi xử lý, bộ nhớ trong (ổ đĩa cứng), bộ nhớ ngài (đĩa mềm, đĩa CD ROM), thiết bị nạp tín hiệu (bàn phím, chuột), thiết bị hiển thị thông tin (màn hình) Trong đó :

CPU có vị trí hết sức quan trọng trong máy tính, nó có nhiều chức năng Trước hết, CPU có khả năng thực hiện tính toán với tốc độ nhanh Thứ hai, CPU có khả năng lưu giữ và lấy ra những thông tin từ bộ nhớ trong Thứ ba, CPU có khả năng nhận biết và chấp hành lệnh của máy tính Cuối cùng CPU có khả năng chỉ huy công việc của các bộ phận hoạt động nhịp nhàng

Cho nên, CPU- Bộ vi xử lý, được coi như là trái tim của một bộ máy tính Cũng như con người, máy tính cũng cần có một “ trái tim” để có thể hoạt động tốt Ngoài ra, CPU cũng là bộ não máy tính, đó là nơi các phép toán được xử lý

và đưa ra kết quả, thông báo cho người dùng Chỉ cần ví CPU như trái tim và bộ não thì đã đủ biết tầm quan trọng vô cùng của nó Và thực tế CPU cũng chính là vấn đề mà người dùng quan tâm nhất trong muôn ngàn bộ phận khác của một chiếc máy tính Chính vì thế việc tìm hiểu về CPU là hết sức quan trọng và cần thiết

Hiện nay, trên thị trường có rất nhiều bộ vi xử lý của nhiều hãng khác nhau nhưng chiếm thị phần lớn nhất là Intel, với những bộ vi xử lý rất ưu việt

Được thành lập vào năm 1968, ban đầu Intel tập trung vào việc chế tạo các transistor lưỡng cực và các mạch bán dẫn bằng ôxit kim loại Đây cũng là một

Trang 4

công nghệ sở trường của Intel vào thời đó và phải mất bảy năm sau, các công

ty lớn khác mới sao chép lại được công nghệ này

Intel bắt đầu phát triển vi xử lý từ năm 1969 theo dự án của nhà sản xuất máy tính Nhật Busicom Kế hoạch ban đầu của Busicom là xây dựng 12 chip có khả năng tùy biến

Ban đầu, Busicom nắm giữ các quyền liên quan tới bộ vi xử lý đó và trả cho Intel 60.000 USD Nhận thấy tiềm năng của "bộ não" này, Intel quyết định trả lại

số tiền trên để đổi lấy quyền thiết kế chip Ngày 15/11/71, sản phẩm đầu tiên của hãng chế tạo chip lớn nhất thế giới mang tên 4004 ra đời, nhằm tăng sức mạnh cho máy tính Busicom và dọn đường cho khả năng nhúng trí thông minh của con người vào trong các thiết bị vô tri cũng như hệ thống máy tính cá nhân

Và từ đó các phiên bản tiếp theo của bộ vi xử lý đầu tiên của Intel liên tục được tung ra thị trường và ngày càng hoàn thiện hơn Đặc biệt là sự ra đời của

bộ vi x ử l ý 8086 đã biến Intel từ một công ty sản xuất chip nhỏ thành một công

ty sản xuất chip hàng đầu thế giới Nó là nền tảng cho tất cả các bộ vi xử lý sau này của Intel

Việc thực hiện đề tài này quả thật là rất khó khăn, bởi vì đây là một lĩnh vực

mà chúng em chưa biết nhiều Nhưng với một số tài liệu mà chúng em thu thập được và đặc biệt là được sự hướng dẫn nhiệt tình của thầy Vương Quốc Dũng

mà chúng em mới có thể hoàn thành được đề tài này Chúng em xem đây như

là một cơ hội tốt để học hỏi và thử sức mình Chúng em mong nhận được ý kiến đóng góp từ quý thầy cô và bạn bè

1.2 Lý do chọn đề tài

Tìm hiểu về CPU-Bộ vi xử lý, là một vấn đề rất thú vị và cần thiết Đây là lĩnh vực mà chúng em còn chưa hiểu biết được nhiều.Vì vậy chúng em lựa chọn đề tài này để có thể tìm hiểu, học hỏi thêm và bổ sung những kiến thức còn thiếu này cho mình

Mặt khác chúng em chọn đề tài này cũng vì tầm quan trọng của nó đối với máy tính Để hiểu rõ được chiếc máy tính của mình thì tất nhiên chúng ta phải hiểu được bộ phận quan trọng nhất của nó

1.3 Phân công nhiệm vụ trong nhóm

Phần 2,4: Hoàng Anh Đức

Phần 3: Trần Lũy, Trần Xuân Cường:

Trang 5

Hệ thống vào ra

(Bàn phím, màn hình, ổ đĩa, chuột, và các mạch ghép nối)

Sơ đồ khối chung:

Trang 6

Hình 2.1 Sơ đồ khối cấu trúc của IBM-PC

Máy tính có 1 bộ xử lý trung tâm (CPU) thì máy tính đó gọi là máy tính tuần tự, hay còn gọi là máy tính Ven Newmann

Máy tính có nhiều bộ xử lý gọi là máy tính song song

Đơn vị xử lý trung tâm:

Chức năng: - Xử lý dữ liệu (VD : các phép toán số học và logic)

- Điều khiển hoạt động của hệ thống

Nguyên tắc hoạt động:

- Hoạt động theo chương trình nằm trong bộ nhớ, nhận lần lượt từng lệnh từ bộ nhớ, giải mã để phát tín hiệu điều khiển thực hiện lệnh Trong quá trình thực hiện chương trình, nó trao đổi dữ liệu với bộ nhớ

và các thiết bị vào ra

- Đơn vị nối ghép BUS(BIU: Bus Interface Unit): kết nối và trao đổi thông tin giữa Bus bên trong và Bus bên ngoài CPU

- Bộ nhớ cache sơ cấp: Làm bộ nhớ đệm có tốc độ truy nhập cao, giúp vào/ra dữ liệu nhanh hơn

Hệ thống nhớ:

Chức năng: Dùng để nhớ chương trình và dữ liệu

- Chương trình là những lệnh yêu cầu máy tính phải thực hiện

- Dữ liệu là những gì mà chương trình tác động vào

- Các thao tác cơ bản: + Đọc dữ liệu (Read)

+ Ghi dữ liệu (Write)Các thành phần cơ bản:

Trang 7

- Bộ nhớ chính: (Main Memory): Là thành phần nhớ được nối trực tiếp với CPU và được điều khiển bởi CPU Các chương trình đang thực hiện phải nằm trong bộ nhớ chính.

Bộ nhớ chính gồm các ngăn nhớ và mỗi ngăn nhớ có 1 địa chỉ xác định, các ngăn nhớ được tổ chức theo Byte

Bộ nhớ chính có tốc độ cao, dung lượng nhỏ Gồm:

ROM: Chứa thông tin cố định trong hệ thống

RAM: Bộ nhớ tạm thời

- Bộ nhớ ngoài:

• Chức năng và đặc điểm+ Lưu trữ tài nguyên phần mềm Máy tính

+ Được kết nối với hệ thống như thiết bị vào ra

+ Dung lượng rất lớn (vài trăm GB)+ Tốc độ chậm

• Các loại bộ nhớ ngoài+ Bộ nhớ từ: Đĩa cứng, đĩa mềm,…

+ Bộ nhớ quang: CD, VCD, DVD,…

+ Bộ nhớ bán dẫn: flash Disk, memory Card, pen, Disk,…

- Bộ nhớ Cache thứ cấp: Bộ nhớ đệm truy nhập nhanh Được đặt xen giữa bộ nhớ chính và CPU để tăng tốc độ trao thông tin giữa CPU và

Hệ thống BUS

- Chức năng: liên kết các thành phần khác nhau trong hệ thống, do vậy

còn gọi là Bus liên kết hệ thống

Trang 8

• Định nghĩa Bus:

Là tập hợp các đường dây dẫn điện để vận chuyển thông tin - tín hiệu điện (các Bit) từ phần mạch này đến các phần mạch khác trong phạm

vi máy tính

1 Bit (tại 1 thời điểm)

Bit là từ viết tắt của ‘BInary digiT’

Bản chất vật lý: Không có điện áp  truyền 0

Có điện áp  truyền 1Tập các đường dây vận chuyển thông tin đồng thời được gọi là độ rộng của Bus (Ví dụ: 8 đường dây thì độ rộng là 8 Bit)

• Chức năng của Bus:

Bus chia thành 3 loại: - Bus địa chỉ

Ví dụ: Bus địa chỉ của 1 số bộ VXL là

8088/8086: Bộ vi xử lý có n = 20  quản lý tối đa 220 Byte = 1 MB80286: n = 24  quản lý tối đa 224 Byte = 24 x 220 = 16 MB.80386: n = 32  quản lý tối đa 232 Byte = 22 x 230 = 4 GB

Trang 9

Pentum II: n = 36  quản lý tối đa 236 Byte = 26 x 230 = 64 GB.

Bus dữ liệu:

- Vận chuyển lệnh từ bộ nhớ đến CPU.

- Vận chuyển dữ liệu giữa các thành phần với nhau

- Bus dữ liệu ký hiệu D0 ÷ Dm-1 thì độ rộng Bus là m Bit

Pentum II: m = 64 tức là vận chuyển 1 lúc 8 Byte

Bus điều khiển:

- Là tập hợp các tín hiệu điều khiển hoặc là phát ra từ CPU để điều khiển

bộ nhớ hay hệ thống vào ra, hoặc là từ bộ nhớ hay hệ thống vào ra đến yêu cầu CPU

* Một số tín hiệu điều khiển điển hình:

+ Các tín hiệu phát ra từ CPU điều khiển ghi, đọc bộ nhớ hay cổng

vào ra Có 4 tín hiệu điều khiển cơ bản:

- Memory Read (MEMR): Là tín hiệu điều khiển đọc dữ liệu từ 1 ngăn nhớ

có địa chỉ xác định đưa lên Bus dữ liệu

Thời điểm tác động: Khi Bus địa chỉ tìm ra ngăn nhớ thì Bus điều khiển sẽ điều khiển mở ngăn nhớ để đưa dữ liệu vào Bus dữ liệu

- Memory Write (MEMW): điều khiển ghi dữ liệu có sẵn trên Bus dữ liệu đến ngăn nhớ có địa chỉ xác định

Thời điểm tác động: Khi Bus địa chỉ tìm ra ngăn nhớ và dữ liệu trên BUS

dữ liệu đã ổn định thì Bus điều khiển sẽ điều khiển mở ngăn nhớ để đưa dữ liệu

từ Bus dữ liệu vào ngăn nhớ

- Input Output Read (IOR): điều khiển đọc dữ liệu từ cổng

Input Output Write (IOW): điều khiển ghi dữ liệu ra cổng

Trang 10

+ Các tín hiệu điều khiển ngắt:

- Là các tín hiệu yêu cầu CPU dừng công việc hiện tại để chuyển sang thực hiện công việc khác Có các dạng sau:

- Non Maskable Interrupt (NMI) - tín hiệu ngắt không che được: Nó là tín hiệu từ mạch bên ngoài gửi đến để ngắt CPU và CPU phải ngắt ngay

- Interrupt Request (INTR) - tín hiệu ngắt che được: Là tín hiệu được gửi từ mạch điều khiển ngắt bên ngoài gửi đến yêu cầu CPU ngắt

- Interrupt Acknowledge (INTA): là tín hiệu ngắt phát ra từ CPU báo cho mạch bên ngoài biết CPU chấp nhận ngắt

Reset - tương đương với bật nguồn: Đây là trường hợp ngắt đặc biệt

Trên là nhóm tín hiệu bắt CPU chuyển từ trạng thái này sang trạng thái khác

+ Các tín hiệu điều khiển chuyển nhượng Bus (Thực chất là chuyển

nhượng quyền điều khiển hệ thống): Bình thường CPU toàn quyền điều khiển

hệ thống, Bus địa chỉ, Bus dữ liệu Khi có 1 thực hiện xin quyền điều khiển hệ thống thì có thể CPU chuyển nhượng

Bus Request (BRQ) - Hold: Là tín hiệu điều khiển từ mạch bên ngoài gửi đến yêu cầu CPU chuyển nhượng quyền sử dụng Bus

Bus Gront (BGT) - Hold Acknowledge: Tín hiệu này phát ra từ CPU chấp nhận chuyển nhượng Bus

Trang 11

Hình 3.1 Sơ đồ khối phối ghép bus

2.2Các thiết bị ngoại vi (Peripherals)

- Chức năng: chuyển đổi thông tin từ bên ngoài thành dữ liệu máy tính và ngược lại

- Các thiết bị ngoại vi cơ bản:

+ Thiết bị nhập dữ liệu: bàn phím, chuột, MicroPhone…

+ Thiết bị xuất dữ liệu: máy in, màn hình,…

+ Thiết bị nhớ: đĩa từ, quang,…

+ Thiết bị truyền thông: Modem,…

• Thiết bị nhập dữ liệu: Có chức năng đưa dữ liệu từ ngoài vào máy tính dưới dạng số hóa

+ Bàn phím (Keyboard): Là thiết bị nhập chuẩn, nhập dữ liệu vào máy tính dạng kí tự (character), kí hiệu (Symbol), các phím chức năng

(Function Key), các phím điều khiển (Control Key)

+ Chuột (Mouse): dùng trong giao diện đồ hoạ (Graphic Mode)

Trang 12

+ Microphone

• Thành phần xuất dữ liệu: Đưa thông tin từ máy tính ra ngoài

+ Màn hình (Monitor): Là thiết bị xuất chuẩn, hiện thị kết quả làm việc, trạng thái làm việc… giữa người sử dụng với máy tính dạng hình ảnh

+ Máy in (Printer): dùng để in ấn tài liệu

+ Loa (Speaker): dùng để nghe âm thanh, nhạc

+ Máy chiếu (Projector): dùng trong giảng dạy, báo cáo hội thảo

Trang 13

Thiết bị nhớ: Dùng để lưu trữ lâu dài dữ liệu với dung lượng lớn như: Đĩa

cứng, đĩa mềm, đĩa CD, thiết bị nhớ Flash (USB, thẻ nhớ)

+ Đĩa cứng:

+ Đĩa mềm:

+ Đĩa CD, DVD (Compact Disk, Digital Video Disk)

+ USB Disk, MemoryCard, ZIP Disk

Thiết bị truyền thông: Dùng để kết nối và trao đổi thông tin giữa các máy

tính

Trang 14

Phần 3: CPU 8086 VÀ 80883.1Giới thiệu chung

a/ VXL 8086

hình 3.1 CPU 8086

Xuất hiện vào tháng 6 năm 1978, sử dụng trong những thiết bị tính toán di động

8086 được sản xuất trên công nghệ 3 µm, với 29.000 transistor, có 16 bit bus

dữ liệu và 20 bit bus địa chỉ, bộ nhớ mở rộng 1MB Các phiên bản của 8086 gồm 5MHz, 8MHz và 10 MHz

b/ VXL 8088

hình 3.2 CPU 8088

8088 ra mắt vào ngày 1 tháng 7 năm 1979, là BXL được IBM chọn đưa vào chiếc máy tính (PC) đầu tiên của mình; điều này cũng giúp Intel trở thành nhà sản xuất BXL máy tính lớn nhất trên thế giới

Trang 15

8088 sử dụng công nghệ 3 µm, 29.000 transistor, kiến trúc 16 bit bên trong

và 8 bit bus dữ liệu ngoài, 20 bit bus địa chỉ, bộ nhớ mở rộng tới 1MB Các phiên bản của 8088 gồm 5 MHz, 8 MHz và 10MHz

c/ Điểm khác nhau giữa 8086 và 8088

- BUS dữ liệu của 8086 có 16 bit còn của 8088 có 8 bit Đây là một cải tiến về mặt thương mại so với 8086 để việc giao tiếp với bộ nhớ và xuất nhập đơn giản hơn, dễ dàng thiết kế hơn:

+ Đối với 8086 do bus dữ liệu là 16 bit nó có thể đọc/ghi được một từ nằm

ở hai ô nhớ thẳng hàng (một từ trong bộ nhớ được coi là xếp thẳng hàng khi ở địa chỉ chẵn là byte thấp, ở địa chỉ lẻ là byte cao ) trong một chu kỳ đọc/ghi

+ Ở 8088 do bus dữ liệu chỉ có 8 bit nên đọc/ghi một từ nằm ở hai ô nhớ thẳng hàng (nằm liên tiếp như trên ) nó phải thực hiện trong hai chu kỳ đọc/ghi Bù lại nhược điểm về tốc độ, 8088 có giá rẻ và dùng để tạo ra các hệ thống với giá phải chăng vì nó dể phối ghép với các thiết bị ngoại

vi 8 bit đang thịnh hành lúc đó

- Bộ đệm chờ của 8088 là 4 byte, trái ngược với của 8086 là 6 byte Điều này

sẽ có ảnh hưởng ít nhiều đến sự khác biệt về sự tốc độ xử lý của hai bộ CPU

- Điều khác nhau tất yếu nữa là sự khác nhau trong việc bố trí các chân ở hai

vi mạch của 2 bộ VXL

- 8088 có khả năng quản lý địa chỉ dòng lệnh

=> Mặc dù có những điểm khác nhau đã nêu, nhưng vì những điểm giống nhau là rất cơ bản và vì hai bộ vi xử lý có tập lệnh giống nhau nên về quan điểm lập trình thì chúng là tương đương

3.2Cấu tạo

Bên trong gồm hai khối chính:

- Khối thực hiện EU (Execution Unit)

- Khối giao tiếp BIU (Bus Interface Unit)

Trang 16

a/ Khối thực hiện (Executive Unit)

- Nhiệm vụ của khối thực hiện lệnh là thực hiện các lệnh của chương trình

Nó gồm có khối số học – logic (ALU) cho phép thực hiện các phép tính

Trang 17

số học (+, -, *, /) và các phép toán logic (AND, OR, NOT,…) Trong khối thực hiện còn có một số ô nhớ gọi là thanh ghi dùng để chứa dữ liệu cho các phép tính Mỗi thanh ghi giống như một ô nhớ ngoại trừ chúng được đặt tên thay vì dùng số để chỉ địa chỉ EU (Execution Unit) có các thanh ghi công dụng chung chia thành hai nhóm : nhóm thanh ghi dữ liệu và nhóm thanh ghi chỉ số.

Các thanh ghi dữ liệu (Data Register):

Các thanh ghi chi số và con trỏ (Index & Pointer Register):

SP Con trỏ Stack (Stack Pointer)

BP Con trỏ nền (Base Pointer)

SI Chỉ số nguồn (Source Index)

DI Chỉ số đích (Destnation Index)

Các thanh ghi đoạn (Segment Register):

DS Đoạn dữ liệu (Data Segment)

SS Đoạn Stack (Stack Segment)

ES Đoạn thêm (Extra Segment)

Các thanh ghi trạng thái và điều khiển (Status & Control Register):

IP Con trỏ lệnh (Intruction Pointer)

Các thanh ghi dữ liệu

- Có bốn thanh ghi dữ liệu ký hiệu lần lượt là: AX, BX, CX, DX, được người lập trình sử dụng cho các thao tác với dữ liệu Điều đặc biệt là khi chứa các

Trang 18

dữ liệu 8 Bit thì mỗi thanh ghi này có thể tách ra thành 2 thanh ghi 8 Bit cao

và 8 Bit thấp để làm việc độc lập Đó là các cặp thanh ghi AH & AL, BH &

BL, CH & CL, DH & DL (trong đó H - chỉ phần cao ; L chỉ phần thấp)

- Mặc dù vi xử lý có thể thao tác với dữ liệu trong bộ nhớ, nhưng một lệnh như vậy sẽ được thực hiện nhanh hơn trong thanh ghi (cần ít chu kỳ đồng

hồ hơn) Đó cũng là nguyên nhân tại sao các bộ vi xử lý hiện đại có xu hướng nhiều thanh ghi

- Các byte cao và byte thấp trong thanh ghi được truy cập độc lập: Byte cao của thanh ghi AX được gọi là AH và byte thấp được gọi là AL Tương tự như vậy cho các byte cao và byte thấp của các thanh ghi BX CX DX lần lượt là

BH & BL CH & CL, DH & DL Nhờ điều này mà ta có nhiều thanh ghi hơn khi làm việc với các số liệu có kích thước byte dài Trong đa số lệnh các thanh ghi dữ liệu được chọn tùy ý nhưng các thanh ghi này lại có chức năng riêng

cố định trong một số ít lệnh

o Thanh ghi tích lũy AX (Accumulator)

+ Là thanh ghi được sử dụng nhiều nhất trong các lệnh số học – logic và truyền dữ liệu bởi vì việc sử dụng thanh ghi này tạo ra mã máy ngắn nhất

+ Trong các thao tác nhân hoặc chia một trong các số hạn tham gia phải chứa trong AH hoặc AL, các thao tác vào/ra cũng sử dụng thanh ghi

AH hoặc AL

o Thanh ghi cơ sở BX (Base)

Thanh ghi BX thường chứa địa chỉ cơ sở của 1 bảng dùng trong lệnh XLATvà được dùng cho tính toán địa chỉ trong phương pháp định địa chỉ gián tiếp

o Thanh ghi đếm CX (Count)

Việc thực hiện các chương trình lập được thực hiện dễ dàng nhờ thanh ghi CX, trong đó CX đóng vai trò là bộ đếm vòng lập Một thí dụ khác của việc sử dụng thanh ghi CX đó là lệnh REP (Repeat) lệnh này điều khiển một lớp các lệnh chuyên về các thao tác chuỗi CL cũng được sử dụng là một biến đếm trong các lệnh dịch hay quay các bit

o Thanh ghi dữ liệu DX (Data)

DX dùng để định địa chỉ gián tiếp trong các thao tác vào ra, nó cũng còn được sử dụng chứa toán hạn, kết quả trong phép nhân và chia

Thanh ghi con trỏ và chỉ số

Trang 19

Các thanh ghi SP, BP, SI, DI thường trỏ tới các ô nhớ (tức là chức các địa chỉ offset của các ô nhớ đó) Khác với thanh ghi đoạn, các thanh ghi con trỏ và ngăn xếp được sử dụng trong các thao tác số học và một số thao tác khác nhau.

o Thanh ghi con trỏ – ngăn xếp SP (Stack Pointer)

Di chuyển từ địa chỉ cao đến địa chỉ thấp, dùng để kết hợp với thanh ghi đoạn Stack SS (Stack Segment) để lưu trữ địa chỉ trở về hoặc dữ liệu vào trong ngăn xếp

o Thanh ghi con trỏ cơ sở BP (Base Pointer)

Thanh ghi này được dùng để truy cập dữ liệu trong ngăn xếp mà không làm thay đổi SP Tuy nhiên, khác với SP thanh ghi BP cũng còn được sử dụng đễ truy cập dữ liệu ở các đoạn khác

o Thanh ghi chỉ số nguồn SI (Source Index)

Thanh ghi SI được sử dụng để trỏ tới các ô nhớ trong đoạn dữ liệu được định bởi thanh ghi đoạn dữ liệu DS (Data Segment), có thể truy cập dễ dàng các ô nhớ liên tiếp bằng cách tăng SI

o Thanh ghi chi số đích DI (Destination Index)

Thanh ghi DI có chức năng tương tự như thanh ghi SI và được dùng kết hợp với thanh ghi đoạn thêm ES (Extra Segment) Cả hai DI và SI thích hợp trong các thao tác sao chép, di chuyển hoặc so sánh các khối dữ liệu

có dung lượng đến 64KB

Thanh ghi con trỏ lệnh IP (Intruction Pointer)

8086 không thực hiện lệnh trực tiếp trong bộ nhớ mà lệnh được lấy ở hàng đợi lệnh có cấu tạo giống như một thanh ghi dịch (FIFO: First In First Out: vào trước ra trước) chứa các mã lệnh cung cấp bởi khối BIU Thanh ghi IP chỉ đến lệnh tiếp theo chưa được nhập vào hàng đợi lệnh và được dùng kết hợp với thanh ghi CS Thanh ghi IP được cập nhật mỗi khi

có một lệnh được thực hiện xong, khác với các thanh ghi khác, IP không

bị tác động trực tiếp bởi các lệnh

Thanh ghi cờ (Flag Register)

Thanh ghi cờ của 8086 có độ dài 16bit (2byte) byte thấp chứa các bit trạng thái giống như trong 8085 phản ánh trạng thái của vi xử lý, byte cao

Trang 20

chứa 1bit trạng thái đó là bit 11 và 3 bit điều khiển dùng để điều khiển hoạt động của vi xử lý Sau đây là cấu tạo của thanh ghi cờ trong 8086:

Hình 3.4.Sơ đồ thanh ghi cờ

Thanh ghi cờ của 8086:

CF = 1 khi có nhớ hoặc mượn từ MSB sang

+ Cỡ chẵn lẻ PF:

Cờ chẵn lẻ, phản ánh tính chẵn lẻ của tổng số Bit 1 trong kết quả

PF = 1 nếu số bit 1 của kết quả là số chẳn

PF = 0 nếu số bit 1 của kết quả là số lẻ

+ Cờ nhớ phụ AF:

Cờ nhớ phụ được thiết lập nếu có nhớ (cộng) hoặc có thiếu (trừ) từ phân nửa dưới đến phân nửa trên của toán hạn (đối với lệnh byte đó là bit 3 và đối với lệnh word là bit 7)

Cờ AF được sử dụng trong các thao tác với số BCD

Trang 21

AF = 1 khi có nhớ hoặc mượn từ 1 số BCD thấp (4 Bit thấp) sang 1

số BCD cao (4 Bit cao).

xử lý

+ Cờ ngắt IF:

Cờ ngắt được sử dụng để điều khiển các ngắt phần cứng bên ngoài, nếu cờ này được thiết lập các ngắt phần cứng có thể ngắt 8086 Khi xóa IF, các ngắt bên ngoài không còn tác dụng nữa (bị che) Thực ra vẫn còn một ngắt cứng không che được NMI (Non Maskable Interrupt)

IF = 0 : cấm ngắt cứng INTR

IF = 1 : cho phép ngắt cứng INTR

Trước khi vi xử lý trao quyền điều khiển cho một phục ngắt nó xóa

cả IF và TF, như vậy phục ngắt đó sẽ không bị ngắt Tất nhiên một phục

vụ ngắt có thể đổi cờ để cho phép ngắt khi nó đang thi hành

+ Cờ tràn OF:

Cờ tràn là ‘1’ khi có hiện tượng tràn và ngược lại nó bằng ‘0’ Hiện tượng tràn cho thấy một sự thật là phạm vi biểu diễn các số trong máy tính là có giới hạn

Trang 22

Phạm vi biểu diễn các số có dấu trong một word từ –32768 đến +32767 và trong một byte từ –126 đến +127.

Đối với các số không dấu từ 0 đến 65535 cho một word và từ 0 đến

255 cho một byte Nếu kết quả của một phép tính vượt ra ngoài phạm vi này thì hiện tượng tràn sẽ xảy ra và kết quả nhận được bị cắt bớt sẽ không phải là kết quả đúng

+ Cờ định hướng DF:

Là một trong ba cờ điều khiển dùng điều khiển các thao tác của vi

xử lý công dụng của DF là dịch hướng cho các thao tác chuỗi, các thao tác này được thực hiện bởi hai thanh ghi chỉ số SI & DI, nội dung của hai thanh ghi này sẽ tự động tăng lên khi DF = 0 và giảm xuống khi DF =1

DF = 0 : định hướng giảm địa chỉ cho các lệnh xử lý chuỗi

DF = 1 : định hướng tăng địa chỉ cho các lệnh xử lý chuỗi

* Ý nghĩa của các cờ khá rõ ràng; Riêng cờ tràn cần làm rõ hơn để hiểu rõ bản chất và cơ chế làm việc của nó

- Giả thiết ta làm việc với số bù 2 dài 8 Bit, kết quả để ở AL Gọi C6,7 là cờ nhớ từ Bit 6 lên Bit 7 (b7), trong đó b7 là MSB và cũng chính là Bit dấu (SF) của AL

CF b7 b6 AL b0

C6,7

Quan hệ giữa cờ OF với cờ C6,7 tuân theo phương trình sau:

OF = CF ⊕ C6,7Nghĩa là: khi thực hiện các phép toán với số tính theo mã bù 2 (số có dấu), hiện tượng tràn sẽ xảy ra (Cờ OF = 1) nếu có nhớ từ MSB (tức là SF) sang

CF nhưng ngược lại không có nhớ vào chính nó (SF) hoặc ngược lại

(Nhớ vào SF, xong không có nhớ

vào CF - Kết quả sai: Tổng hai số

10000000 = - 128+ 10000001 = - 127

1 00000000 = 000 (Sai)Carry Out Overflow

(Nhớ vào CF, xong không có nhớ vào SF

- Kết quả sai: Tổng hai số âm bằng 1 số

Trang 23

do vậy: OF = CF ⊕ C6,7 = 1

d/ Khối giao tiếp (Bus Interface Unit)

Khối giao tiếp làm đơn giản việc liên lạc giữa EU và bộ nhớ hoặc các vi mạch vào ra Nó có nhiệm vụ gởi các địa chỉ, số liệu và tín hiệu điều khiển vào các bus, BIU & EU liên hệ với nhau bằng các bus nội bộ, khi EU đang thi hành một lệnh, BIU nạp 6 byte mã lệnh tiếp theo vào và đặt chúng vào hàng đợi lệnh, mục đích của việc này là làm tăng tốc độ của vi xử lý Nếu EU cần liên lạc với bộ nhớ hay thiết bị ngoại vi, BIU sẽ treo các lệnh nhận trước và thực hiện thực hiện các thao tác cần thiết BIU cấu tạo gồm các thanh ghi đoạn và con trỏ lệnh dùng

để chứa địa chỉ các ô nhớ

Các thanh ghi đoạn:

Được dùng để lưu trữ địa chỉ của các lệnh và dữ liệu trong bộ nhớ, vi xử

lý dựa trên các giá trị này để truy cập bộ nhớ

Bộ nhớ là tập hợp các byte ô nhớ, mỗi byte có một địa chỉ xác định bắt đầu từ 0 8086 gán cho mỗi ô nhớ một địa chỉ vật lý 20 bit Như vậy, nó có thể định địa chỉ đến 220 byte (tương đương 1MB) ô nhớ, các byte đầu tiên của bộ nhớ có địa chỉ như sau:

Trang 24

……… H

Trang 25

Và cứ tiếp tục cho đến giá trị lớn nhất là FFFFFH.

Do các địa chỉ quá lớn (20 bit) không thể chia trong một thanh ghi của

8086 (16 bit) nên 8086 chia bộ nhớ thành các đoạn bộ nhớ (Memory Segment)

Một đoạn bộ nhớ là một khối gồm 216 (64K) ô nhớ liên tiếp nhau, mỗi đoạn được xác định bằng một địa chỉ đoạn bắt đầu từ địa chỉ 0, địa chỉ đoạn là một số 16 bit nên địa chỉ đoạn lớn nhất là FFFF Bên trong mỗi đoạn số ô nhớ được xác định bằng địa chỉ tương đối (offset), đó là số byte tính từ đầu đoạn, với một đoạn 64K thì offset cũng là một số 16 bit, byte đầu tiên trong đoạn có offset bằng 0 và byte cuối cùng bằng FFFF.Một ô nhớ có thể được xác định bằng địa chỉ đoạn:địa chỉ tương đối trong đoạn (segment:offset) và được gọi là địa chỉ logic

Thí dụ: ô nhớ A4FB:4872 có địa chỉ đoạn là A4FB và địa chỉ offset là

4872 Để tìm địa chỉ vật lý của ô nhớ trước tiên ta dịch địa chỉ đoạn về bên trái 4 bit và sau đó cộng với địa chỉ offset, như vậy địa chỉ vật lý của ô nhớ A4FB:4872 được tính như sau:

A4FB0

4872 A9822

Các đoạn của chương trình:

Mỗi đoạn chương trình ngôn ngữ máy bao gồm các lệnh và dữ liệu, còn một vùng đặc biệt trong RAM gọi là ngăn xếp (stack) Mã lệnh, dữ liệu

và ngăn xếp của chương trình được nạp vào các đoạn bộ nhớ khác nhau đó là đoạn mã (code segment), đoạn dữ liệu (data segment), đoạn ngăn xếp (stack segment)

Trang 26

Để theo dõi các đoạn khác nhau của chương trình 8086 được cung cấp 4 thanh ghi đoạn để chứa các địa chỉ đoạn, các thanh ghi CS, DS, SS lần lược chứa các địa chỉ đoạn mã, đoạn dữ liệu, và đoạn ngăn xếp Nếu chương trình muốn truy cập đến một dữ liệu thứ hai nó có thể sử dụng thanh ghi đoạn thêm ES (extra segment).

Một chương trình không phải bao giờ cũng cần chiếm hết một đoạn 64KB, do đặc điểm chồng nhau giữa các đoạn cho phép các đoạn của một chương trình nhỏ hơn 64KB có thể đặt gần lại với nhau Tại một thời điểm, chỉ có các ô nhớ được định địa chỉ bởi 4 thanh ghi đoạn mới có thể truy cập, nghĩa là chỉ có 4 đoạn bộ nhớ là tác động Tuy nhiên nội dung của các thanh ghi đoạn có thể thay đổi bởi chương trình để truy cập đến các đoạn khác nhau

Hàng đợi lệnh:

Như ta đã biết, để tăng tốc độ vi xử lý, khối BIU tiếp nhận các lệnh và đưa vào hàng đợi lệnh (Queue) trong khi đó khối EU đang thi hành lệnh Hàng đợi lệnh có thể nhận 6 byte mã lệnh, các lệnh của 8086 có độ dài từ

1 đến 6 byte, nếu lệnh chưa vào đầy đủ trong hàng đợi lệnh thì khối EU

sẽ chờ cho đến khi lệnh nạp hết vào hàng đợi lệnh

e/ Bus địa chỉ

BUS địa chỉ là dụng cụ để CPU có thể xác định và nhận ra vị trí của các thiết bị trong hệ thống Các thiết bị này có thể là các ô nhớ, các cổng giao tiếp Số lượng đường dây trên BUS địa chỉ phụ thuộc vào từng loại VXL, có thể là 16, 20 hay nhiều hơn Với bộ VXL 8086/8088 thì BUS địa chỉ có 20 đường dây ký hiệu từ A0 -> A19 , như vậy có 220 vị trí địa chỉ có thể phân biệt được

vi được gọi là thao tác đọc (Read Operation) Như vậy BUS dữ liệu vừa phải thu và phát thông tin nên nó là BUS hai chiều (Bidirectional BUS) Tất nhiên không thể thu phát đồng thời cùng một lúc được

Trang 27

Bộ VXL Intel 8088 có điểm khác nhau quan trọng với 8086 là nó chỉ có BUS dữ liệu 8 bít thay vì 16 bít.

Ðặc biệt trong họ VXL Intel (80X86), đều sử dụng kỹthuật Multiplex các đường dây của BUS địa chỉ và dữ liệu Cụ thể đó là quá trình dùng chung các đường dây (các chân ra) nhưng lúc thì làm việc này, lúc thì làm việc khác, tức là thực hiện các công việc khác nhau trong các thời gian khác nhau Khi đóng vai trò BUS dữ liệu các đường dây sẽ truyền thông tin cho các thiết bị của hệ thống, ngược lại khi đóng vai trò BUS địa chỉ, cũng chính các đường dây này được dùng để gửi ra các tín hiệu địa chỉ

g/ Bus điều khiển

BUS điều khiển (Control BUS) là tập hợp các đường dây điều khiển dùng

để điều khiển các tác vụ của hệ thống BUS điều khiển có từ 4 đến 10 đường tín hiệu, được sinh ra từ CPU, các tín hiệu điều khiển điển hình là: MEMR (MEMory Read), MEMW (MEMory Write), IOR (I/O Read) và IOW (I/O Write)

Ví dụ khi muốn đọc một byte từ một vùng nhớ, CPU trước hết gửi địa chỉ vùng nhớ đó ra BUS địa chỉ, sau đó đưa ra tín hiệuMemory Readra BUS dữ liệu Tín hiệuMemory Readsẽ kích hoạt thiết bị nhớ để thiết bị này gửi số liệu ra BUS dữ liệu Số liệu này theo BUS dữ liệu về CPU

3.3Chức năng của 8086

a/ Sơ đồ chân của 8086

- 8086 là vi xử lý 16 bit nó gồm 16 đường dữ liệu và 20 đường địa chỉ, các đường dữ liệu từ D0 đến D15 và các đường địa chỉ từ A0 đến A15 hoạt động theo phương pháp đa lộ thời gian

vi và chế độ này cho phép làm việc với 8087

- Sau đây là sơ đồ chân của 8086 ở cả hai chế độ minimum và maximum:

Trang 28

GND 1

CPU 8086

- INTR - Interrupt Request (input):

Mức cao ở ngõ này báo cho 8086 biết có một yêu cầu ngắt (thuờng được gởi tới từ vi mạch xử lý ngắt 8259), tín hiệu ngắt tại chân này có thể bị che bằng phần mềm Khi vi xử lý chấp nhận yêu cầu ngắt, nó sẽ đưa ra một chu kỳ chấp nhận ngắt và vi mạch xử lý ngắt phải gởi địa chỉ của ngắt lên bus dữ liệu tương ứng với chu kỳ thứ hai

Trang 29

- NMI (Non Maskable Interrupt):

Đây là ngắt không che được, tác động ở mức cao vi xử lý nhảy đến địa chỉ ngắt số 2 trong bảng vector ngắt và không tạo ra chu kỳ chấp nhận ngắt

- Reset (input):

Ngõ vào mức cao đặt vi xử lý về trạng thái ban đầu sau ít nhất 4 chu

kỳ đồng hồ Thanh ghi CS được đặt giá trị FFFF và thanh ghi IP được đặt giá trị 0000 Như vậy chỉ thị được thực hiện đầu tiên chứa ở ô nhớ FFFF0 quá trình chuyển tiếp từ mức cao xuống mức thấp được đồng bộ bởi chu kỳ đồng bộ từ vi mạch tạo xung đồng hồ 8284

- Ready (input):

Tín hiệu báo đã hoàn tất thao tác truyền dữ liệu của bộ nhớ hoặc thiết

bị vào – ra, tác động ở mức cao, vi xử lý sẽ đợi nếu tín hiệu này ở mức thấp

- AD0…AD15 - Address/Data bus (input/output):

Giống như trong 8085, các đường địa chỉ - dữ liệu này làm việc theo nguyên tắc đa lộ thời gian, là địa chỉ trong chu kỳ T1 và là dữ liệu trong chu kỳ T2, T3, Tw, T4, tác động ở mức cao, có cấu tạo ba trạng thái và ở trạng thái tổng trở cao trong lúc vi xử lý ‘Interrup acknowlegde’ và ‘Hodl acknowleagde’

- A16/S3 …… A19/S6 – Addres/Status (output):

Trong chu kỳ T1 là 4 bit địa chỉ cao khi thao tác với bộ nhớ, trong lúc thao tác với thiết bị vào-ra chân này có gía trị thấp Trong cả hai thao tác cũng như vào – ra các bit này là trạng thái trong các chu kỳ T2, T3, Tw, T4 Trạng thái bit cao cho phép ngắt, S5 được cập nhật tại mỗi thời điễm bắt đầu của mỗi chu kỳ đồng hồ S3 & S4 cho biết thanh ghi đoạn đang được sử dụng, thông tin này cần thiết cho Co-processor xác định vị trí của toán hạng Có cấu tạo ba trạng thái và trạng thái tổng trở cao khi vi

xử lý ‘Hold acknowlegde’

S3 S4 Thanh ghi đoạn được chọn

0 0 Thanh ghi đoạn thêm

0 1 Thanh ghi đoạn ngăn xếp

1 0 Thanh ghi đoạn lệnh

1 1 Thanh ghi đoạn dữ liệu

Hai bit S3 & S4 để chọn các thanh ghi đoạn

- BHE/S7 – Bus high enable / status (output):

Kết hợp với bit địa chỉ A0 để xác định chế độ truyền dữ liệu, BHE ở

Trang 30

ngắt khi một byte được truyền trong byte cao của bus dữ liệu S7 có hiệu lực trong các chu kỳ T2, T3 & T4, cấu tạo ba trạng thái và trạng thái tổng trở cao khi vi xử lý ở chế độ ‘Hold’.

BHE A0 Kiểu truyền dữ liệu

0 0 Truy xuất 16 bit

0 1 Truy xuất byte cao từ địa chỉ lẻ

1 0 Truy xuất byte thấp từ địa chỉ chẵn

- MN-MX – Minimum-Maximum (input):

Chân chọn chế độ làm việc của 8086, chế độ làm việc là minimum tương ứng với mức cao và chế độ làm việc là maximum ứng với mức thấp Bus điều khiển ở hai chế độ có chức năng khác nhau

- M/IO (output):

Ngỏ ra trạng thái giống như bit S0 ở chế độ maximum dùng để báo vị trí đang truy xuất dữ liệu Mức cao là bộ nhớ và mức thấp là khối vào-ra Cấu tạo ba trạng thái, tổng trở cao khi vi xử lý ở chế độ ‘Hold acknowlegde’

- WR – write (output):

Tín hiệu ra điều khiển thao tác ghi vào bộ nhớ hoặc khối vào-ra tùy theo giá trị của ngõ M/IO Tác động mức thấp ở T2, T3 và Tw của mỗi chu kỳ ghi, cấu tạo ba trạng thái và trạng thái tổng trở cao khi vi xử lý ở chế độ ‘Hold acknowlegde’

- INTRA – Interrup Acknowlegde (output):

Tín hiệu chấp thuận ngắt, tác động mức thấp tại T2, T3 và Tw dùng để đưa địa chỉ của ngắt lên bus dữ liệu

- ALE – Adress Latch Enable

Tín hiệu điều khiển chốt địa chỉ 74LS373 hoặc 8282/8283 tác động mức cao trong khoảng T1 của mỗi chu kỳ bus :

+ Khi ALE = 1 các bit AD0 … AD15 là địa chỉ

Trang 31

- Hold (input):

Tín hiệu vào cho biết một linh kiện đòi quyền sử dụng bus, tác động

ở mức cao

- HLDA – Hold acknowlegde (output):

Tín hiệu ra ở mức cao cho biết yêu cầu Hold được chấp thuận, vi xử lý

sẽ treo bus nội bộ và các đường điều khiển của nó ở trạng thái tổng trở cao

- DT/R – Data Transmit/Receive (output):

Tín hiệu ra dùng để điều khiển hướng truyền dữ liệu của vi mạch thu

- phát Cấu tạo ba trạng thái và trạng thái tổng trở cao khi vi xử lý ở chế độ ‘Hold acknowlegde’

- DEN – Data enable (output):

Tín hiệu ra ở mức thấp cho mỗi chu kỳ thao tác bộ nhớ và I/O và cả INTRA điều khiển ngõ ra cho phép của 8286/8287 trong hoạt động thu – phát dữ liệu Cấu tạo ba trạng thái, trạng thái tổng trở cao khi vi xử lý ở chế độ ‘Hold acknowlegde’

- S0, S1, S2 (thông tin trạng thái):

Vi mạch 8288 dựa trên các thông tin này để thực hiện các thao tác điều khiển Cấu tạo ba trạng thái, trạng thái tổng trở cao khi ‘Hold acknowlegde’ Tác động trong các chu kỳ T4, T1 & T2 và trở về trạng thái thụ động ở T3 hoặc Tw khi Ready ở mức cao Một sự thay đổi bất kỳ của tín hiệu này trong chu kỳ T4 được dùng để đánh dấu thời điểm bắt đầu của chu kỳ bus và trở về thụ động ở trong T3 hoặc Tw xác định điểm kết thúc của chu kỳ bus

S2 S1 S0 Thông tin điều khiển

Trang 32

+ Một xung có bề rộng một chu kỳ đồng hồ cho biết một linh kiện cần

sử dụng bus

+ Trong chu kỳ đồng hồ T4 hoặc T1 vi xử lý gởi đến linh kiện đó xung

có bề rộng chu kỳ đồng hồ cho biết vi xử lý chấp nhận nhường quyền

sử dụng bus và nó sẽ tiến vào trạng thái ‘Hold acknowlegde’ sau xung đồng hồ kế tiếp để treo bus của chính nó

+ Xung bề rộng chu kỳ đồng hồ được gởi đến 8086 cho biết quá trình

‘Hold’ kết thúc và vi xử lý trở lại quản lý bus xau khi chấm dứt chu kỳ đồng hồ kế tiếp Nếu yêu cầu này xảy ra trong khi vi xử lý đang truy xuất bộ nhớ, nó sẽ treo bus trong khoảngT4 nếu thỏa những diều kiện sau đây:

+ Yêu cầu xảy ra trong khi hoặc trước T2

+ Chu kỳ hiện hành không phải là byte thấp của word (ở địa chỉ lẻ)

+ Chu kỳ hiện hành không ở trạng thái chấp nhận ngắt

- QS1, QS0 – Queue status (output):

Ngõ ra cho biết trạng thái của hàng đợi lệnh, những thông tin này cần thiết cho Co-processor

QS0 QS1 Trạng thái hàng đợi lệnh

0 0 Không hoạt động

0 1 Xóa nội dung hàng đợi lệnh

1 0 Nạp byte mã lệnh đầu tiên vào thanh ghi lệnh

1 1 Nạp byte mã lệnh tiếp theo của lệnh nhiều byte

Trang 33

i/ Giản đồ thời gian của chu kỳ bus

Giản đồ thời gian của chu kỳ Bus

3.4Các hoạt động chính của VXL 8086

a/ Lấy lệnh

Thực hiện bằng chu kỳ máy lấy lệnh kéo dài trong 4T (chu kỳ xung clock)

Trang 34

Thực chất của hoạt động lấy lệnh là hoạt động đọc bộ nhớ.

- Để mở đầu cho hoạt động lấy lệnh, địa chỉ lệnh CS:IP được đổi thành địa chỉ vật lý và được đưa lên tuyến địa chỉ 20 bit kèm theo tín hiệu cho phép cài địa chỉ ALE (Address latch enable) trong T1

- Các tín hiệu điều khiển được đưa ra trong T2 và T3 gồm có :

M/ IO =1 RD = 0 DEN = 0 DT/ R = 0

- Sau đó, CPU sẽ đọc mã lệnh từ tuyến dữ liệu vào đầu T4

- Thường các chu kỳ máy của vi xử lý được cung cấp trong các sổ tay tra cứu dưới dạng các giản đồ xung như sau:

j/ Đọc bộ nhớ

- Thực hiện bằng chu kỳ máy đọc bộ nhớ kéo dài trong 4T

- Trong T1, địa chỉ bộ nhớ được đổi thành địa chỉ vật lý và được đưa lên tuyến địa chỉ 20 bit kèm theo tín hiệu cho phép cài địa chỉ ALE

- Các tín hiệu điều khiển được đưa ra trong T2 và T3 gồm có :

M/ IO =1 RD = 0 DEN = 0 DT/ R = 0

- Sau đó, CPU sẽ đọc mã lệnh từ tuyến dữ liệu vào đầu T4

- Giản đồ xung của chu kỳ máy đọc bộ nhớ ở trên cũng có thể dùng chung cho chu kỳ máy nhập

Trang 35

- Trong trường hợp bộ nhớ có thời gian truy xuất bộ nhớ quá lớn, không thể đưa dữ liệu ra đúng vào thời điểm CPU lấy dữ liệu, người ta phải thiết

kế một mạch điều khiển để phát ra tín hiệu READY=0 nhằm kéo dài chu

kỳ đọc ra thêm 1 hay nhiều chu kỳ xung clock (các chu kỳ kéo dài thêm gọi là chu kỳ đợi TW) trước khi chuyển sang T4

k/ Ghi bộ nhớ

- Thực hiện bằng chu kỳ máy ghi bộ nhớ kéo dài trong 4T

- Trong T1, địa chỉ bộ nhớ được đổi thành địa chỉ vật lý và được đưa lên tuyến địa chỉ 20 bit kèm theo tín hiệu cho phép cài địa chỉ ALE

- Dữ liệu cần ghi vào bộ nhớ được đưa ra tuyến dữ liệu trong T2 và T3

M/ IO = 1 WR = 0 DEN = 0 DT/ R = 1

- Sau đó, CPU sẽ chờ cho đến hết T4 và kết thúc chu kỳ ghi

- Giản đồ xung của chu kỳ máy ghi bộ nhớ và chu kỳ máy xuất như sau

Trang 36

l/ Nhập

- Thực hiện bằng chu kỳ máy nhập kéo dài trong 4T

- Trong T1, địa chỉ cổng xuất nhập 16 bit được đưa lên tuyến địa chỉ kèm theo tín hiệu cho phép cài địa chỉ ALE

- Các tín hiệu điều khiển được đưa ra trong T2 và T3 gồm có :

M/ IO =0 RD = 0 DEN = 0 DT/ R = 0

- Sau đó, CPU sẽ đọc mã lệnh từ tuyến dữ liệu vào đầu T4

- Giản đồ xung giống như của chu kỳ máy đọc bộ nhớ, chỉ có khác chỗ tín hiệu M/ IO ở mức 0

m/ Xuất

- Thực hiện bằng chu kỳ máy xuất kéo dài trong 4T

- Trong T1, địa chỉ cổng xuất nhập 16 bit được đưa lên tuyến địa chỉ kèm theo tín hiệu cho phép cài địa chỉ ALE

- Dữ liệu cần xuất được đưa ra tuyến dữ liệu trong T2 và T3

- Các tín hiệu điều khiển được đưa ra trong T2 và T3 gồm có :

M/ IO = 0 RD = 0 DEN = 0 DT/ R = 1

- Sau đó, CPU sẽ chờ cho hết T4 và kết thúc chu kỳ xuất

Trang 37

- Giản đồ xung tương tự như của chu kỳ máy ghi bộ nhớ, chỉ khác tín hiệu tín hiệu M/ IO ở mức 0.

n/ Đáp ứng ngắt quãng

- Vi xử lý 8086 sử dụng 3 loại ngắt quãng :

- Ngắt hệ thống : do CPU phát ra khi có một lỗi nghiêm trọng xảy ra trong

quá trình hoạt động của nó Chẳng hạn như chia cho số 0, điện áp nguồn cung cấp giảm thấp, chia tràn

- Ngắt cứng : do thiết bị ngoại vi gây ra khi cần trao đổi thông tin với CPU

Đặc trưng của ngắt cứng là tín hiệu yêu cầu ngắt quãng INTR

- Ngắt mềm : do thi hành lệnh INT trong chương trình Thực chất của ngắt

mềm chính là một dạng gọi đến chương trình con

- Mục đích của việc phục vụ ngắt quãng là bằng cách nào đó chuyển điều khiển sang cho một chương trình con đặc biệt gọi là chương trình phục

vụ ngắt quãng của riêng ngắt quãng được phục vụ

- Đối với vi xử lý 86, việc phục vụ ngắt quãng được thực hiện thông qua số ngắt của từng ngắt quãng Mỗi ngắt quãng có một số ngắt riêng Số ngắt

là một số 1 byte nên vi xử lý 86 chỉ có thể phục vụ cho tối đa 256 ngắt quãng

- Vi xử lý 86 sử dụng phương pháp vector ngắt để chuyển điều khiển đến các chương trình phục vụ ngắt quãng

- Vector ngắt là các biến bộ nhớ dài 4 bytes mà có khả năng chứa được một địa chỉ luận lý đầy đủ gồm 2 byte segment và 2 byte offset Người ta dùng vector ngắt để chứa địa chỉ bắt đầu của chương trình phục vụ ngắt quãng

- Các vector ngắt được xếp nối tiếp nhau kể từ đầu của vùng bộ nhớ tạo thành bảng vector ngắt Chiều dài của bảng vector ngắt là 256 4=1024 hay 400h Như vậy bảng vector ngắt sẽ nằm trong vùng bộ nhớ có địa chỉ vật lý từ 00000h đến 003FFh

- Số thứ tự của các vector ngắt được qui định chính là số ngắt tương ứng nên vị trí của vector ngắt được xác định theo cách sau :

địa chỉ vật lý của vector ngắt = số ngắt × 4

- Sau khi xác định được vị trí của vector ngắt rồi, CPU sẽ lấy địa chỉ chương trình phục vụ ngắt trong vector ngắt ra và chuyển điều khiển đến

đó Tức là nó sẽ thực hiện một lệnh gọi đến chương trình phục vụ ngắt quãng

Trang 38

- Ví dụ để phục vụ cho ngắt quãng số 8 theo hình sau, CPU sẽ chạy chương trình con có địa chỉ trong vector ngắt 8 (ở địa chỉ vật lý 8 4=32=20h) mà cụ thể là địa chỉ luận lý 3000:2A76.

- Hoạt động đáp ứng ngắt quãng của vi xử lý 86 chỉ dùng cho ngắt cứng

- Vi xử lý 86 dùng hoạt động này để đọc số ngắt tương ứng từ khối xuất nhập

- Hoạt động đáp ứng ngắt quãng được thực hiện bằng chu kỳ máy đáp ứng ngắt quãng kéo dài trong 4T

- Tuyến địa chỉ không được dùng trong chu kỳ đáp ứng ngắt quãng

- Các tín hiệu điều khiển gồm có :

- Sau chu kỳ INTA thứ 2, sự thi hành lệnh được chuyển sang chương trình con phục vụ ngắt quãng

Trang 39

- Giản đồ xung chu kỳ máy đáp ứng ngắt quãng như sau

Ngày đăng: 17/04/2013, 12:52

HÌNH ẢNH LIÊN QUAN

hình 3.2. CPU 8088 - CÁC THẾ HỆ CPU CỦA INTEL
hình 3.2. CPU 8088 (Trang 14)
hình 3.1. CPU 8086 - CÁC THẾ HỆ CPU CỦA INTEL
hình 3.1. CPU 8086 (Trang 14)
Hình 3.1. CPU 8086 - CÁC THẾ HỆ CPU CỦA INTEL
Hình 3.1. CPU 8086 (Trang 14)
Hình 3.2. CPU 8088 - CÁC THẾ HỆ CPU CỦA INTEL
Hình 3.2. CPU 8088 (Trang 14)
Hình 3.3. Sơ đồ khối 8086 - CÁC THẾ HỆ CPU CỦA INTEL
Hình 3.3. Sơ đồ khối 8086 (Trang 16)
Hình 3.3. Sơ đồ khối 8086 - CÁC THẾ HỆ CPU CỦA INTEL
Hình 3.3. Sơ đồ khối 8086 (Trang 16)
- Ví dụ để phục vụ cho ngắt quãng số 8 theo hình sau, CPU sẽ chạy chương   trình   con   có   địa   chỉ   trong   vector   ngắt   8   (ở   địa   chỉ   vật   lý   8  4=32=20h) mà cụ thể là địa chỉ luận lý 3000:2A76. - CÁC THẾ HỆ CPU CỦA INTEL
d ụ để phục vụ cho ngắt quãng số 8 theo hình sau, CPU sẽ chạy chương trình con có địa chỉ trong vector ngắt 8 (ở địa chỉ vật lý 8 4=32=20h) mà cụ thể là địa chỉ luận lý 3000:2A76 (Trang 38)
w/ Pentium MMX - CÁC THẾ HỆ CPU CỦA INTEL
w Pentium MMX (Trang 48)
 Bảng dưới đây cho thấy các biến thể của Pentium pro. - CÁC THẾ HỆ CPU CỦA INTEL
Bảng d ưới đây cho thấy các biến thể của Pentium pro (Trang 48)
Bảng dưới đây cho thấy các biến thể của Pentium MMX cho đến trước Pentium II. - CÁC THẾ HỆ CPU CỦA INTEL
Bảng d ưới đây cho thấy các biến thể của Pentium MMX cho đến trước Pentium II (Trang 49)
Bảng dưới đây cho thấy các biến thể của Pentium MMX cho đến trước  Pentium II. - CÁC THẾ HỆ CPU CỦA INTEL
Bảng d ưới đây cho thấy các biến thể của Pentium MMX cho đến trước Pentium II (Trang 49)
Bảng sau đây cho thấy các hiện thân của Pentium II từ khi ra đời năm 1997 cho đến khi giới thiệu Pentium Xeon. - CÁC THẾ HỆ CPU CỦA INTEL
Bảng sau đây cho thấy các hiện thân của Pentium II từ khi ra đời năm 1997 cho đến khi giới thiệu Pentium Xeon (Trang 50)
Bảng sau đây cho thấy các hiện thân của Pentium II từ khi ra đời năm  1997 cho đến khi giới thiệu Pentium Xeon. - CÁC THẾ HỆ CPU CỦA INTEL
Bảng sau đây cho thấy các hiện thân của Pentium II từ khi ra đời năm 1997 cho đến khi giới thiệu Pentium Xeon (Trang 50)
Bảng dưới dây cho thấy các phiên bản của Pentium II Celeron cho đến trước khi có Pentium III vào năm 2000. - CÁC THẾ HỆ CPU CỦA INTEL
Bảng d ưới dây cho thấy các phiên bản của Pentium II Celeron cho đến trước khi có Pentium III vào năm 2000 (Trang 52)
Bảng dưới dây cho thấy các phiên bản của Pentium II Celeron cho đến  trước khi có Pentium III vào năm 2000. - CÁC THẾ HỆ CPU CỦA INTEL
Bảng d ưới dây cho thấy các phiên bản của Pentium II Celeron cho đến trước khi có Pentium III vào năm 2000 (Trang 52)
Bảng sau đây cho thấy các biến thể của Pentium III dùng cho máy để bàn: - CÁC THẾ HỆ CPU CỦA INTEL
Bảng sau đây cho thấy các biến thể của Pentium III dùng cho máy để bàn: (Trang 54)
Bảng sau đây cho thấy các biến thể của Pentium III  dùng cho máy  để bàn: - CÁC THẾ HỆ CPU CỦA INTEL
Bảng sau đây cho thấy các biến thể của Pentium III dùng cho máy để bàn: (Trang 54)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w