Bài giảng Kỹ thuật vi xử lý - Phạm Hoàng Duy

Tóm tắt Bài giảng Kỹ thuật vi xử lý - Phạm Hoàng Duy: ...y 2 word Viết lệnh: CMP Đích, Gốc. Mô tả: Đích – Gốc. Trong đó toán hạng đích và gốc có thể tìm được theo các chế độ địa chỉ khác nhau. Nhưng phải chứa dữ liệu có cùng độ dài và không được phép đồng thời là 2 ô nhớ. Lệnh này chỉ tạo các cờ, không lưu kết quả so sánh, sau khi so sánh các to...uôn được nó ra mã ASCII cần thiết cho việc hiện thị. 4.4 Ví dụ 4 Trong thanh ghi BX có sẵn 4 số hệ mười sáu, mỗi số được biểu diễn bằng 1 ô mẫu: Hãy lập trình để biến đổi thanh ghi BX thành: (Ví dụ: nếu như lúc đầu thanh ghi BX chứa giá trị 1234H thì sau khi biến đổi, BX sẽ chứa giá trị ...ịa chỉ) cùng các tín hiệu WR và RD sẽ chọn ra 4 thanh ghi bên trong của mạch USART, thanh ghi đệm dữ liệu thu, thanh ghi đệm dữ liệu phát, thanh ghi trạng thái và thanh ghi điều khiển (Bảng 4-7). Bảng 4-7. Các thanh ghi bên trong của 8251A A0 RD WR Chọn ra 0 0 1 Thanh ghi đệm dữ liệu thu ...

pdf143 trang | Chia sẻ: havih72 | Lượt xem: 285 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Kỹ thuật vi xử lý - Phạm Hoàng Duy, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
2 thanh 
ghi khác nằm trong bộ nhớ RAM trong chia thành bốn băng, B0-B3, mỗi băng gồm 8 thanh 
ghi R0-R7. 
Thanh ghi Cờ là thanh ghi mã các bít cho biết trạng thái của một số lệnh và được gộp 
vào thanh ghi từ trạng thái chương trình (Program Status Word - PSW). 8051 có các cờ: cờ 
CHƯƠNG 6. CÁC BỘ VI ĐIỀU KHIỂN 
129 
nhớ C, nhớ phụ AC, tràn OV và chẵn lẻ P. Các cờ người dùng F0 và GF0-1. Các cờ người 
dùng có thể tùy biến theo yêu cầu người viết chương trình như lưu các sự kiện. 
Con trỏ ngăn xếp SP là thanh ghi 8 bít lưu vị trí đỉnh ngăn xếp trong bộ nhớ RAM trong 
của 8051. 
Các thanh ghi chức năng đặc biệt nằm trong bộ nhớ RAM trong từ địa chỉ 00-7Fh. Các 
thanh ghi này có thể được đặt tên riêng trong một mã lệnh và tham chiếu qua địa chỉ. Ví dụ 
thanh ghi A còn được tham chiếu qua địa chỉ 0E0h. 
2.3 Tập lệnh 
8051 hỗ trợ các chế độ địa chỉ sau: 
1. Chế độ địa chỉ trực tiếp: dữ liệu dành cho lệnh là một phần trong mã lệnh. Từ 
gợi nhớ cho chế độ này là dấu #. Ví dụ MOV A, #100. 
2. Chế độ địa chỉ thanh ghi: thanh ghi lưu giá trị dữ liệu. 
3. Chế độ địa chỉ trực tiếp: địa chỉ ô nhớ là một phần của câu lệnh 
4. Chế độ địa chỉ gián tiếp: giá trị thanh ghi cho biết địa chỉ của dữ liệu. Từ gợi 
nhớ là @. Ví dụ MOV A, @R0 ; Nạp dữ liệu tại ô nhớ có giá trị R0 vào thanh 
ghi A. 
Tập lệnh 8051 hỗ trợ các thao tác di chuyển dữ liệu, các thao tác lô-gíc, các phép 
toán số học và các câu lệnh nhảy và gọi hàm. 
Ví dụ 6-1 
Đoạn chương trình 8051 
Nhan: INC 3Ch ; Tăng giá trị ô nhớ 3Ch lên 1 
 MOV A, #2Ah ; A=2Ah 
 XRL A, 3Ch ; XOR A với giá trị tại ô nhớ 3Ch 
 JNZ Nhan ; Nhảy tới Nhan nếu kết quả XOR khác 0 
 NOP ;không làm gì cả 
