HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
PHẠM HOÀNG DUY
HOÀNG XUÂN DẬU
BÀI GIẢNG
KỸ THUẬT VI XỬ LÝ
HÀ NỘI 2013
Tài liệu được biên soạn dựa trên cuốn “Kỹ thuật Vi xử lý” của tác giả Văn Thế Minh,
những tài liệu tìm hiểu thêm khác, và dựa trên trao đổi kinh nghiệm tay nghề giảng dạy với những đồng nghiệp và phản hồi của sinh viên tại Học viện Công nghệ Bưu chính Viễn thông. Tài liệu hoàn toàn có thể đượcdùng làm tài liệu học tập cho sinh viên ĐH, cao đẳng ngành công nghệ thông tin. Trongquy trình biên soạn, dù đã có nhiều cố gắng nỗ lực tuy nhiên không tránh khỏi thiếu sót, nhóm tác giảmong nhận được những góp ý cho những thiếu sót cũng như quan điểm update và triển khai xong nội dungcủa tài liệu .Hà nội, 2013Nhóm tác giả
MỤC LỤC
- LỜI NÓI ĐẦU MỤC LỤC
- MỤC LỤC
- Chương 1. TỔNG QUAN VỀ VI XỬ LÝ VÀ HỆ VI XỬ LÝ
-
- GIỚI THIỆU VỀ VI XỬ LÍ
-
- HỆ VI XỬ LÍ
-
- CÁC ĐẶC ĐIỂM CẤU TRÚC CỦA VI XỬ LÍ…………………………………………
- 3 Cấu trúc căn bản
- 3.1 Các thanh ghi
- 3.1 Đơn vị xử lý số học và lô-gíc ALU
- 3.1 Đơn vị điều khiển CU
- 3.1 Kiến trúc RISC và CISC
-
- LỊCH SỬ PHÁT TRIỂN VÀ PHÂN LOẠI CÁC BỘ VI XỬ LÍ
- 4 Giai đoạn 1971-1973
- 4 Giai đoạn 1974-1977
- 4 Giai đoạn 1978-1982
- 4 Giai đoạn 1983-1999
- 4 Giai đoạn 2000-2006
- 4 Giai đoạn 2007-nay
- Chương 2. BỘ XỬ LÝ INTEL
-
- CẤU TRÚC BÊN TRONG CỦA
- 1 Sơ đồ khối……………………………………………………………………………………………..
- 1.1 Đơn vị giao tiếp bus BIU và đơn vị thực thi EU
- 1.1 Các thanh ghi
- 1 Phân đoạn bộ nhớ của 8086……………………………………………………………………..
-
- BỘ ĐỒNG XỬ LÍ TOÁN HỌC 8087……………………………………………………….
-
- TẬP LỆNH CỦA
- 3 Khái niệm lệnh, mã hoá lệnh và quá trình thực hiện lệnh
- 3 Các chế độ địa chỉ của
- 3.2 Chế độ địa chỉ thanh ghi
- 3.2 Chế độ địa chỉ tức thì
- 4 Ví dụ MỤC LỤC
- 4 Ví dụ
- 4 Ví dụ
- Chương 4. PHỐI GHÉP VI XỬ LÍ VỚI BỘ NHỚ VÀ CÁC THIẾT BỊ VÀO/RA
-
- CÁC TÍN HIỆU CỦA VI XỬ LÍ VÀ CÁC MẠCH PHỤ TRỢ
- 1 Các tín hiệu của
- 1 Phân kênh để tách thông tin và việc đệm cho các bus
- 1 Mạch tạo xung nhịp
- 1 Mạch điều khiển bus 8288……………………………………………………………………….
- 1 Biểu đồ thời gian của các lệnh ghi/đọc
-
- PHỐI GHÉP VI XỬ LÍ VỚI BỘ NHỚ
- 2 Giới thiệu bộ nhớ
- 2 Giải mã địa chỉ cho bộ nhớ………………………………………………………………………
- 2.2 Giới thiệu
- 2.2 Thực hiện mạch giải mã bằng các mạch lô-gíc đơn giản…………………..
- 2.2 Thực hiện bộ giải mã dùng mạch giải mã tích hợp
- 2.2 Thực hiện bộ giải mã dùng PROM
-
- PHỐI GHÉP VI XỬ LÍ VỚI THIẾT BỊ VÀO RA
- 3 Giới thiệu về thiết bị vào/ra
- 3 Giải mã địa chỉ thiết bị vào ra
- 3.2 Giới thiệu
- 3.2 Các mạch cổng đơn giản
-
- GIỚI THIỆU MỘT SỐ VI MẠCH HỖ TRỢ VÀO RA
- 4 Ghép nối song song dùng 8255A
- 4.1 Giới thiệu
- 4.1 Lập trình 8255A
- 4 Truyền thông nối tiếp
- Chương 5. CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU
-
- GIỚI THIỆU………………………………………………………………………………………….
-
- VÀO/RA BẰNG PHƯƠNG PHÁP THĂM DÒ
-
- VÀO/RA BẰNG NGẮT
- 3 Giới thiệu
- 3 Bộ xử lý ngắt ưu tiên PIC 8259A MỤC LỤC
- 3.2 Các khối chức năng chính của 8259A
- 3.2 Các tín hiệu của 8259A
- 3.2 Lập trình cho PIC 8259A
-
- VÀO/RA BẰNG TRUY NHẬP TRỰC TIẾP BỘ NHỚ
- 4 Khái niệm về phương pháp truy nhập trực tiếp vào bộ nhớ
- 4 Các phương pháp trao đổi dữ liệu
- 4.2 Trao đổi cả một mảng dữ liệu
- 4.2 Treo CPU để trao đổi từng byte
- 4.2 Tận dụng thời gian CPU không dùng bus để trao đổi dữ liệu
- 4 Bộ điều khiển truy nhập trực tiếp bộ nhớ Intel 8237A
- 4.3 Giới thiệu
- 4.3 Các tín hiệu của 8237A
- 4.3 Các thanh ghi bên trong của DMAC 8237A
- 4.3 Các lệnh đặc biệt cho DMAC 8237A…………………………………………….
- 4.3 Lập trình cho các thanh ghi địa chỉ và thanh ghi số đếm
- Chương 6. CÁC BỘ VI ĐIỀU KHIỂN
-
- GIỚI THIỆU VỀ VI ĐIỀU KHIỂN VÀ CÁC HỆ NHÚNG
- 1 Giới thiệu
- 1 Các kiểu vi điều khiển
-
- HỌ VI ĐIỀU KHIỂN Intel
- 2 Sơ đồ khối……………………………………………………………………………………………
- 2 Các thanh ghi
- 2 Tập lệnh
-
- GIỚI THIỆU MỘT SỐ ỨNG DỤNG TIÊU BIỂU CỦA VI ĐIỀU KHIỂN
- 3 Chuyển đổi số tương tự (D/A)
- 3 Chuyến đổi tương tự số (A/D)
- Chương 7. GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN
-
- CÁC VI XỬ LÍ TIÊN TIẾN DỰA TRÊN KIẾN TRÚC INTEL IA-32
- 1 Giới thiệu IA-32
- 1 Các vi xử lý hỗ trợ IA-32
-
- CÁC VI XỬ LÍ TIÊN TIẾN DỰA TRÊN KIẾN TRÚC INTEL IA-64
-
- CÁC VI XỬ LÍ TIÊN TIẾN CỦA SUN MICROSYSTEMS
- TÀI LIỆU THAM KHẢO
CHƯƠNG 1. TỔNG QUAN VỀ VI XỬ LÍ VÀ HỆ VI XỬ LÍ
ý nghĩa tổng quát hơn so với thuật ngữ “ máy vi tính ”, vì máy vi tính chỉ là một dạng đơn cử của hệ vi xử lý. Hình 1-1 ra mắt sơ đồ khối tổng quát của một hệ vi xử lý .
Hình 1-1. Sơ đồ khối của hệ vi xử lý
Trong sơ đồ Hình 1-1, ta thấy rõ những khối công dụng chính của hệ vi xử lý gồm : Khối xử lý TT ( CPU ) ; Bộ nhớ bán dẫn ( ROM-RAM ) ; Khối phối ghép với những thiết bị ngoại vi ( I / O Interface ) ; Các bus truyền thông tin địa chỉ, tài liệu và tinh chỉnh và điều khiển. Ba khối tính năng CPU, Bộ nhớ và Khối phối ghép liên hệ với nhau trải qua tập những đường dây để truyền tín hiệu gọi chung là Bus mạng lưới hệ thống ( System bus ). Bus mạng lưới hệ thống gồm có 3 bus thành phần bus địa chỉ, bus tài liệu và bus điều khiển và tinh chỉnh tương ứng để truyền dẫn những tín hiệu địa chỉ, tài liệu và điều khiển_. _CPU đóng vai trò chủ yếu trong hệ vi xử lý. Đây là một mạch vi điện tử có tỷ lệ tích hợp rất cao và có năng lực lập trình được. Khi hoạt động giải trí, CPU đọc mã lệnh được ghi dưới dạng những bít 0 và bít 1 từ bộ nhớ, sau đó sẽ giải thuật những lệnh này thành những dãy xung điều khiển và tinh chỉnh ứng với những thao tác trong lệnh để điều khiển và tinh chỉnh những khối khác thực thi từng bước nhữngBộ xử lý TT ( CPU )Thanh ghi trongBộ nhớ ( ROM-RAM )Thanh ghi ngoàiPhối ghép vào / ra ( I / O )Thanh ghi ngoàiThiết bị vàoThiết bị raBus địa chỉBus điều khiển và tinh chỉnhBus dữ liệu
CHƯƠNG 1. TỔNG QUAN VỀ VI XỬ LÍ VÀ HỆ VI XỬ LÍ
thao tác đó. Để làm được việc này bên trong CPU có một thanh ghi dùng để chứa địa chỉ của lệnh tiếp theo được triển khai, gọi là thanh ghi con trỏ lệnh ( Instruction Pointer, IP ) hoặc bộ đếm chương trình ( Program Counter, PC ), một số ít thanh ghi đa năng để tàng trữ địa chỉ tài liệu trong thời điểm tạm thời và bộ tính toán số học và lô-gíc ( Arithmetic Logic Unit ALU ) để thao tác với tài liệu. Ngoài ra, CPU còn có bộ tinh chỉnh và điều khiển ( Control Unit, CU ) để giải thuật lệnh và từ đó tạo ra những xung tinh chỉnh và điều khiển cho toàn hệ vi xử lý .Bộ nhớ bán dẫn hay còn gọi là bộ nhớ trong ( Internal memory ) là một bộ phận khác rất quan trọng của hệ vi xử lý. Bộ nhớ trong thường gồm bộ nhớ ROM và bộ nhớ RAM. Bộ nhớ ROM dùng để lưu chương trình điều khiển và tinh chỉnh hoạt động giải trí của toàn mạng lưới hệ thống để khi bật điện thì CPU hoàn toàn có thể lấy lệnh từ đây để khởi động mạng lưới hệ thống. Một phần của chương trình tinh chỉnh và điều khiển mạng lưới hệ thống, những chương trình ứng dụng, tài liệu cùng những tác dụng của chương trình thường được đặt trong RAM. Các tài liệu và chương trình cần tàng trữ lâu bền hơn hoặc có dung tích lớn sẽ được lưu ở bộ nhớ ngoài .Khối phối ghép vào / ra ( I / O Interface ) tạo ra năng lực tiếp xúc giữa hệ vi xử lý với quốc tế bên ngoài. Các thiết bị ngoại vi như bàn phím, chuột, màn hình hiển thị, máy in, những bộ chuyển đổi số / tựa như ( D / A Converter, DAC ) và quy đổi tương tự như / số ( A / D Converter, ADC ), những ổ đĩa, … đều tiếp xúc với bộ vi xử lý trải qua bộ phận này. Bộ phận phối ghép đơn cử giữa bus mạng lưới hệ thống với quốc tế bên ngoài thường được gọi là cổng ( Port ). Như vậy ta sẽ có những cổng vào để lấy thông tin từ ngoài vào và những cổng ra để đưa thông tin từ trong ra. Tùy theo nhu yếu đơn cử của việc làm, những mạch cổng này hoàn toàn có thể được thiết kế xây dựng từ những mạch lôgic đơn thuần hoặc từ những vi mạch chuyên sử dụng lập trình được .Bus địa chỉ ( Address bus ) trong mạng lưới hệ thống bus thường có 8, 16, 20, 24, 32 hay 64 đường dây song song chuyển tải thông tin của những bít địa chỉ. Khi đọc / ghi bộ nhớ, CPU sẽ đưa ra trên bus này địa chỉ của ô nhớ tương quan. Khả năng phân biệt địa chỉ ( số lượng địa chỉ cho ô nhớ mà CPU có quản trị được ) nhờ vào vào số bít của bus địa chỉ. Ví dụ nếu một CPU có số đường dây địa chỉ là N = 16 thì nó có năng lực địa chỉ hóa được 2N = 65536 = 64 kilô ô nhớ khác nhau ( 1K = 2 10 = 1024 ). Khi đọc / ghi với cổng vào / ra CPU cũng đưa ra trên bus địa chỉ những bít địa chỉ tương ứng của cổng. Trên sơ đồ khối ta dễ nhận ra tính một chiều của bus địa chỉ qua một chiều của mũi tên. Chỉ có CPU mới có năng lực đưa ra địa chỉ lên bus địa chỉ .Bus dữ liệu ( data bus ) thường có 8, 16, 32, 64 ( hoặc hơn ) đường dây tùy theo những bộ vi xử lý đơn cử. Số lượng đường dây của bus tài liệu quyết định hành động số bít tài liệu mà CPU có năng lực xử lý cùng một lúc. Chiều mũi tên trên bus tài liệu chỉ ra rằng đây là bus 2 chiều, nghĩa là tài liệu hoàn toàn có thể truyền đi từ CPU ( tài liệu ra ) hoặc truyền đến CPU ( tài liệu vào ). Các thành phần có đầu ra nối thẳng với bus tài liệu đều phải được trang bị đầu ra 3 tạng thái để hoàn toàn có thể ghép vào được và hoạt động giải trí thông thường với bus này .Bus điều khiển và tinh chỉnh ( control bus ) thường gồm hàng chục đường dây tín hiệu khác nhau. Mỗi tín hiệu điều khiển và tinh chỉnh có một chiều nhất định vì khi hoạt động giải trí CPU đưa tín hiệu tinh chỉnh và điều khiển tới những khối khác trong hệ. Đồng thời, CPU cũng nhận tín hiệu điều khiển và tinh chỉnh từ những khối đó để phối hợp hoạt động giải trí của toàn hệ. Các tín hiệu này trên hình vẽ được biểu lộ bởi những đường có mũi tên 2 chiều, điều đó không phải là để chỉ tính hai chiều của một tín hiệu mà là tính hai chiều của cả một nhóm những tín hiệu .
CHƯƠNG 1. TỔNG QUAN VỀ VI XỬ LÍ VÀ HỆ VI XỬ LÍ
iii. Thanh ghi địa chỉ bộ nhớ : chứa địa chỉ của tài liệu. Vi xử lý sử dụng địa chỉ này như thể những con trỏ trực tiếp tới bộ nhớ. Nội dung của ô nhớ có địa chỉ này chính là tài liệu đang được trao đổi và xử lý. iv. Thanh ghi tổng : còn được gọi là thanh ghi tích góp ( accumulator ). Thanh ghi này có size 8, 16, 32 hoặc 64 bít và thường dùng thể lưu hiệu quả đo lường và thống kê của đơn vị chức năng xử lý số học và lô-gíc ALU. Thanh ghi này còn được dùng để trao đổi tài liệu với những thiết bị vào / ra .
3.1 Đơn vị xử lý số học và lô-gíc ALU
ALU triển khai tổng thể những thao tác xử lý tài liệu bên trong vi xử lý như thể những phép toán lô-gíc, số học. Kích cỡ ALU tương ứng với kích cỡ từ của vi xử lý. Vi xử lý 32 bít sẽ có ALU 32 bít. ALU chứa nhiều khối công dụng thực thi những thao tác trên những tài liệu. Một vài công dụng tiêu biểu vượt trội của ALU :
- Thực hiện các phép toán số học số nguyên và các phép toán lô-gíc;
- Tính số bù một của dữ liệu;
- Dịch hoặc quay trái phải các thanh ghi dùng chung.
3.1 Đơn vị điều khiển CU
Chức năng chính của đơn vị chức năng tinh chỉnh và điều khiển CU là đọc và giải thuật những lệnh của chương trình từ bộ nhớ. Để triển khai lệnh, CU kích hoạt khối tương thích trong ALU địa thế căn cứ vào mã lệnh ( op – code ) trong thanh ghi lệnh. Mã lệnh xác lập những thao tác để CU thực thi. CU thông dịch nội dung của thanh ghi lệnh và sau đó sinh ra một chuỗi những tín hiệu tinh chỉnh và điều khiển tương ứng vớiĐơn vị tinh chỉnh và điều khiển CUBus dữ liệu
Đơn vị số học và
lô-gíc ALU
Các thanh ghi
Hình 1-2. Sơ đồ khối chức năng vi xử lý
Thanh ghi lệnh Thanh ghi địa chỉ Thanh ghi tạm
CHƯƠNG 1. TỔNG QUAN VỀ VI XỬ LÍ VÀ HỆ VI XỬ LÍ
lệnh nhận được. Các tín hiệu tinh chỉnh và điều khiển này kích hoạt những khối tính năng tương thích bên trong ALU thực thi lệnh .CU sinh ra những tín hiệu điều khiển và tinh chỉnh và chuyển tới những thành phần khác của vi xử lý qua bus điều khiển và tinh chỉnh. Ngoài ra, CU cũng phân phối lại những tín hiệu điều khiển và tinh chỉnh trên bus tinh chỉnh và điều khiển do những bộ phận khác gửi tới. Các tín hiệu này đổi khác theo từng loại vi xử lý. Một số tín hiệu tinh chỉnh và điều khiển tiêu biểu vượt trội như khởi động lại RESET, đọc ghi ( R / W ), tín hiệu ngắt ( INT / IRQ ), …3.1.3 Thực hiện chương trìnhĐể chạy chương trình, vi xử lý thường lặp lại những bước sau để triển khai xong việc thực thi từng lệnh :
- Nạp ( Fetch ). Vi xử lý nạp (đọc) lệnh từ bộ nhớ chính vào thanh ghi lệnh.
- Giải mã ( Decode ). Vi xử lý giải mã hay dịch lệnh nhờ đơn vị điều khiển CU. CU
nhập nội dung của thanh ghi lệnh và giải mã để xác định kiểu lệnh và các vi thao
tác của lệnh.
- Thực hiện ( Execute ). Vi xử lý thực hiện lệnh. Để hoàn thành nhiệm vụ, CU sinh
ra một chuỗi các tín hiệu điều khiển tương ứng với lệnh và chuyển tới các đơn vị
chức năng của ALU để thực hiện.
- Lưu kết quả ( Write back ). Vi xử lý lưu kết quả thực hiện lệnh (nếu có) vào các
thanh ghi.
Quá trình trên được lặp đi lặp lại cho đến câu lệnh cuối cùng của chương trình. Trong
các vi xử lý tiên tiến quá trình thực hiện lệnh được cải tiến cho phép nhiều lệnh được thực
hiện xen kẽ với nhau. Tức là, câu lệnh kế tiếp sẽ được thực hiện mà không cần chờ câu lệnh
hiện thời kết thúc. Kỹ thuật trên được gọi là kỹ thuật xử lý xen kẽ các dòng lệnh, hay kỹ thuật
đường ống (pipeline). Việc thực hiện xen kẽ các lệnh cho phép nâng cao tốc độ thực hiện của
vi xử lý và làm giảm thời gian chạy chương trình.
3.1 Kiến trúc RISC và CISC
Có hai kiểu kiến trúc vi xử lý : kiến trúc với tập lệnh rút gọn ( Reduced Instruction Set Computer-RISC ) và kiến trúc với tập lệnh phức tạp ( Complex Instruction Set Computer – CISC ). Vi xử lý RISC nhấn mạnh vấn đề tính đơn thuần và hiệu suất cao. Các phong cách thiết kế RISC khởi đầu với tập lệnh thiết yếu và vừa đủ. RISC tăng vận tốc xử lý bằng cách giảm số chu kỳ luân hồi đồng hồ đeo tay trên một lệnh. Mục đích của RISC là tăng vận tốc hiệu dụng bằng cách chuyển việc triển khai những thao tác không liên tục vào ứng dụng còn những thao tác phổ cập do phần cứng triển khai. Như vậy làm tăng hiệu năng của máy tính. Các đặc trưng cơ bản của vi xử lý kiểu RISC :
- Thiết kế vi xử lý RISC sử dụng điều khiển cứng ( hardwared control ), không hoặc rất ít
sử dụng vi mã. Tất cả các lệnh RISC có định dạng cố định vì vậy việc sử dụng vi mã
không cần thiết.
- Vi xử lý RISC xử lý hầu hết các lệnh trong một chu kỳ.
CHƯƠNG 1. TỔNG QUAN VỀ VI XỬ LÍ VÀ HỆ VI XỬ LÍ
Tốc độ thực thi lệnh : 10-16 s / lệnh với tần số đồng hồ đeo tay fclk = 0, 1 – 0, 8 MHz. Tập lệnh đơn thuần phải cần nhiều mạch phụ trợ mới tạo nên một hệ vi xử lý hoàn hảo .
4 Giai đoạn 1974-
Các bộ vi xử lý đại diện thay mặt trong thế hệ này là những vi xử lý 8 bít 6502 của MOS Technology, 6800 và 6809 của Motorola, 8080 và 8085 của Intel và đặc biệt quan trọng là bộ vi xử lý Z80 của Zilog. Các bộ vi xử lý này có tập lệnh phong phú và đa dạng hơn và thường có năng lực phân biệt địa chỉ bộ nhớ 16 bít với dung tích đến 64KB. Có 1 số ít bộ vi xử lý còn có năng lực phân biệt được 256 địa chỉ cho những thiết bị ngoại vi ( họ Intel và Zilog ). Chúng đã được sử dụng thoáng đãng trong công nghiệp. Tất cả những bộ vi xử lý thời kì này đều được sản xuất bằng công nghệ tiên tiến NMOS ( với tỷ lệ linh phụ kiện trên một đơn vị chức năng diện tích quy hoạnh cao hơn so với công nghệ tiên tiến PMOS ) hoặc CMOS ( tiết kiệm ngân sách và chi phí điện năng tiêu thụ ) được cho phép đạt được vận tốc từ 1-8 s / lệnh với tần số đồng hồ đeo tay fclk = 1-5 MHz .
4 Giai đoạn 1978-
Các bộ vi xử lý trong thế hệ này có đại diện thay mặt là những bộ vi xử lý 16 bít 8086 / 80186 / của Intel hoặc 86000 / 86010 của Motorola. Ưu điểm hơn hẳn so với những bộ vi xử lý 8 bít thế hệ trước là những bộ vi xử lý 16 bít có tập lệnh phong phú với những lệnh nhân, lệnh chia và những lệnh thao tác với chuỗi kí tự. Khả năng phân biệt địa chỉ cho bộ nhớ hoặc cho thiết bị ngoại vi của những vi xử lý thế hệ này cũng lớn hơn ( từ 1MB đến 16 MB cho bộ nhớ và tới 64K địa chỉ cho thiết bị ngoại vi so với họ Intel ). Đây là những bộ vi xử lý được dùng trong những máy IBM PC, PC / XT, PC / AT và những máy Macintosh của Apple. Phần lớn những bộ vi xử lý trong thế hệ này đều được sản xuất bằng công nghệ HMOS và được cho phép đạt được vận tốc từ 0, 1-1 s / lệnh với tần số đồng hồ đeo tay fclk = 5-10 MHz .
4 Giai đoạn 1983-
Các bộ vi xử lý đại diện thay mặt trong thế hệ này là những vi xử lý 32 bít 80386 / 80486 và 64 bít Pentium của Intel, gồm có Pentium Pro với phong cách thiết kế bộ nhớ đệm tích hợp trên cùng vi mạch xử lý, Pentium MMX với những lan rộng ra cho đa phương tiện, Pentium II, Pentium III. Hãng Motorola cũng đưa ra những vi xử lý 32 bít 68020 / 68030 / 68040 và những vi xử lí 64 bít 68060 / 64. Đặc điểm của những bộ vi xử lý có số lượng transistor rất lớn ( từ vài 3 triệu đến trên 50 triệu transistor. Phần lớn những bộ vi xử lí mới triển khai nhiều hơn 1 lệnh trong một chu kỳ luân hồi và tích hợp đơn vị chức năng xử lí dấu phẩy động FPU ( Floating-Point Unit ). Chúng có những thanh ghi dùng chung 16-32 bít. Nhiều loại có phân biệt những tệp thanh nghi 32 bít ( register file ) cho đơn vị chức năng nguyên IU ( Interger unit ) và tệp thanh ghi 32 bít cho FPU. Chúng có bộ nhớ đệm bên trong mức 1 với dung tích lên tới 64 KB. Đa số bộ nhớ đệm mức 1 được phân đôi : dùng cho lệnh ( Instruction cache-ICache ) và dùng cho tài liệu ( Data cache-DCache ). Các bộ vi xử lí công nghệ cao lúc bấy giờ ( Advanced microprocessors ) đã thoả mãn những nhu yếu sản xuất những máy tính lớn và những siêu máy tính. Các vi xử lí thời này có bus địa chỉ đều là 32 bít ( phân biệt 4 GB bộ nhớ ) và có năng lực thao tác với bộ nhớ ảo. Người ta cũng vận dụng những chính sách hoặc những cấu trúc đã được sử dụng trong những máy tính lớn vào những bộ vi xử lí : chính sách xử lý xen kẽ liên tục
CHƯƠNG 1. TỔNG QUAN VỀ VI XỬ LÍ VÀ HỆ VI XỬ LÍ
dòng mã lệnh ( pipeline ), bộ nhớ đệm ( cache ), bộ nhớ ảo. Các bộ vi xử lý này đều có bộ quản trị bộ nhớ ( MMU ). Chính nhờ những nâng cấp cải tiến đó mà những bộ vi xử lý thế hệ này có năng lực cạnh tranh đối đầu được với những máy tính con ( Minicomputer ) trong rất nhiều nghành ứng dụng. Phần lớn những bộ vi xử lý thế hệ này đều được sản xuất bằng công nghệ tiên tiến HCMOS .Bên cạnh những bộ vi xử lý vạn năng truyền thống cuội nguồn thường được sử dụng để thiết kế xây dựng những máy tính với tập lệnh phức tạp ( Complex instruction set computer, CISC ) đã đề cập ở trên, trong thời hạn này cũng Open những bộ vi xử lý nâng cấp cải tiến dùng để thiết kế xây dựng những máy tính với tập lệnh rút gọn ( Reduced instruction set computer, RISC ) với nhiều tính năng hoàn toàn có thể so sánh với những máy tính lớn ở những thế hệ trước. Đó là những bộ vi xử lý Alpha của Digital, PowerPC của tổng hợp hãng Apple – Motorola – IBM. .. Sự sinh ra của những vi xử lý loại RISC chính là sự khởi đầu cho một thế hệ khác trong lịch sử dân tộc tăng trưởng của những thế hệ vi xử lý .
4 Giai đoạn 2000-
Các vi xử lý Intel trong thời hạn này bộc lộ quan điểm nâng cao hiệu năng của bộ vi xử lý và mạng lưới hệ thống máy tính bằng việc nâng cao xung nhịp. Phiên bản Intel Pentium 4 đã tăng xung hịp từ 1,5 GHz năm 2000 tới 3GH z vào năm 2002. Vi kiến trúc tiêu biểu vượt trội cho những vi xử lý này là Netburst với năng lực nâng cao xung nhịp gấp 4 lần xung nhịp của mạng lưới hệ thống. Ngoài ra, Intel ra mắt công nghệ tiên tiến siêu phân luồng tăng hiệu năng cho mạng lưới hệ thống đa nhiệm và đa luồng. Công nghệ siêu phân luồng được cho phép thực thi 2 luồng ảo song song trên 1 bộ vi xử lý vật lý .Việc nâng cao xung nhịp nhanh gọn đẩy những bộ vi xử lý tới ngưỡng vật lý về điện và nhiệt năng tỏa ra. Thực tế cho thấy đây không phải là giải pháp hiệu suất cao để tăng hiệu năng của mạng lưới hệ thống. Hãng AMD, một trong những đối thủ cạnh tranh cạnh tranh đối đầu trực tiếp của Intel, nhấn mạnh vấn đề việc tăng hiệu năng qua việc nâng cao vận tốc thực thi những lệnh trong một chu kỳ luân hồi máy. AMD là một trong những hãng tiên phong tích hợp nhiều bộ giải thuật và bộ tinh chỉnh và điều khiển bộ nhớ vào bên trong đơn vị chức năng xử lý TT CPU, và tăng kích cỡ bộ nhớ đệm mức 1 lên tới 128KB. Các bộ vi xử lý Athlon 64, Opteron là bộ vi xử lý tiêu biểu vượt trội của AMD, có vận tốc xung nhịp thấp hơn như hiệu năng thì không hề thua kém những vi xử lý có xung nhịp cao hơn của Intel. Đặc biệt về mức tiêu thụ điện và mức tỏa nhiệt thì vi xử lý của AMD tốt hơn hẳn vi xử lý của Intel nhờ có những công nghệ tiên tiến trấn áp tiêu thụ điện .Trong quá trình này cũng tận mắt chứng kiến sự bùng nổ về việc tăng trưởng bộ vi xử lý cho những máy tính xách tay. Yêu cầu rất quan trọng với thiết bị này là hiệu năng xử lý đủ mạnh nhưng mức tiêu thụ điện phải đủ thấp để máy tính hoàn toàn có thể hoạt động giải trí lâu bền hơn bằng pin. Các bộ vi xử lý di động của Intel Pentium Mobile đã tiến hành những giải pháp dung hòa hai nhu yếu trên bằng những nâng cao năng lực xử lý lệnh trên 1 chu kỳ luân hồi xung nhịp, nâng cao bộ nhớ đệm mức 2 lên 1MB, điều khiển và tinh chỉnh xung nhịp vi xử lý ( Speedstep ) theo nhu yếu của ứng dụng. Bộ vi xử lý di động tiên phong hoạt động giải trí ở tần số 1,6 GHz hoàn toàn có thể giảm xung nhịp xuống tới 200MH z khi rỗi, có hiệu năng tương tự với Pentium 4 ở tần số trên 2GH z .Một sự kiện quan trọng trong tiến trình này là sự sinh ra của những bộ vi xử lý 2 nhân cho những máy vi tính. Các mạng lưới hệ thống đa xử lý trước kia chỉ có trong thiên nhiên và môi trường sever hoặc máy trạm hiệu năng cao. Năm 2005 Intel đưa ra vi xử lý đa nhân tiên phong Pentium D với hai nhân
CHƯƠNG 2. BÔ XỬ LÍ INTEL 8086/
Chương 2. BỘ XỬ LÝ INTEL 8086
1. CẤU TRÚC BÊN TRONG CỦA 8086
Intel 8086 là bộ vi xử lý 16 bít tiên phong của Intel và là vi xử lý tiên phong tương hỗ tập lệnh x86. Vi xử lý được sử dụng trong nhiều nghành nghề dịch vụ khác nhau, nhất là trong những máy IBM PC / XT. Các bộ vi xử lý thuộc họ này vẫn được sử dụng thoáng đãng trong một thời hạn dài dotính thừa kế của những mẫu sản phẩm trong họ x86. Các chương trình viết cho 8086 vẫn hoàn toàn có thể chạy trên những mạng lưới hệ thống tiên tiến và phát triển sau này .
1 Sơ đồ khối
Trong sơ đồ khối cho như trên Hình 2-1, vi xử lý 8086 có hai khối chính BIU và EU. Về chi tiết cụ thể, vi xử lý này gồm có những đơn vị chức năng tinh chỉnh và điều khiển, số học và lô-gíc, hàng đợi lệnh và tập những thanh ghi. Chi tiết những khối và đơn vị chức năng tính năng này được trình diễn trong phần tiếp sau .
1.1 Đơn vị giao tiếp bus BIU và đơn vị thực thi EU
Theo sơ đồ khối trên Hình 2-1, CPU 8086 có 2 khối chính : Đơn vị tiếp xúc BIU ( Bus Interface Unit ) và đơn vị chức năng triển khai EU ( Execution Unit ). Việc chia CPU ra thành 2 phần làm
Hình 2-1. Sơ đồ khối 8086
CHƯƠNG 2. BÔ XỬ LÍ INTEL 8086
việc đồng thời có liên hệ với nhau qua đệm lệnh làm tăng đáng kể vận tốc xử lý của CPU. Các bus bên trong CPU có trách nhiệm chuyển tải tín hiệu giữa những khối. Hệ thống bus trong của CPU gồm bus tài liệu 16 bít của ALU, bus tinh chỉnh và điều khiển của EU và bus trong của BIU. Các bộ đệm được sử dụng để liên kết giữa bus trong CPU với bus ngoài ( bus mạng lưới hệ thống ) nhằm mục đích nâng cao tính thích hợp cho phối ghép .BIU đưa ra địa chỉ, đọc mã lệnh từ bộ nhớ, đọc / ghi tài liệu với bộ nhớ, hoặc cổng vào ra. Nói cách khác BIU chịu nghĩa vụ và trách nhiệm đưa địa chỉ ra bus và trao đổi tài liệu với bus. Mã lệnh đọc từ bộ bộ nhớ được BIU nạp vào bộ đệm lệnh ( còn được gọi là hàng đợi lệnh ) với dung tích 6 byte, hoạt động giải trí theo nguyên tắc FIFO dùng để chứa những mã lệnh chờ EU xử lý_. _EU gồm có một đơn vị chức năng tinh chỉnh và điều khiển, khối này có bộ giải thuật lệnh. Mã lệnh từ bộ đệm lệnh được đưa đến nguồn vào của bộ giải thuật, nơi lệnh được giải thuật kiểu và sinh những vi thao tác. Các thông tin thu được từ đầu ra của bộ giải thuật sẽ được đưa đến mạch tạo xung điều khiển và tinh chỉnh, hiệu quả là ta thu được những dãy xung khác nhau trên kênh điều khiển và tinh chỉnh ( tuỳ theo mã lệnh ) để tinh chỉnh và điều khiển hoạt động giải trí của những bộ phận bên trong và bên ngoài CPU. Ngoài ra, EU còn có khối số học và lôgic ( Arithmetic and Logic Unit – ALU ) dùng để thực thi những thao tác khác nhau với những toán hạng của lệnh. Tóm lại, EU sẽ phân phối thông tin về địa chỉ cho BIU để khối này đọc lệnh và tài liệu, còn bản thân EU thì giải thuật lệnh và thực thi lệnh .
1.1 Các thanh ghi
1.1.2 Các thanh ghi đoạn
Bộ vi xử lý 8086 chia bộ nhớ cấp cho một chương trình máy tính thành các đoạn
( Segment ) theo nội dung chúng lưu trữ, như đoạn chứa mã lệnh, đoạn chứa dữ liệu,… Để quản
lý các đoạn nhớ, bộ vi xử lý 8086 sử dụng các thanh ghi 16 bít lưu địa chỉ bắt đầu của các
đoạn nhớ và chúng được gọi là các thanh ghi đoạn ( Segment Registers ). Có 4 thanh ghi đoạn,
gồm:
Thanh ghi đoạn mã CS ( Code-Segment ) Thanh ghi đoạn tài liệu DS ( Data Segment ) Thanh ghi đoạn ngăn xếp SS ( Stack Segment ) Thanh ghi đoạn tài liệu phụ ES ( Extra Segment ). Bốn thanh ghi đoạn lưu địa chỉ mở màn của bốn đoạn nhớ cùng tên, gồm đoạn mã CS, đoạn tài liệu DS, đoạn ngăn xếp SS và đoạn lan rộng ra ES. Dung lượng lớn nhất của mỗi đoạn nhớ này là 64 KByte. Tại một thời gian nhất định bộ vi xử lý chỉ thao tác với một trong bốn đoạn nhớ kể trên. Ngoài địa chỉ khởi đầu của đoạn lưu trong thanh ghi đoạn, vi xử lý 8086 sử dụng thêm một thanh ghi khác lưu địa chỉ của ô nhớ cần truy nhập trong đoạn. Thanh ghi này gọi là thanh ghi lệch ( offset register ). Chi tiết về dạng địa chỉ ô nhớ được trình diễn ở mục 1 .1.1.2 Các thanh ghi đa năngTrong khối EU có bốn thanh ghi đa năng 16 bít, gồm AX, BX, CX, DX. Mỗi thanh ghi đa năng hoàn toàn có thể được dùng cho nhiều mục tiêu khác nhau, nhưng mỗi thanh ghi cũng được