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

THIẾT kế bộ VI xử lý SOCP (SYSTEM ON CHIP PROCESSOR) TRÊN nền FPGA (có code)

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 (6.32 MB, 67 trang )

ĐỒ ÁN TỐT NGHIỆP

THIẾT KẾ BỘ VI XỬ LÝ SOCP
(SYSTEM-ON-CHIP PROCESSOR)
TRÊN NỀN FPGA


MỤC LỤC
DANH MỤC CÁC HÌNH VẼ..........................................................................................VII
DANH MỤC CÁC BẢNG BIỂU...................................................................................VIII
DANH MỤC CÁC TỪ VIẾT TẮT...................................................................................IX
CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI...........................................................................1
1.1

GIỚI THIỆU CHUNG.....................................................................................................1

1.2

PHƯƠNG ÁN THỰC HIỆN.............................................................................................1

CHƯƠNG 2. NỘI DUNG CỦA ĐỀ TÀI............................................................................2
2.1

KHÁI QUÁT VỀ CÔNG NGHỆ FPGA.............................................................................2

2.1.1

Cấu trúc của một FPGA.....................................................................................3

2.1.2


Phân loại FPGA..................................................................................................4

2.1.3

Các đặc tính của công nghệ lập trình.................................................................6

2.1.4

So sánh FPGA với các công nghệ khác..............................................................8

2.2

MÔ HÌNH BỘ VI XỬ LÝ HIỆN ĐẠI................................................................................9

2.2.1

Khái niệm về bộ vi xử lý (CPU)..........................................................................9

2.2.2

Bộ vi xử lý SoCP...............................................................................................10

2.2.3

Các vi xử lý tiên tiến dựa trên kiến trúc INTEL IA-32........................................1

2.2.4

Các vi xử lí tiên tiến dựa trên kiến trúc INTEL IA-64........................................4


2.2.5

Các vi xử lí tiên tiến của Sun Microsystems.......................................................6

2.3

KHÁI QUÁT VỀ LED...................................................................................................8

2.3.1

Khái niệm LED...................................................................................................8

2.3.2

Cấu tạo................................................................................................................8

2.3.3

Nguyên lý hoạt động.........................................................................................10

2.3.4

Tính chất...........................................................................................................10

2.3.5

Ứng dụng...........................................................................................................11

2.3.6


LED 7 đoạn.......................................................................................................12

CHƯƠNG 3. THIẾT KẾ HỆ THỐNG............................................................................15


3.1

SƠ ĐỒ KHỐI..............................................................................................................15

3.2

MÔ HÌNH THIẾT KẾ TỔNG QUÁT...............................................................................15

3.3

MÔ HÌNH SOCP CỔ ĐIỂN..........................................................................................16

3.4

THIẾT KẾ HỆ THỐNG SOCP.......................................................................................17

3.5

CẤU TRÚC SOCP......................................................................................................18

3.6

THIẾT KẾ BỘ VI XỬ LÝ SOCP TRÊN NỀN FPGA.......................................................19

3.6.1


Mô hình thiết kế................................................................................................19

3.6.2

Cách thực hiện..................................................................................................19

CHƯƠNG 4. KẾT QUÀ.....................................................................................................42
CHƯƠNG 5. KẾT LUẬN..................................................................................................44
5.1

KẾT LUẬN.................................................................................................................44

5.2

HƯỚNG PHÁT TRIỂN.................................................................................................44

TÀI LIỆU THAM KHẢO..................................................................................................45
PHỤ LỤC

46


DANH MỤC CÁC HÌNH VẼ
HÌNH 2-1: LUT (LOOK-UP TABLE) [1]...........................................................................2
HÌNH 2-2: CẤU TRÚC CỦA MỘT FPGA [1]..................................................................3
HÌNH 2-3: LOGIC BLOCK [1]...........................................................................................3
HÌNH 2-4: PHÂN LOẠI FPGA [1].....................................................................................4
HÌNH 2-5: SOC CỦA GALAXY S4 CŨ [4].....................................................................11
HÌNH 2-6: MÔ HÌNH SOC TỪ SNAPDRAGON 410 QUALCOMM [4]..................11