3. GIỚI THIỆU MỘT SỐ ỨNG DỤNG TIÊU BIỂU CỦA VI ĐIỀU KHIỂN 
Việc chuyển đối tín hiệu tương tự sang số và ngược lại thường gặp khi ta muốn kết nối 
máy tính với thế giới tương tự. Trong phần này giới thiệu sử dụng bộ vi điều khiển kết nối với 
bộ chuyển đổi tương tự số (A/D) và ngược lại (D/A). Thông thường các bộ chuyển đổi cho 
phép kết nối thông qua kênh dữ liệu 8 bít, ba trạng thái và cho phép điều khiển thôngqua các 
tín hiệu đọc/ghi, chọn chíp. 
3.1 Chuyển đổi số tương tự (D/A) 
Hình 6-3 giới thiệu kết nối giữa vi điều khiển 8051 và bộ chuyển đổi D/A khái quát. Bộ 
chuyển đổi D/A có đặc điểm sau: 
Vout = -Vref×(byte đầu vào/100H) và Vref = 10V 
 CHƯƠNG 6. CÁC BỘ VI ĐIỀU KHIỂN 
130 
Thời gian chuyển đổi 5s. 
Trình tự điều khiển ~CS rồi ~WR. 
Cổng 1 được nối với các tín hiệu dữ liệu của bộ chuyển đổi còn cổng 3 dùng để điều 
khiển. Trong ví dụ này, thiết bị tạo ra sóng hình sin với chu kỳ 1000Hz và có thể thay đổi theo 
chương trình. Vref đặt bằng -10V dạng tín hiệu đầu ra thay đổi từ 0V tới +9, 96V. Chương 
trình dùng bảng tra cứu để sinh ra biên độ sóng sin. Chu kỳ được thiết lập căn cứ vào khoảng 
thời gian truyền dữ liệu cho bộ chuyển đổi. Với S điểm lấy mẫu, chu kỳ ngắt nhất Tmin= 5×S 
s tần số tối đa fmax = 200. 000/S. 
Với sóng có tần số 1000Hz, cần số lượng mẫu là 200. Tuy nhiên thực tế chạy chương 
trình cho thấy thời gian để tạo ra một mẫu cần 6s và thời gian để chuyển sang mẫu kế tiếp 
mất hơn 2s. Như vậy thực tế chỉ cho phép số lượng mẫu là 166. 
Ví dụ 6-2. Chương trình chuyển đổi D/A 
 . org 0000h 
daconv: clr p3, 2 ; Chọn chíp 
 mov dptr, #bang : lấy địa chỉ cơ sở bảng 
repeat: mov r1, #0A6h ; Khởi tạo R1 = 166 
next: mov a, r1 ; Lấy địa chỉ offset của bảng 
 movc a, @a+dptr ;Lấy giá trị mẫu 
 mov p1, a ; Gửi mẫu ra cổng 1 
 clr p3, 3 
 setb p3, 3 
 djnz r1, next 
 sjmp repeat 
Hình 6-3. Ghép nối bộ chuyển đổi D/A với 8051 
CHƯƠNG 6. CÁC BỘ VI ĐIỀU KHIỂN 
131 
; Bảng chuyển đổi sử dụng hàm cosin để tính giá trị biên bộ của tín hiệu tại đầu ra. 83 
giá 
;trị đầu thể hiện biên độ từ cực đại tới nhỏ hơn 0, 83 giá trị còn lại từ 0 tới cực đại. Với 
83 
; mẫu cho nửa chu kỳ giá trị góc của hàm cosin thay đổi 2, 17 độ cho các mẫu kế tiếp. 
bang: . db 00H ; 
 . db ffH ; s1:FF×cos(0) 
 . db feH ; s2:7FH+FF×cos(2, 17) 
 . db feH ; s3:7FH+FF×cos(2, 17×2) 
 . db 81H ; s42:7FH+FF×cos(88, 9) 
 . . . . . . . 
 . db 00H ; s84:7FH+FF×cos(180) 
 . . . . . . 
 . db feH ; s166:7FH+FF×cos(2, 17) 
