Tải bản đầy đủ (.docx) (78 trang)

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

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 (1.14 MB, 78 trang )

BỘ CÔNG NGHIỆP
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 2009-
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
Mục Lục
Trang 2/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
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 3/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
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 4/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
Phần 2: TỔNG QUAN VỀ MÁY TÍNH PC
2.1Sơ đồ khối máy tính IBM-PC
Gồm 5 thành phần cơ bản:
- Bộ xử lý (Processor).
- Hệ thống nhớ (Memory).
- Hệ thống vào ra (I/O System).
- Bus liên kết hệ thống.
- Chương trình.
CPU
Bộ nhớ chính

Bus liên kết hệ thống
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 5/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
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.
Các thành phần cơ bản:
- Đơn vị điều khiển (CU: Control Unit): điều khiển hoạt động của CPU
và các thành phần khác của máy tính.
- Đơn vị số học và logic (ALU: Arithmetic & Logic Unit): thực hiện các
phép toán số học và logic treeb các dữ liệu cụ thể.
- Tập thanh ghi (RF: Register File): Là các ngăn nhớ đặc biệt nằm trong
CPU để chứa các thông tin tạm thời phục vụ cho quá trình thực hiện
chương trình.
- Đơ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 6/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
- 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 nhớ.
Hệ thống vào ra:
Chức năng:
- Dùng để trao đổi thông tin giữa máy tính với thế giới bên ngoài.
Các thành phần:
- Các thiết bị ngoại vi (các thiết bị vào ra): làm nhiệm vụ chuyển đổi
thông tin ở dạng vật lý nào đó về dạng dữ liệu phù hợp với máy tính.
- Các mạch ghép nối vào ra: Các thiết bị ngoại vi không được nối ghép
trực tiếp với CPU mà phải thông qua các mạch ghép nối vào ra. Trong
các mạch ghép nối vào ra có các cổng vào ra và được đánh địa chỉ
xác định. Các thiết bị vào ra được ghép nối thông qua cổng.
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 7/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
• Đị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 1
Tậ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ỉ.
- Bus dữ liệu.
- Bus điều khiển
Chỉ có Bus địa chỉ và Bus dữ liệu mới có khái niệm độ rộng.
Lý do tồn tại của các loại Bus:
Bus địa chỉ:
- CPU muốn trao đổi dữ liệu với ngăn nhớ nào, với cổng vào ra nào thì
cần phải có Bus địa chỉ.
- Bus địa chỉ vận chuyển địa chỉ từ CPU đến bộ nhớ hay cổng vào ra để
xác định ngăn nhớ nào hay cổng vào ra nào cần trao đổi thông tin.
- Bus địa chỉ nói tổng quát gồm n đường dây A
0
÷ A
n-1
thì gọi độ rộng
Bus là n Bit và n Bit này được dùng để đánh địa chỉ, do đó có khả
năng quản lý tối đa 2
n
địa chỉ ngăn nhớ hay 2
n
Byte nhớ (vì bộ nhớ
chính quản lý theo Byte).
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 2
20
Byte = 1 MB
80286: n = 24  quản lý tối đa 2
24
Byte = 2
4

x 2
20
= 16 MB.
80386: n = 32  quản lý tối đa 2
32
Byte = 2
2
x 2
30
= 4 GB.
Trang 8/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
Pentum II: n = 36  quản lý tối đa 2
36
Byte = 2
6
x 2
30
= 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 D
0
÷ D
m-1
thì độ rộng Bus là m Bit.
m thường là các giá trị: 8, 16, 32, 64.
Ví dụ:

8088/86: m = 8 tức là vận chuyển 1 lúc 1 Byte.
80286: m = 16 tức là vận chuyển 1 lúc 2 Byte.
80386/486: m = 32 tức là vận chuyển 1 lúc 4 Byte.
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 9/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
+ 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.
Bus dữ liệu
Bus điều khiển
Bus địa chỉ
CPU
Bộ nhớ chính
Mạch ghép nối vào ra
Các thiết bị vào ra
Sau đây là sơ đồ khối phối ghép BUS
Trang 10/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp

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 11/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
+ 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 12/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
v.v…
• 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 13/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
Phần 3: CPU 8086 VÀ 8088
3.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 14/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
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 15/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
Hình 3.3. Sơ đồ khối 8086
Bộ vi xử lý thực hiện các lệnh theo các bước sau:
- Lấy lệnh từ bộ nhớ
- Đọc toán hạng (nếu lệnh yêu cầu)