HÌNH 2-7: MÔ HÌNH SOC BCM5862X TỪ BROADCOM [4]...................................12
HÌNH 2-8: LED [7]................................................................................................................8
HÌNH 2-9: CẤU TẠO LED [7]............................................................................................9
HÌNH 2-10: LED 7 ĐOẠN [8]............................................................................................12
HÌNH 2-11: MÔ HÌNH LED 7 ĐOẠN [8]........................................................................12
HÌNH 3-1: SƠ ĐỒ KHỐI...................................................................................................15
HÌNH 3-2: MÔ HÌNH THIẾT KẾ TỔNG QUÁT..........................................................15
HÌNH 3-3: MÔ HÌNH SOCP CỔ ĐIỂN...........................................................................16
HÌNH 3-4: THIẾT KẾ HỆ THỐNG SOCP.....................................................................17
HÌNH 3-5: CẤU TRÚC SOCP [9].....................................................................................18
HÌNH 3-6: MÔ HÌNH THIẾT KẾ SOCP TRÊN NỀN FPGA......................................19


DANH MỤC CÁC BẢNG BIỂU
BẢNG 2-1: CÁC ĐẶC TÍNH CỦA CÔNG NGHỆ LẬP TRÌNH [2].............................6
BẢNG 2-2: SO SÁNH FPGA VÀ CPLD [3]......................................................................8
BẢNG 2-3: SO SÁNH FPGA VÀ ASIC [3]........................................................................9
BÀNG 2-4: ƯU VÀ NHƯỢC ĐIỂM CỦA SOC..............................................................12
BẢNG 2-5: CÁC CHẾ ĐỘ CỦA IA-32 [5]........................................................................1
BẢNG 2-6: CÁC TÀI NGUYÊN TẠO NÊN MÔI TRƯỜNG THỰC THI CHƯƠNG
TRÌNH [5]

..........................................................................................................................2

BẢNG 2-7: VI XỬ LÝ HỖ TRỢ IA-32 [5]........................................................................3
BẢNG 2-8: CÁC CHẾ ĐỘ MỚI CỦA IA-64 [6]...............................................................4
BẢNG 2-9: VI XỬ LÝ HỖ TRỢ IA-64 [6]........................................................................5
BÀNG 2-10: TÍNH NĂNG CỦA MỘT SỐ VI XỬ LÝ SPRAC [6]................................7
BẢNG 2-11: MÃ HIỂN THỊ ANOT CHUNG.................................................................13
BÀNG 2-12: MÃ HIỂN THỊ KATOT CHUNG..............................................................14

BẢNG 3-1: CÁC HỌ SỬ DỤNG TRONG MÔ HÌNH...................................................21
BẢNG 3-2: DATA SHEET..................................................................................................27
BẢNG 3-3: DATA SHEET 2...............................................................................................28
BẢNG 3-4: CẤU HÌNH CHÂN.........................................................................................37


DANH MỤC CÁC TỪ VIẾT TẮT

FPGA
ADC
AMBA
ASIC
BUS
CLB
CPU
DIP
INTC
IOPL
LED
LED
LUT
NRE
SMD LED
SMM
SMT
SoCP
SPRAC
TSS

Field programmable Gate Array

Analog to Digital Converter
Advanced Microcontroller Bus Architecture
Application Specific Integrated Circuit
Bus System
Configurable Logic Blocks
Central Processing Unit
Duel In-Line Package
Interrupt Controller
I/O Privilege Level
Light Emitting Diode
Light Emitting Diode
Look-Up Table
Non Recurring Expenses
Surface-Mount Device LED
System Management Mode
Surface-Mount Technology
System-on-Chip Processor
Scalable Processor Architecture
Task State Segment


Trang 1/51

CHƯƠNG 1.

TỔNG QUAN VỀ ĐỀ TÀI

1.1 Giới thiệu chung
Thiết kế bộ vi xử lý SOCP (system-on-chip Processor) trên nền FPGA.
-


Tìm hiểu công nghệ FPGA.

-