3.2 Chuyến đổi tương tự số (A/D) 
Hình 6-4 sử dụng bộ chuyển đổi tương tự số 8 bít có các đặc tính sau: 
Tín hiệu lấy mẫu: Vin = Vref-, dữ liệu =00h ; Vin=Vref+, dữ liệu = FFh 
Thời gian lấy mẫu: 1 s 
Trình tự điều khiển: CS, WR rồi RD (ở mức tích cực thấp). Trong hình vẽ, cổng 1 của 
8051 nối với kênh dữ liệu của bộ chuyển đổi còn cổng 3 nối với các tín hiệu điều khiển. 
Ví dụ 6-3. Chương trình chuyển đổi A/D 
Hình 6-4. Ghép nối 8051 và chuyển đổi A/D 
 CHƯƠNG 6. CÁC BỘ VI ĐIỀU KHIỂN 
132 
Đoạn chương trình sau số hóa các tín hiện Vref với chu kỳ 100s và lưu kết quả vào 
trong bộ nhớ RAM 4000H:43E7H. 
 . equ begin, 4000H ;Địa chỉ bắt đầu 
 . equ delay, 74H ;trễ 87s 
 . equ end1, 43H ;Địa chỉ kết thúc byte cao 
 . equ end2, e8H ;Địa chỉ kết thúc byte thấp 
adconv: mov dptr, #begin 
 clr p3, 2 ; Gửi ~CS tới bộ A/D 
next: clr p3, 3 ; Tạo xung ~WR tới bộ A/D 
 setb p3, 3 ; 
 clr p3, 4 ;Tạo xung ~RD 
 mov a, p1 ;Đọc dữ liệu từ A/D 
 setb p3, 4 ;Kết thúc đọc 
 mov @dptr, a ;Lưu vào RAM 
 inc dptr ;Tăng con trỏ RAM lên 1 
 mov a, dph ;Kiểm tra kết thúc 
 cjne a, #end1, wait 
 mov a, dpl 
 cjne a, #end2, wait 
 sjmp done ; Kết thúc khi tới vị trí cuối cùng 
wait: mov r1, #delay ;Trễ 87s 
here: djnz r1, here 
 sjmp next 
done: sjmp done 
 . end 
 CHƯƠNG 7. GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN 
133 
Chương 7. GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN 
1. CÁC VI XỬ LÍ TIÊN TIẾN DỰA TRÊN KIẾN TRÚC INTEL IA-32 
1.1 Giới thiệu IA-32 
IA-32 là kiến trúc 32 bít do hãng Intel phát triển lần đầu tiên được giới thiệu trên bộ vi 
xử lý Intel 80386. Kiến trúc IA-32 hỗ trợ ba chế độ hoạt động: chế độ bảo vệ (protected 
mode), chế độ thực (real mode) và chế độ quản lý hệ thống SMM (System Management 
Mode). Các chế độ hoạt động quyết định các lệnh và các chức năng mà chương trình có thể 
truy nhập: 
 Chế độ bảo vệ: là chế độ căn bản của bộ xử lý. Chế độ này cho phép chạy các phần 
mềm 8086 trong môi trường đa nhiệm và bảo vệ. Chế độ này còn được gọi là chế độ 
8086 ảo. 
 Chế độ địa chỉ thực: Ché độ này cung cấp môi trường lập trình 8086 với một số tính 
năng mở rộng như chuyển sang chế độ bảo vệ. Để bộ xử lý hoạt động ở chế độ này 
thông thường phải khởi động lại bộ xử lý. 
 Chế độ quản lý hệ thống - SMM: Chế độ này cung cấp cho hệ điều hành các cơ chế 