- Thực hiện lệnh
- Ghi kết quả
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 16/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
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):
AH AL AX (Accumulator)
BH BL BX
(Base)
CH CL CX(Count)
DH DL DX (Data)
• 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):
CS
Đoạn mã (Code Segment)
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)
Flag Cờ
 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 17/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
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 18/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
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 19/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8

Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
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:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OF DF IF TF SF ZF AF PF CF
Hình 3.4.Sơ đồ thanh ghi cờ
Thanh ghi cờ của 8086:
CF carry flag
PF parity flag
AF auxiliary flag
ZF zero flag
SF sign flag
TF trap flag
IF interrupt enable flag
DF direction flag
OF overflow flag
+ Cờ nhớ CF:
Cờ nhớ CF được thiết lập khi có số nhớ từ bit MSB (MSB - Most
Significant Bit: Bit có ý nghĩa nhất). Trong phép cộng hoặc số thiếu trong
phép trừ (MSB trong các lệnh byte là bit 7 và trong các lệnh word là bit
15) cờ CF cũng bị ảnh hưởng bởi các lệnh quay và dịch.
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 20/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
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).
+ Cờ zero ZF:
Cờ zero được thiết lập khi kết quả bằng 0.
+ Cờ dấu SF:
Cờ Zero, ZF = 1 khi kết quả = 0.
+ Cờ bẫy TF:
Tạo khả năng thực hiện chương trình theo từng bước, khi TF
bằng ‘1’ 8086 phát sinh ngắt loại 1 (ngắt cứng). Chương trình DEBUG
sử dụng khi thi hành lệnh T (trace) để chạy từng bước một lệnh. Đầu
tiên DEBUG thiết lập cờ TF rồi mới chuyển điều khiển cho lệnh đó.
Sau khi lệnh được thi hành vi xử lý sẽ phát sinh một ngắt do TF được lập
DEBUG sử dụng chính phục vụ ngắt này để lấy quyền điều khiển từ vi
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 21/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
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 C
6,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ờ C
6,7
tuân theo phương trình sau:

OF = CF ⊕ C
6,7

Nghĩ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.
Ví dụ:
01111111 = 127
+
00000001 = 1
10000000 = - 128 (Kq sai)
Overflow
(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 22/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
dương bằng số âm)
ở đây: C
6,7
= 1 (có nhớ từ bit 6
lên bit 7)
CF = 0 (không có nhớ

từ MSB sang)
Do vậy: OF = CF ⊕ C
6,7
= 1
dương)
ở đây: C
6,7
= 0 (không có nhớ
từ bit 6 lên bit 7)
CF = 1 (có nhớ từ
MSB sang)
do vậy: OF = CF ⊕ C
6,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:

0000 0000 0000 0000 0000
0000 0000 0000 0000 0001
0000 0000 0000 0000 0010
0000 0000 0000 0000 0011
0000 0000 0000 0000 0100
Để đơn giản, các địa chỉ trên thường được biểu diễn bằng số thập lục
phân như sau:
00000H
00001H
00002H
Trang 23/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
………..H
Trang 24/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8
Trường Đại học Công Nghiệp Hà Nội – Khoa CNTT – Báo cáo thực tập tốt nghiệp
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
 Sắp xếp đoạn:
Trong bộ nhớ đoạn 0 bắt đầu từ địa chỉ 0000:0000 = 00000 và
kết thúc ở 0000:FFFF = 0FFFF, đoạn 1 bắt đầu từ địa chỉ 0001:0000 =
00010 và kết thúc ở địa chỉ 0001:FFFF = 1000F. Như vậy, có rất nhiều sự
chồng nhau giữa các đoạn. Các đoạn bắt đầu từ các địa chỉ cách nhau
16byte và địa chỉ đầu của mỗi đoạn luôn kết thúc bằng các số 0. 16byte
được gọi là một khúc (Paragraph), các địa chỉ chia hết cho 16 (các địa chỉ
kết thúc bằng 0) là các biên giới khúc (Paragraph Boundary)
 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 25/78
Giáo viên hướng dẫn: Vương Quốc Dũng Lớp: Tin5-K8

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

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