Tìm hiểu mô hình bộ vi xử lý hiện đại.

-

Tìm hiểu LED.

-

Thiết kế bộ Mux/Demux/Counter bằng ngôn ngữ Verilog điều khiển LED.

1.2 Phương án thực hiện
- Dùng phần mềm Quatus 9.0sp1.
-

Lập trình bằng ngôn ngữ Verilog.

-

Thiết kế bộ Counter bằng Mega

-

Thiết kế bộ Demux.

-


Thiết kế bộ Counter.

-

Sau đó ghép 3 khối lại thành một khối thống nhất.

-

Cả 3 bộ này sẽ hoạt động như một bộ vi xử lý SOCP trên nền FPGA.

Thiết kế bộ vi xử lý SOCP trên nền FPGA


Trang 2/51

CHƯƠNG 2.

NỘI DUNG CỦA ĐỀ TÀI

1.3 Khái quát về công nghệ FPGA
FPGA (“Field programmable Gate Array”, nghĩa là mảng cổng lập trình được dạng
trường, thuộc họ ASIC lập trình được) là 1 chip silicon chứa trong nó rất nhiều
“khối logic” có thể tái cấu hình CLB (Configurable Logic Blocks) được liên kết với
nhau thành bằng các liên kết khả trình (Programmable Interconnect). Các khối vào
ra được phân bố xung quanh chip tạo thành các liên kết với bên ngoài. Bên trong
khối logic CLB có bảng LUT (Look-Up Table) và các phần tử nhớ (FlipFlop hoặc
bộ chốt). Bảng LUT với nhiều đầu vào và 1 đầu ra tạo thành 1 mạch logic tổ hợp
nhỏ, còn các phần tử nhớ dành cho logic synchronous (đồng bộ) và sequential (tuần
tự).


Hình 2-1: LUT (Look-Up Table) [1]

1.1.1 Cấu trúc của một FPGA

Thiết kế bộ vi xử lý SOCP trên nền FPGA


Trang 3/51

Hình 2-2: Cấu trúc của một FPGA [1]

Gồm 3 khối:
-

Logic block.

-

Programmable Interconnect.

-

I/O block.

 Logic block

Hình 2-3: Logic block [1]

-


Logic block được tạo thành từ LUT và một phần tử nhớ đồng bộ Flip-Flop.

Thiết kế bộ vi xử lý SOCP trên nền FPGA


Trang 4/51

-

LUT là khối logic thực hiện bất kì cổng logic nào với ngõ vào là 4 và ngõ ra
tùy vào mục đích sử dụng.

 Programmable Interconnect.
- Khối chuyển mạch được cấu thành từ các đường kết nối theo các phương
ngang và đứng.
-

Các kết nối được nối với nhau thông qua khối chuyển mạch lập trình được vì
nó chứa một lượng nút chuyển lập trình được để có thể liên kết phức tạp
được.

 I/O blcok
- Là các phần tử tích hợp sẵn.
-

Là bộ nhân tốc độ cao.

1.1.2 Phân loại FPGA
FPGA có nhiều loại khác nhau có cấu trúc và đặc tính riêng tuỳ theo từng hãng sản

xuất, tuy nhiên chúng có bốn loại chính sau: cấu trúc mảng đối xứng (Symmetrical
Array), cấu trúc PLD phân cấp (hierachircal PLD), cấu trúc hàng (Row base) và cấu
trúc đa cổng (Sea of Gate) mô tả dưới đây.

Hình 2-4: Phân loại FPGA [1]

Về mặt chế tạo, các phần tử lập trình nếu có thể chế tạo theo công nghệ
CMOS chuẩn là tốt nhất. Dưới đây sẽ trình bày chi tiết các công nghệ lập
trình FPGA.

Thiết kế bộ vi xử lý SOCP trên nền FPGA


Trang 5/51

 Công nghệ lập trình dùng RAM tĩnh:
- Công nghệ lập trình dùng RAM tĩnh (SRAM) sử dụng công nghệ CMOS tiêu
-

chuẩn.
Các kết nối lập trình được điều khiển bằng các transistor khác trên chip hoặc
bật (On) các transistor truyền dẫn cũng như các cổng transistor để tạo một