trong suốt phục vụ nhiệm vụ cụ thể như quản lý năng lượng hay bảo mật hệ thống. 
Chế độ này được kích hoạt thông qua tín hiệu SMM hoặc tín hiệu này nhận được từ bộ 
điều khiển ngắt tiên tiến. 
Trong chế độ quản lý hệ thống bộ xử lý chuyển qua lại các không gian địa chỉ riêng 
biệt của các chương trình trong khi lưu lại ngữ cảnh căn bản của các chương trình 
đang chạy. Các đoạn mã SMM có thể được thực hiện hoàn toàn trong suốt. Ngay khi 
quay trở lại từ chế độ SMM, bộ xử lý được khôi phục lại trạng thái giống như trước 
khi ngắt SMM xảy ra. 
Bất kỳ chương trình nào chạy trên bộ xử lý IA-32 được cung cấp các tài nguyên để thực 
hiện lệnh, lưu đoạn mã, dữ liệu và các thông tin trạng thái. Các tài nguyên này tạo lập nên môi 
trường thực thi cho chương trình: 
 Không gian địa chỉ: bất cứ chương trình nào đều có thể đánh địa chỉ không gian nhớ 
tuyến tính tới 232 byte hay 4GB và không gian địa chỉ vật lý có thể lên tới 236 khi sử 
dụng cách đánh địa chỉ mở rộng. 
 Các thanh ghi thực thi căn bản: bao gồm 8 thanh ghi dùng chung, sáu thanh ghi đoạn, 
thanh ghi cờ và con trỏ lệnh EIP. 
 Các thanh ghi đấu phẩy động x87FPU: bao gồm 8 thanh ghi dữ liệu, thanh ghi điều 
khiển, thanh ghi trạng thái, thanh ghi lệnh, thanh ghi con trỏ toán hạng, thẻ và mã lệnh. 
Các thanh ghi này cho phép thực hiện các phép toán với độ chính xác kép mở rộng hay 
với số nguyên 8 byte. 
 CHƯƠNG 7. GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN 
134 
 Các thanh ghi MMX: bao gồm 8 thanh ghi hỗ trợ cơ chế thực hiện 1 lệnh và nhiều dữ 
liệu với các thao tác các số nguyên (1 byte, 2 byte hay 4 byte) được xếp vào gói 64 bít. 
 Các thanh ghi XMM: hỗ trợ các thao tác số nguyên và số thực được xếp vào các gói 
128 bít. 
Các vi xử lý thế hệ sau hỗ trợ IA-32 áp dụng các tính năng thực thi lệnh tiên tiến cho 
phép thực hiện được nhiều hơn 1 lệnh trong 1 chu trình lệnh như kỹ thuật đường ống, siêu vô 
hướng, hay siêu phân luồng. Các thế hệ Pentium đầu tiên sử dụng các vi kiến trúc siêu vô 
hướng cho phép thực hiện 3 lệnh trong một chu kỳ xung nhịp với các siêu đường ống 12 đoạn 
và cơ chế thực thi không theo trật tự hoặc vô hướng (out-of-order execution). Vi kiến trúc 
Netburst là một trong các vi kiến trúc điển hình được minh họa trên Hình 7-1. Vi kiến trúc 
Netburst tăng cường tính năng kiến trúc Pentium bằng việc tăng cường năng lực của đơn vị 
xử lý, năng cao hiệu năng của bộ đệm tích hợp, mở rộng giao tiếp bus. Các vi xử lý IA-32 thế 
hệ mới còn hỗ trợ cơ chế đa nhân (multi-core) bên cạnh kiến trúc siêu phân luồng cho phép 
chạy nhiều ứng dụng đồng thời. Việc kết hợp hai kiến trúc làm cho các chương trình ứng 
dụng có thể sử dụng 4 bộ vi xử lý lô-gíc trên 2 bô vi xử lý vật lý. Bên cạnh đó, bộ xử lý thế hệ 
mới hỗ trợ công nghệ ảo hóa cho phép nhiều hệ điều hành và ứng dụng chạy trên các máy ảo 
khác nhau cùng chia sẻ hệ thống phần cứng. 
Hình 7-1. Vi kiến trúc Netburst 
 CHƯƠNG 7. GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN 
135 
Kiến trúc IA-32 cung cấp các chức năng hỗ trợ hệ điều hành hay các phần mềm hệ 
thống. Với các thao tác vào/ra ở chế độ bảo vệ, các thao tác này bị hạn chế thông qua: 
 Cờ đặc quyền IOPL (I/O privilege level) và trạng thái của quyền vào/ra trong 