-

kết nối hay tắt (Off) để ngắt kết nối.
Trong các FPGA sử dụng công nghệ lập trình SRAM, các khối logic có thể
được kết hợp với nhau qua cách kết hợp cả bộ dồn kênh (Multiplexer) và

-


cổng truyền dẫn (pass-gate).
Vì SRAM là bộ nhớ bay hơi, các FPGA này phải được tái cấu hình mỗi khi

-

cấp nguồn cho chip.
Điều này có nghĩa là hệ thống sử dụng các chip này phải có một số cơ chế
lưu trữ thường trực cho các bit của RAM Cell, chẳng hạn ROM hay đĩa từ.
Các bit của RAM Cell có thể được nạp vào FPGA một cách tuần tự hay định

-

địa chỉ như một phần tử của mảng (theo cách thông thường của một RAM).
Các chip được thực hiện theo công nghệ SRAM có diện tích khá lớn, bởi vì
cần ít nhất 5 transistor cho mỗi RAM Cell cũng như các transistor cần thêm
cho cổng truyền dẫn hay bộ dồn kênh. Ưu điểm của kỹ thuật này là cho phép
FPGA có thể được tái cấu hình ngay trên mạch rất nhanh và nó có thể được

chế tạo bằng công nghệ CMOS chuẩn.
 Các thiết bị lập trình cầu chì nghịch (Anti-fuse):
- Công nghệ lập trình anti-fuse được sử dụng trong các FPGA của Actel-Corp,
-

Quick Logic và Cross Point Solution.
Tuy anti-fuse được sử dụng trong các loại FPGA này có cấu tạo khác nhau,

-

nhưng chức năng của chúng là như nhau.

Một anti-fuse bình thường sẽ ở trạng thái cao, nhưng có thể bị “nóng chảy”
thành trạng thái điện trở thấp khi được lập trình ở điện thế cao.

Thiết kế bộ vi xử lý SOCP trên nền FPGA


Trang 6/51

1.1.3 Các đặc tính của công nghệ lập trình
Bảng 2-1: Các đặc tính của công nghệ lập trình [2]

Công nghệ lập

Tính

Có thể lập

R(Kohm
Diện tích chíp

trình
bay hơi
trình
Static RAM Cell

Trong mạch
PLICE Anti-fuse

Không


C(pf)
)
1-2

10-20

300-500

3-5

50-80

1-3

Nhỏ

2-4

10-20

2xEPROM

2-4

10-20

Lớn
Anti-fuse nhỏ

Không

Số transistor lớn
Anti-fuse nhỏ Số

ViaLink Anti-fuse Không

Không
transistor lớn
Ngoài

EPROM
EEPROM

Không
mạch
Không Trong mạch

Ứng dụng của công nghệ FPGA là thế hệ sau của IC khả trình nên chúng có thể ứng
dụng trong hầu hết các ứng dụng hiện nay đang dùng MPGA, PLD và các mạch tích
hợp loại nhỏ (SSI).
-

Các mạch tích hợp là ứng dụng đặc biệt FPGA là thiết bị tổng quát nhất để
thực hiện các mạch lôgic số. Chúng đặc biệt thích hợp cho các mạch tích hợp

-

chuyên dụng đặc biệt (ASIC) như bộ cộng, bộ điều khiển logic Flip-Flop...
Thiết kế mạch ngẫu nhiên mạch logic ngẫu nhiên thường được thực hiện
bằng PAL. Nếu tốc độ của mạch không đòi hỏi khắt khe (các PAL nhanh hơn
hầu hết các FPGA) thì mạch có thể thực hiện bằng FPGA. Hiện nay một

FPGA cần từ 10 đến 20 PAL.

Thiết kế bộ vi xử lý SOCP trên nền FPGA


Trang 7/51

-

Thay thế các chip SSI cho mạch ngẫu nhiên: các mạch hiện tại trong các sản
phẩm thương mại thường chứa nhiều chíp SSI và ta có thể thay thế bằng

-