phân đoạn trạng thái chương trình TSS (Task state segment). 
 Cơ chế bảo vệ đoạn và trang bộ nhớ. 
Về mô hình bộ nhớ, các chương trình không truy nhập trực tiếp vào bộ nhớ vật lý. Thay 
vào đó, các chương trình có thể sử dụng các mô hình truy nhập: 
1. Tuyến tính: Chương trình coi bộ nhớ như một chuỗi liên tiếp các byte. Đoạn mã, 
dữ liệu và ngăn xếp đều nằm trong không gian địa chỉ này. 
2. Phân đoạn: Bộ nhớ được chia thành các không gian khác nhau được gọi là đoạn. 
Thông thường dữ liệu, đoạn mã, ngăn xếp sử dụng các đoạn khác nhau. Bộ xử lý 
hỗ trợ IA-32 có thể cung cấp 16383 đoạn với các kích cỡ khác nhau, kích cỡ lớn 
nhất của 1 đoạn là 4GB. 
3. Địa chỉ thực: đây là mô hình bộ nhớ của 8086. 
4. Phân trang và bộ nhớ ảo: khi này bộ nhớ chương trình được chia thành các trang 
ánh xạ vào bộ nhớ ảo. Sau đó, bộ nhớ ảo được ánh xạ vào bộ nhớ thực. Nếu hệ 
điều hành sử dụng phân trang, cơ chế ánh xạ hoàn toàn trong suốt đối với 
chương trình ứng dụng. 
1.2 Các vi xử lý hỗ trợ IA-32 
Với ưu thế của công nghệ và thiết kế vi kiến trúc mới, mỗi một thế hệ vi xử lý IA-32 
mới đều vượt ngưỡng tốc độ (tần số hoạt động) và năng lực thực hiện của các vi xử lý thế hệ 
trước. Bảng dưới đây liệt kê các vi xử lý IA-32 thế hệ đầu không có bộ đệm tích hợp trong vi 
xử lý (GP-thanh ghi dùng chung; FPU-thanh ghi dấu phẩy động). 
Bảng 7-1. Vi xử lý hỗ trợ IA-32 thế hệ đầu 
Vi xử lý 
Năm 
sản 
xuất 
Tần số 
(MHz) 
Số thanh 
ghi 
Bus dữ 
liệu mở 
rộng 
Bộ nhớ 
tối đa 
Bộ đệm 
80386DX 1985 20 32GP 32 4GB 
Intel 
486DX 
1989 25 
32GP 
80 FPU 
32 4GB 8KB L1 
Pentium 1993 60 
32GP 
80 FPU 
64 4GB 16KB L1 
Pentium 
Pro 
1995 200 
32GP 
80 FPU 
64 64GB 
16KB L1 
256-512KB 
L2 
Pentium II 1997 266 
32GP 
80 FPU 
64 MMX 
64 64GB 
32KB L1 
256-512KB 
L2 
 CHƯƠNG 7. GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN 
136 
Pentium 
III 
1999 500 
32GP 
80 FPU 
64 MMX 
128 XMM 
64 64GB 
32KB L1 
512KB L2 
Bảng 7-2. Vi xử lý IA-32 thế hệ sau 
Vi xử lý 
Năm 
sản xuất 
Vi kiến 
trúc 
Tần 
số 
(GHz) 
Số thanh 
ghi 
Băng 
thông 
bus hệ 
thống 
Bộ 
nhớ 
tối đa 
Bộ 
đệm 
Pentium 
4 
2000 Netburst 1, 5 
32 GP 
80 FPU 
64 MMX 
128 XMM 
3, 2GB/s 64GB 
8KB 
L1 
256KB 
L2 
Pentium 
4 
2002 
Netburst, 
Siêu phân 
luồng 
3, 06 
32 GP 
80 FPU 
64 MMX 
128 XMM 
4, 2GB/s 64GB 
8KB 
L1 
256KB 
L2 
Pentium 
M 
2003 
Pentium 
M 
1, 6 
32 GP 
80 FPU 
64 MMX 
128 XMM 
3, 2GB/s 64GB 
64KB 
L1 
1MB 
L2 
Pentium 
4 
Extreme 
2005 
Netburst, 
Siêu phân 
luồng 
3, 73 
32 GP 
80 FPU 
64 MMX 
128 XMM 
8, 5GB/s 64GB 
16KB 
L1 
2MB 
L2 
Core 
Duo 
2006 
Pentium 
M, Lõi 
kép 
2, 16 
32 GP 
80 FPU 
64 MMX 
128 XMM 
5, 3 GB/s 4GB 
64KB 
L1 
2MB 
L2 
Atom 
Z5xx 
2008 
Atom, Ảo 
hóa 
1, 86 
32 GP 
80 FPU 
64 MMX 
128 XMM 
4, 2GB/s 4GB 
56KB 
L1 
512KB 
L2 
2. CÁC VI XỬ LÍ TIÊN TIẾN DỰA TRÊN KIẾN TRÚC INTEL IA-64 
Kiến trúc Intel IA-64 bổ sung không gian địa chỉ chương trình 64 bít hỗ trợ không gian 
nhớ vật lý tới 40 bít và chế độ IA-32e so với kiến trúc IA-32 trước đó. Kiến trúc IA-64 đảm 
bảo tính tương thích ngược cho phép chạy các chương trình viết cho kiến trúc IA-32. Các chế 
độ mới của IA-64 bao gồm: 
 Chế độ tương thích: cho phép chạy các ứng dụng 16 và 32 bít mà không phải biên dịch lại. 
Chế độ này tương tự như chế độ bảo vệ trong IA-32. Các ứng dụng chỉ truy nhập được 
4GB đầu trong không gian nhớ tuyến tính. Tuy nhiên, ứng dụng có thể sử dụng không 
gian nhớ lớn hơn với chế độ mở rộng địa chỉ vật lý. 
 CHƯƠNG 7. GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN 
137 
 Chế độ 64 bít. Cho phép chương trình truy nhập không gian nhớ tuyến tính 64 bít. Chế độ 
này mở rộng số lượng các thanh ghi dùng chung và thanh ghi XMM từ 8 lên 16. Các 
thanh ghi dùng chung có kích cỡ 64 bít. 
Chế độ 64 được kích hoạt trên cơ sở đoạn mã. Kích cỡ mặc định cho địa chỉ là 64 bít còn 
toán hạng 32 bít. Kích cỡ của toán hạng có thể thay đổi theo từng lệnh sử dụng tiền tố 
REX. Điều này giúp cho các câu lệnh cũ có thể chuyển sang chế độ 64 bít thanh ghi và địa 
chỉ. 
Bảng 7-3. Vi xử lý hỗ trợ IA-64 
Vi xử lý 
Năm 
sản 
xuất 
Vi kiến trúc 
Tần 
số 
(GHz) 
Số thanh 
ghi 
Băng 
thông 
bus hệ 
thống 
Bộ nhớ 
tối đa 
Bộ đệm 
Xeon 2004 
Netburst, 
Siêu phân 
luồng, IA-64 
3, 6 
32, 64 GP 
80 FPU 
64 MMX 
128 XMM 
6, 4GB/s 64GB 
16KB L1 
1MB L2 
Xeon 2005 
Netburst, 
Siêu phân 
luồng, IA-64 
3, 03 
32, 64 GP 
80 FPU 
64 MMX 
128 XMM 
5, 3GB/s 1024GB 
16KB L1 
1MB L2 
8MB L3 
Pentium 
4 
Extreme 
2005 
Netburst, 
Siêu phân 
luồng, IA-64 
3, 73 
32 GP 
80 FPU 
64 MMX 
128 XMM 
8, 5GB/s 64GB 
16KB L1 
2MB L2 
Dual-
Core 
Xeon 
2005 
Netburst, 
Siêu phân 
luồng, Đa 
nhân, IA-64 
3 
32, 64 GP 
80 FPU 
64 MMX 
128 XMM 
6, 4GB/s 64GB 
16KB L1 
2MB L2 
(Tổng 
4MB) 
Pentium 
4 672 
2005 
Netburst, 
Siêu phân 
luồng, IA-64, 
Ảo hóa, Đa 
nhân 
3, 8 
32, 64 GP 
80 FPU 
64 MMX 
128 XMM 
6, 4GB/s 64GB 
16KB L1 
2MB L2 
Core 2 
Extreme 
X6800 
2006 
Netburst, 
Siêu phân 
luồng, IA-64, 
Ảo hóa, Đa 
nhân 
2, 93 
32, 64 GP 
80 FPU 
64 MMX 
128 XMM 
8, 5GB/s 64GB 
64KB L1 
4MB L2 
Xeon 
7140 
2006 
Netburst, 
Siêu phân 
3, 40 
32, 64 GP 
80 FPU 
12, 8 
GB/s 
64GB 
64KB L1 
1MB L2 
 CHƯƠNG 7. GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN 