FPGA để giảm diện tích bo mạch.
Giá thành thực hiện thấp và thời gian thiết kế vật lý ngắn, cung cấp các ưu
điểm hơn nhiều so với các phương tiện truyền thống khác để chế tạo mẫu
phần cứng. Các mẫu ban đầu có thể thực hiện rất nhanh và những thay đổi

-

sau đó được thực hiện rất nhanh và ít tốn kém.
Một loại máy tính dựa trên FPGA có thể tái lập trình ngay trên FPGA. Các
máy này có một bo mạch chứa các FPGA với các chân nối với các chip lân
cận giống như thông thường. Ý tưởng là một chương trình phần mềm có thể
được “biên dịch” (sử dụng kỹ thuật tổng hợp mức cao, mức logic và mức sơ
đồ bằng tay) vào ngay phần cứng. Phần cứng này sẽ được thực hiện bằng
cách lập trình bo mạch FPGA. Lợi ích là không cần quá trình lấy lệnh như
các bộ xử lý truyền thống vì phần cứng đã gộp cả lệnh nên tốc độ có thể tăng
lên hàng trăm lần và môi trường tính toán có thể thực hiện song song mức


-

cao, làm tăng tốc thêm nữa.
Tái cấu hình thành phần trực tiếp FPGA cho phép có thể thay đổi theo mong
muốn cấu trúc của một máy đang hoạt động.

1.1.4 So sánh FPGA với các công nghệ khác
 FPGA với CPLD
Bảng 2-2: So sánh FPGA và CPLD [3]

FPGA
CPLD
Là linh kiện logic lập trình được.
Giống nhau

Là các cell logic.

Khác nhau

Là sự kết hợp của một khối logic và Flip-Flop.
Là linh kiện fine-grain
Là linh kiện "coarse-

Thiết kế bộ vi xử lý SOCP trên nền FPGA


Trang 8/51

grain", nghĩa là mật độ

mật độ cell logic lớn vì

các cell logic rất ít (xét

kích thước các khối

trên cùng diện tích với

logic nhỏ.

FPGA) vì kích thước
các khối logic lớn.
Giống EEPROM

Giống RAM
Có nhiều tài nguyên
định tuyến đặc biệt để
thực hiện các chức năng

Không có.

toán học như các bộ
đếm, bộ cộng, bộ so
sánh, v.v…
 FPGA với ASIC
Bảng 2-3: So sánh FPGA và ASIC [3]

Time to market
NRE
Quy trình thiết kế

Khả năng lập trình lại
thiết kế
Tái sử dụng
Công suất
Giá cả thị trường
Tốc độ
Công cụ thiết kế

FPGA
Ngắn
Không có
Đơn giản

ASIC
Dài

Phức tạp

Dễ dàng

Khó khăn

Được
Lớn
Đắt
Chậm hơn
Rẻ

Không
Nhỏ

Thấp
Nhanh hơn
Đắt

1.4 Mô hình bộ vi xử lý hiện đại
1.1.5 Khái niệm về bộ vi xử lý (CPU)
- Là các mạch điện tử trong một máy tính, thực hiện các câu lệnh của chương
trình máy tính bằng cách thực hiện các phép tính số học, logic, so sánh và
các hoạt động nhập/xuất dữ liệu (I/O) cơ bản do mã lệnh chỉ ra.
-

Thành phần chủ yếu của CPU bao gồm các bộ phận số học logic (ALU) thực
hiện phép tính số học và logic, các thanh ghi lưu các tham số để ALU tính
toán và lưu trữ các kết quả trả về, và một bộ phận kiểm soát với nhiệm vụ

Thiết kế bộ vi xử lý SOCP trên nền FPGA


Trang 9/51

nạp mã lệnh từ bộ nhớ và "thực hiện" chúng bằng cách chỉ đạo các hoạt động
phối hợp của ALU, các thanh ghi và các thành phần khác.
1.1.6 Bộ vi xử lý SoCP
- Đây là thành phần kết hợp của nhiều thứ như các bộ vi xử lý (CPU), chip xử
lý đồ họa (GPU), RAM và cũng có thể cả ROM, trình điều khiển USB và các
công nghệ không dây cùng nhiều thứ khác nữa.
-