138 
luồng, IA-64, 
Ảo hóa, Đa 
nhân 
64 MMX 
128 XMM 
(tổng 
2MB) 
16MB L3 
Xeon 
5472 
2007 
Netburst, 
Siêu phân 
luồng, IA-64, 
Ảo hóa, Đa 
nhân (4 
nhân) 
3, 00 
32, 64 GP 
80 FPU 
64 MMX 
128 XMM 
12, 8 
GB/s 
256GB 
64KB L1 
6MB L2 
(Tổng 
12MB) 
Atom 2008 
Atom, IA-64, 
Ảo hóa, Đa 
nhân (4 
nhân) 
1, 60 
32, 64 GP 
80 FPU 
64 MMX 
128 XMM 
12, 8 
GB/s 
64GB 
56KB L1 
512KB 
L2 (Tổng 
1MB) 
Core i7 2008 
Netburst, 
Siêu phân 
luồng, IA-64, 
Ảo hóa, Đa 
nhân (4 
nhân) 
3, 20 
32, 64 GP 
80 FPU 
64 MMX 
128 XMM 
6, 4 
GT/s 
64GB 
64KB L1 
256KB 
L2 
8MB L3 
3. CÁC VI XỬ LÍ TIÊN TIẾN CỦA SUN MICROSYSTEMS 
Sun Microsystems hỗ trợ thiết kế bộ xử lý có thể mở rộng SPARC (Scalable Processor 
Architecture). Kiến trúc này chịu ảnh hưởng của máy tính Berkeley RISC I. Tập lệnh và tổ 
chức các thanh ghi của bộ xử lý SPARC rất giống với Berkeley RISC. SPARC cho phép triển 
khai từ các ứng dụng nhúng cho tới các máy chủ rất lớn, tất cả đều dùng chung một tập lệnh 
căn bản. Hiện nay, bộ xử lý SPARC thường được sử dụng rộng rãi trong môi trường máy chủ, 
trạm làm việc sử dụng hệ điều hành SUN, Unix và Linux. 
Bộ xử lý SPARC thường có tới 128 thanh ghi dùng chung. Tại bất cứ thời điểm nào, 
phần mềm có thể sử dụng tức thì 32 thanh ghi bao gồm 8 thanh ghi toàn cục, 24 thanh ghi 
ngăn xếp. Các thanh ghi ngăn xếp có thể tạo thành cửa sổ thanh ghi (register window) tối đa 
32 cửa sổ cho phép tối ưu các thao tác gọi hàm và trở về. Mỗi cửa sổ có 8 thanh ghi cục bộ và 
dùng chung 8 thanh ghi với cửa sổ kề. Các thanh ghi chia sẻ được dùng để truyền các tham số 
và giá trị trả về cho các hàm còn thanh ghi cục bộ dùng để lưu các giá trị cục bộ giữa các lời 
gọi hàm. 
Hầu hết các lệnh xử lý của SPARC chỉ sử dụng các toán hạng thanh ghi. Các lệnh nạp 
và lưu chuyên dùng để trao đổi dữ liệu giữa các thanh ghi và bộ nhớ. Ngoài chế dộ địa chỉ 
thanh ghi, SPARC chỉ sử dụng chế độ địa chỉ dịch chuyển. Trong chế độ này, địa chỉ hiệu 
dụng của toán hạng được dịch chuyển 1 đoạn tương ứng với giá trị của thanh ghi. Để thực 
hiện câu lệnh nạp hoặc ghi, quá trình thực hiện lệnh sẽ cần thêm 1 giai đoạn để tính địa chỉ ô 
nhớ. 
 CHƯƠNG 7. GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN 
139 
Vi xử lý hỗ trợ SPARC 32 bít phiên bản 8 cho phép sử dụng 16 thanh ghi dấu phẩy 
động với độ chính xác kép, hoặc 32 thanh ghi với độ chính xác đơn. Các cặp chẵn-lẻ của các 
thanh ghi độ chính xác kép có thể kết hợp với nhau để nâng độ chính xác lên gấp đôi mức 4. 
SPARC 64 bít phiên bản 9, xuất hiện vào năm 1993, có thêm 16 thanh ghi độ chính xác kép 
nhưng các thanh ghi mới này không tách thành các thanh ghi có độ chính xác đơn được. 
Bảng dưới đây liệt kê một số tính năng của các vi xử lý sử dụng SPARC. 
Bảng 7-4. Tính năng một số vi xử lý SPARC 
Tên 
Tần số 
MHz 
Năm 
sản 
xuất 
Số 
luồng x 
Số nhân 
Số chân 
tín hiệu 
Đệm 
dữ liệu 
L1 (k) 
Đệm 
lệnh 
L1 (k) 
Đệm L2 
(k) 
UltraSPARC IIs 
(Blackbird) 
250–400 1997 1×1 521 16 16 
1024 – 
4096 
UltraSPARC IIs 
(Sapphire-Black) 
360–480 1999 1×1 521 16 16 
1024–
8192 
UltraSPARC IIi 
(Sabre) 
270–360 1997 1×1 587 16 16 
256–
2048 
UltraSPARC IIi 
(Sapphire-Red) 
333–480 1998 1×1 587 16 16 2048 
UltraSPARC IIe 
(Hummingbird) 
400–500 1999 1×1 370 16 16 256 
UltraSPARC IIi 
(IIe+) (Phantom) 
550–650 2000 1×1 370 16 16 512 
UltraSPARC III 
(Cheetah) 
600 2001 1×1 1368 64 32 8192 
UltraSPARC 
III Cu (Cheetah+) 
1002–
1200 
2001 1×1 1368 64 32 8192 
UltraSPARC IIIi 
(Jalapeño) 
1064–
1593 
2003 1×1 959 64 32 1024 
UltraSPARC IV 
(Jaguar) 
1050–
1350 
2004 1×2 1368 64 32 16384 
UltraSPARC IV+ 
(Panther) 
1500–
2100 
2005 1×2 1368 64 64 2048 
 CHƯƠNG 7. GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN 
140 
UltraSPARC T1 
(Niagara) 
1000–
1400 
2005 4×8 1933 8 16 3072 
UltraSPARC T2 
(Niagara 2) 
1000–
1600 
2007 8×8 1831 8 16 4096 
UltraSPARC T2 
Plus (Victoria 
Falls) 
1200–
1600 
2008 8×8 1831 8 16 4096 
 TÀI LIỆU THAM KHẢO 
141 
TÀI LIỆU THAM KHẢO 
1. Crisp J. Introduction to microprocessors and microcontrollers, Newnes 2004. 
2. David Calcutt, Fred Cowan,Hassan Parchizadeh, 8051 Microcontrollers An 
Applications-Based Introduction, Newnes, 2004. 
3. Douglas V. Hall. Microprocessor and Interfacing- programming and hardware, 2nd 
edition. McGraw Hill. 1997. 
4. Hari BalaKrishnan & Samel Madden. The lecture notes on Computer Systems 
Engineering, Open Courses Ware. Massachusets Institute of Technology. 
5. Hồ Khánh Lâm, Kỹ thuật vi xử lý, NXB Bưu điện, 2005. 
6. Intel Corp. Intel® 64 and IA-32 Architectures Software Developer’s Manual. 
7. Rafiquzzaman M. Microprocessor theory and applications with 68000/68020 and 
Pentium, John Wiley&Sons 2008. 
8. Văn Thế Minh. Kỹ thuật vi xử lý. NXB Giáo dục 1999. 

File đính kèm:

  • pdfbai_giang_ky_thuat_vi_xu_ly_pham_hoang_duy.pdf