Ý tưởng đằng sau SoC là đưa tất cả những thành phần quan trọng của thiết bị
vào một diện tích nhỏ trên thiết bị.


-

Mục tiêu là để giảm kích thước vật lý của chúng trên bo mạch và giúp cho
thiết bị chạy nhanh hơn, tiêu hao điện năng hiệu quả hơn. Ngoài ra, nó còn
giúp làm giảm chi phí lắp ráp sản phẩm.

 Cấu trúc cơ bản của một SoC
-

CPU: Bộ vi xử lý chính, điều khiển toàn bộ hoạt động của hệ thống.

-

Hệ thống BUS (bus system): Là cầu nối phục vụ cho mục đích truy xuất dữ
liệu đến một thành phần trong hệ thống. Trong một SoC phức tạp, sẽ có
nhiều hệ thống bus được nối với nhau và với các module khác nhau. Các
BUS này sẽ có tầng số hoạt động khác nhau ứng với module mà nó kết nối
(Giống như việc chạy xe trên đường cao tốc và trong nội thành). Có thể tìm
hiểu về kiến trúc AMBA BUS (AHB, APB, AXI) (AMBA = Advanced
Microcontroller Bus Architecture)

-

INTC: Điều khiển ngắt cho hệ thống. Đối với một số kiến trúc ARM CPU,
INTC là một thành phần gắn liền (đi kèm với CPU).

-

Peripheral: Các module có sự tương tác trực tiếp với một module bên ngoài

khi kết nối với chip, ví dụ như USB2.0 controller hoặc ADC.

-

RAM controller: Điều khiển bộ nhớ ngoài của chip

-

Clock và Reset: Bộ điều khiển xung clock và reset của hệ thống

-

Bộ điều điểu khiển IN/OUT: Điều khiển trạng thái của từng pin là input hoặc
output ứng với một chức năng cụ thể nào đó của từng module.

-

Các module thông dụng như Timer, WatchDog, DMAC, ..

Thiết kế bộ vi xử lý SOCP trên nền FPGA


Trang 10/51

-

Ngoài ra, trong SoC không thể thiếu các module xử lý chính phục vụ cho
một mục đích cụ thể nào đó. Ví dụ SoC xử lý về âm thanh, hình ảnh, sẽ có
những module được thiết kế tương ứng để phục vụ cho việc xử lý âm thanh
và hình ảnh riêng biệt.


 Một số hình ảnh về SoC

Hình 2-5: SoC của Galaxy S4 cũ [4]

Hình 2-6: Mô hình SoC từ Snapdragon 410 Qualcomm [4]

Thiết kế bộ vi xử lý SOCP trên nền FPGA


Trang 11/51

Hình 2-7: Mô hình SoC BCM5862X từ Broadcom [4]

 Ưu, nhược điểm của SoC
Bàng 2-4: Ưu và nhược điểm của SoC

Ưu điểm
 Một SoC thường nhỏ và không mất

Nhược điểm

nhiều không gian bên trong một thiết bị
điện tử, khiến nó trở thành một giải
pháp hoàn hảo cho các thiết bị nhỏ như

SoC

điện thoại thông minh, máy tính bảng,


 Khó nâng cấp.

hoặc thiết bị đeo,...

 Khó sửa chữa,

 Có kích thước nhỏ và tích hợp nhiều
phần khác nhau trên một con chip duy
nhất.
 Quá trình sản xuất ít tốn thời gian.
 Chi phí sản xuất thấp.
 Sử dụng công suất thấp ít hao pin.

Thiết kế bộ vi xử lý SOCP trên nền FPGA

khi hư thay đổi
toàn bộ SoC.


Trang 1/51

1.1.7 Các vi xử lý tiên tiến dựa trên kiến trúc INTEL IA-32
 Giới thiệu IA-32
IA-32 là kiến trúc 32 bit 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).
Chế độ quản lý hệ thống SMM.

Bảng 2-5: Các chế độ của IA-32 [5]

Chế độ căn bản của bộ xử lý cho phép
Chế độ bảo vệ

chạy các phần mềm 8086 trong môi
trường đa nhiệm và bảo vệ (chế độ 8086
ảo)
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

Chế độ đại chỉ thực

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ý.
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ư

Chế độ quản lý hệ thống SMM

quản lý năng lượng hay bảo mật hệ
thống đượ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.

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:
Bảng 2-6: Các tài nguyên tạo nên môi trường thực thi chương trình [5]


Không gian địa chỉ

Thiết kế bộ vi xử lý SOCP trên nền FPGA

Bất cứ chương trình nào đều có thể đánh


Trang 2/51

đị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ác thanh ghi thực thi căn bản

Các thanh ghi dấu phẩy động x87FPU

cách đánh địa chỉ mở rộng.
8 thanh ghi dùng chung, 6 thanh ghi
đoạn, thanh ghi cờ và con trỏ lệnh EIP.
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
Hỗ trợ các thao tác số nguyên và số thực

Các thanh ghi MMX

được xếp vào các gói 128 bit

Thực hiện được nhiều hơn 1 lệnh trong 1

Các thanh ghi XMM

chu trình lệnh như kỹ thuật đường ống,
siêu vô hướng, hay siêu phân luồng.
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ác thế hệ Pentium

cơ chế thực thi không theo trật tự hoặc
vô hướng (out-of-order execution).

 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 2-7: Vi xử lý hỗ trợ IA-32 [5]

Thiết kế bộ vi xử lý SOCP trên nền FPGA


Trang 3/51

1.1.8 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 bit hỗ trợ không
gian nhớ vật lý tới 40 bit 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:

Bảng 2-8: Các chế độ mới của IA-64 [6]

Chế độ tương thích

Cho phép chạy các ứng dụng 16 và 32
bit mà không phải biên dịch lại giống

Thiết kế bộ vi xử lý SOCP trên nền FPGA


Trang 4/51

chế độ bảo vệ trong IA-32. Có thể sử
dụng không gian nhớ lớn hơn với chế độ
mở rộng địa chỉ vật lý.
Cho phép chương trình truy nhập không
gian nhớ tuyến tính 64 bit. Chế độ này

Chế độ 64 bit

mở rộng số lượng các thanh ghi dùng
chung và thanh ghi XMM từ 8 lên 16.

Bảng 2-9: Vi xử lý hỗ trợ IA-64 [6]

Thiết kế bộ vi xử lý SOCP trên nền FPGA


Trang 5/51


Thiết kế bộ vi xử lý SOCP trên nền FPGA


Trang 6/51

1.1.9 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. 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ề.
Vi xử lý hỗ trợ SPARC 32 bit 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.

Thiết kế bộ vi xử lý SOCP trên nền FPGA



Trang 7/51

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 bit 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 2-10: Tính năng của một số vi xử lý SPRAC [6]

1.5 Khái quát về LED.
1.1.10 Khái niệm LED

Thiết kế bộ vi xử lý SOCP trên nền FPGA


Trang 8/51

Hình 2-8: LED [7]

LED (Diod phát quang) là các Diode có khả năng phát ra ánh sáng hay tia hồng
ngoại, tử ngoại. Cũng giống như Diode, LED được cấu tạo từ một khối bán dẫn loại
p ghép với một khối bán dẫn loại n.
1.1.11 Cấu tạo
- Cơ bản, đèn LED chỉ là bóng đèn nhỏ tích hợp dễ dàng vào một mạch điện.
Nhưng không giống như bóng đèn sợi đốt thông thường, chúng không có
một sợi đốt bị nung nóng nên chúng không bị nóng quá mức. Chúng được
chiếu sáng bởi sự chuyển động của các electron trong một vật liệu bán dẫn.
Tuổi thọ của một đèn LED vượt xa tuổi thọ ngắn ngủi của một bóng đèn sợi
đốt hàng ngàn giờ. Đèn LED nhỏ xíu đã thay thế các ống ánh sáng HDTVs
LCD để làm Tivi mỏng đáng kể.


Thiết kế bộ vi xử lý SOCP trên nền FPGA


×