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

Thiết kế CPU, các sản phẩm của Intel

73 1,3K 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 73
Dung lượng 3,91 MB

Nội dung

- Clock: Mạch xung nhịp đồng hồ hệ thống dùng để đồng bộ các thao tác xử lítrong và ngoài CPU theo các khoảng thời gian không đổi.- Có liên hệ thông tin với tất cả các đơn vị trong Bộ VX

Trang 1

BÀI TẬP KIẾN TRÚC MÁY TÍNH

Trang 2

I. Giới thiệu về CPU

1. CPU là gì ?

CPU (Central Processing Unit) được gọi là microprocessor hay processor –

là một đơn vị xử lý trung tâm, được xem như não bộ, một trong những phần tử cốtlõi nhất của máy vi tính

2. CPU ra đời từ đâu ?

Trong lịch sử phát triển của mình, chiếc máy tính đã phát triển từ một chiếcmáy chữ đơn thuần thành một thiết bị đóng vai trò căn bản trong phương thức màhàng triệu con người chúng ta làm việc, liên lạc, học tập, giải trí và còn nhiều môhình sử dụng khác nữa Việc giới thiệu chiếc máy tính cá nhân IBM đầu tiên năm

1981 đã đánh dấu một bước ngoặt cơ bản trong ngành công nghiệp điện toán

3. Giai đọan phát triển của CPU

a. Thập niên 70

Đây là dòng sản phẩm đầu tiên do Intel phát triển dùng cho các máy PC.IBM chính là nhà sản xuất máy tính cá nhân đầu tiên sử dụng loại CPU này.Những CPU tiêu biểu là seri 8086 (sản xuất năm 1978) và seri 8088 (sản xuất năm1979) có thể truy cập được 1MB bộ nhớ

Vi xử lý thế hệ thứ 1

b. Thập niên 80

Được giới thiệu năm 1982, CPU 80286 của Intel một lần nữa đã khẳng địnhđược vị thế của mình Nhờ tính tương thích với những CPU của thế hệ trước nênnhững chương trình viết trước đó đều hoạt động bình thường trên CPU 80286

Trang 3

Vi xử lý thế hệ thứ 2

Là bước tiến quan trọng trong việc chuyển đổi cách xử lý các số liệu từ dạng16bit thành dạng 32bit CPU 80386 ra đời năm 1985 được thiết kế tối ưu cho cáchoạt động tốc độ cao Sử dụng cho các hệ điều hành cao cấp như Windows 3x vàWindows NT với khả năng thực hiện nhiều tác vụ (multitasking) cùng lúc

Vi xử lý thế hệ thứ 3

Giảm thời gian thực thi 1 câu lệnh: để hoàn thành 1 câu lệnh đơn giản thìCPU 486 sử dụng trung bình khoảng 2 chu kì xung clock trong khi CPU 386 cần 4chu kì xung clock Thiết kế bộ nhớ đệm trong cấu trúc của CPU giúp nâng cao tốc

độ xử lý Bổ sung tính năng “Burst-mode memory cycles” giúp truy xuất bộ nhớnhanh hơn Tích hợp bộ xử lý toán học nâng cao hoạt động, đồng thời với bộ xử lýtoán học có sẵn nhằm tăng cường khả năng tính toán cho CPU

Vi xử lý thế hệ thứ 4

c. Thập niên 90

Được thiết kế với những cấu trúc và tính năng mới, điển hình là dòng sảnphẩm Pentium của Intel và K5 của AMD.Intel Pentium Processor được giới thiệuvào ngày 19-10-1992, CPU Pentium tương thích hoàn toàn với các CPU của Intel

Trang 4

trước đó CPU Pentium có 32bit bus và 64bit data giúp cho CPU di chuyển lượng

dữ liệu gấp đôi so với các CPU thế hệ trước trong cùng một chu kì Các CPU IntelPentium thế hệ này hoạt động với xung clock khá cao (từ 75MHz đến 266MHz)như Pentium I, Pentium II, Pentium MMX

Vi xử lý thế hệ thứ 5

Được bổ sung nhiều chức năng mới hoàn toàn như: Dynamic Execution,Dual Independent Bus Thế hệ thứ 6 được bắt đầu vào khoảng tháng 11-1995(Pentium Pro) Kể từ đó, các sản phẩm tiếp theo đều có thiết kế căn bản tương tựnhư cấu trúc của Pentium Pro

Vi xử lý thế hệ thứ 6

Intel Celeron, Intel Pentium III: được giới thiệu vào tháng 2-1999, bổ sungthêm một số như: xử lý ảnh, đồ họa, xem phim, nghe nhạc, nhận dạng giọng nói

Trang 5

Intel Celeron, Intel Pentium III

d. Thập niên đầu thế kỉ 21

Là thế hệ của CPU Pentium 4 dùng kiến trúc NetBurst do Intel sản xuất.Dòng CPU Pentium kết thúc vào ngày 27 tháng 7 năm 2006 và được thay thể bởidòng Intel Core (sử dụng nhân "Conroe")

CPU Pentium 4

Đặc trưng của vi xử lý thế hệ này là CPU có khả năng xử lý dữ liệu 64bit.Intel Itanium and Itanium 2: được thiết kế với công nghệ 90nm dùng cho các máychủ hoặc trạm cần hiệu năng cao Itanium là CPU đầu tiên của Intel có cấu trúc64bit được giới thiệu vào ngày 21-5-2001 Itanium 2 là CPU dành cho server đượcgiới thiệu vào tháng 6-2002

Intel Itanium and Itanium 2

Trang 6

AMD Athlon 64 & AMD Athlon 64 FX: là CPU 64bit dành cho máy tính

cá nhân thông thường với bộ điều khiển bộ nhớ được tích hợp trong CPU giúp truyxuất dữ liệu trực tiếp vào bộ nhớ với thời gian nhanh nhất.Điểm khác biệt giữaAthlon 64 và Athlon 64 FX là dung lượng cache và độ rộng của bus bộ nhớ

AMD Athlon 64 & AMD Athlon 64 FX

II. Cấu trúc CPU (Central Processing Unit : Đơn vị xử lý trung tâm):

Trang 7

Có 3 khối chính:

1. Bộ điều khiển : Control Unit CU

Nhận lệnh từ bộ nhớ

Giải mã lệnh và phát tín hiệu thực hiện lệnh

2. ALU (Arilthmetic and Logic Unit)

Thực hiện các phép toán số học và logic

3. Register Set (Tập các thanh ghi)

Là những ngăn nhớ đặc biệt nằm ngay bên trong vộ VXL dùng để lưu trữcác dữ liệu tạm thời giúp cho hoạt động của bộ nhớ

Ngoài ra còn có:

Đơn vị nối ghép bus(Bus interface Unit - BIU):

Trang 8

kết nối và trao đổi thông tin giữa bus bên trong (internal bus)và bus bênngoài (external bus)

Mô hình kết nối đơn vị điều kiển

1. Bộ điều khiển : Control Unit CU

Trang 9

- Clock: Mạch xung nhịp đồng hồ hệ thống dùng để đồng bộ các thao tác xử lítrong và ngoài CPU theo các khoảng thời gian không đổi.

- Có liên hệ thông tin với tất cả các đơn vị trong Bộ VXL bởi nó điều khiểntoàn bộ hoạt động xử lý thông tin bên trong Bộ VXL

- Kết quả giải mã lệnh dược đưa đến khối logic điều khiển CL (Control Logic)tạo ra chuỗi các tín hiể để điều khiển quá trình ghi đọc với các thanh ghi bêntrong, tính toán ALU

- Từ CL, các xung tín hiệu điều khiển đi ra bus điều khiển của hệ thống tácđộng đến BN hoặc đơn vị I/O để thực hiện trao đổi dữ liệu

- CL nhận tín hiệu điều khiển từ bên ngoài, như tín hiệu ngắn (INT, NMI),HOLD, RESET để xử lý bên trong trước khi đưa ra các tín hiệu trả lờinhư: chấp nhận ngắt INTA, dừng HALT…

- CL quyết định thứ tự làm việc của từng đơn vị bộ VXL và sự trao đổi thôngtin với thế giới bên ngoài chip VXL

- CL là trung tâm điều khiển của BVXL

2. ALU (Arilthmetic and Logic Unit)

Trang 10

- Chứa khối logic thực hiện xử lý dữ liệu

- ALU là một phần tử cơ bản của CPU của một máy tính

- Bộ VXL chứa rất nhiều và rất phức tạp các ALU

- Một ALU phải xử lý các số sử dụng nhị phân cùng form với các mạch điện

tử, đó là hệ nhị phân 1 và 0

- Mỗi ALU có một thiết kế khác nhau, nhưng đều theo qui tắc mã bù hai Từ

đó, bộ ALU dễ dàng tính toàn các phép cộng trừ

- Thực hiện các phép tính số học và logic: and, sub, mul, div, and, or, not

Shift left, shift right, decr, incr

- Có hai cổng vào để nhận dữ liệu vào ALU và cổng ra để lấy kết quả xử lý dữliệu của ALU ra ngoài

- Các thanh ghi temp1 và temp2 làm nhiệm vụ nhận dữ liệu từ các nơi khácnhau bên trong bộ VXL thông qua bus dữ liệu bên trong và lưu trữ trunggian dữ liệu trong quá trình xử lý dữ liệu trong ALU

- Tương tự, cổng ra kết nối với bus dữ liệu bên trong do đó kết quả phép toàn

có thể được ra tới các nơi khác nhau, dữ liệu thường được đưa tới nơi bộcộng

- Các lệnh máy được ALU xử lý có thể là 1 hay 2 toán hạng

- Lệnh máy được đọc từ BN vào Bộ VXL được giải mã nhờ bộ giải mã lệnh

để tạo ra chuỗi các tín hiệu đi tới ALU điều khiển quá trình xử liệu trongALU

3. Register Set (Tập các thanh ghi)

Là vùng nhớ được CPU nhận biết qua tên thanh ghi và có tốc

độ truy xuất cực nhanh

Trang 11

Chứa thông tin tạm thời phục vụ cho hoạt động ở thời điểmhiện tại của CPU

Số lượng thanh ghi tùy thuộc vào bộ vi xử lý cụ thể  tănghiệu năng CPU

Được chia thành nhóm theo mục đích sử dụng

a Nhóm thanh ghi dùng chung:

+ Thanh ghi A (bộ cộng), B, C, D, E, H, L : 8 bit

+ để xử lý 16 bit, có các lệnh thực hiện với các cặp thanh ghi BC, CE, HL Các thanh ghi khác : thanh ghi trạng thái (SR), con trỏ ngăn xếp (SP), thanhđếm lệnh (PC), thanh ghi lệnh (instruction register),…

* Thanh ghi tổng A (accumulator):

- tham gia phần lớn các phép tinh

- độ dài của thanh tổng có thể tính bằng độ dài từ hoặc gấp đôi độ dài từ củaBVXL

- những lệnh I/O với ngoại vi là nhóm lệnh trao đổi byte d.liệu giữa thanhghi tổng A với các thanh ghi của điều khiển ngoại vi

- Lệnh nhập d.liệu IN PORT là lệnh đọc d.liệu từ cổng của ngoại vi vàothanh ghi A và OUT PORT là đọc nội dung thanh ghi A ra port ngoại vi

* Thanh đếm chương trình PC (program counter)

- 1 chương trình đc BVXL thực hiện phải chứa trong BN chính PC chứađ.chỉ của lệnh trong BN và chỉ ra cho BVXL biết lệnh tiếp theo nằm ở ngănnhớ nào để lấy ra thực hiện

- trong các BVXL công nghệ cao có cơ chế quản lý BN ảo Cơ chế đánh địachỉ ảo có sự biến đổi đ.chỉ ảo thành đ.chỉ VL nội dung của đ.chỉ lệnh sẽphức tạp

* Thanh ghi trạng thái SR (status register)

- dùng để ghi kết quả của các lệnh k.tra, s.sánh và 1 số lệnh tính toán với cácthanh ghi

- thanh ghi trạng thái còn đgl thanh ghi cờ, s/dụng các bit cờ có thể thực hiện

rẽ nhánh chương trình = các lệnh nháy và rẽ nhánh có đ.kiện

* Con trỏ ngăn xếp SP (stack pointer)

- Ngăn xếp là BN có cơ chế truy cập theo kiểu LIFO, luôn đc truy cập ở đỉnhTOP Nó làm nhiệm vụ lưu trữ những thông tin phải dùng đi dùng lại nhiềulần

- Các lệnh tác động đến ngăn xếp: call, ret, int, …

- Các lệnh chuyên dùng để cất giữ n.dung và phục hồi các thanh ghi củangăn xếp là push và pop, các lệnh này làm thay đổi đỉnh của ngăn xếp

Trang 12

- Con trỏ ngăn xếp SP chứa đ.chỉ của đỉnh ngăn xếp và n.dung của SP sẽthay đổi mỗi khi thực hiện các lệnh vừa nêu trên

- khi khởi động hệ thống máy tính, con trỏ ngăn xếp luôn đc khởi tạo về địachỉ đỉnh của ngăn xếp

* Thanh ghi đ.chỉ BN và logic (memory address register and logic)

- có độ dài 16 bit, các đầu ra của nó đc điều khiển nối ra bus đ/c của h.thốngmáy tính để thực hiện chọn ngăn nhớ or để chọn cổng ngoại vi nào đó

- Trong chu kì đọc lệnh, 1 lệnh máy đc đọc từ BN, lúc này ndung thanh ghiđ/c ngăn nhớ và n.dung của thanh đếm lệnh PC là như nhau, nghĩa là thanhghi đ.chỉ BN trỏ tới từ lệnh đang đc đọc từ BN

- Thanh ghi đchỉ BN không thể tự động tăng hay giảm ndung mà nó nhậnđchỉ lệnh từ PC, từ SP và thanh ghi chỉ số

- Phụ thuộc vào các loại VXL, nó có thể có đ.dài khác nhau: 16, 32, 64 bit

* Thanh ghi lệnh IR (instruction register)

- chứa lệnh đang thực hiện

- như là bộ đệm duy trì ndung mã lệnh và đầu ra của IR đưa tới bộ giải mãlệnh để tạo ra chuỗi các tín hiệu điều khiển thực hiện lệnh

III. Chức năng và hoạt động của CPU

1. Chức năng của CPU:

Điều khiển hoạt động của máy tính

Xử lý dữ liệu

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

CPU hoạt động theo chương trình nằm trong bộ nhớ chính

2. Hoạt động của CPU:

• Giai đoạn nạp:

Lấy lệnh và dữ liệu, đọc các lệnh của chương trình và dữ liệu cần thiếtvào bộ xử lý

• Giai đoạn giải mã:

Xác định mục đích của lệnh và chuyển nó đến phần cứng tương ứng

• Giai đoạn thực thi:

Có sự tham gia của phần cứng, với lệnh và dữ liệu đã được nạp sẵn,các lệnh sẽ được thực hiện.Quá trình này có thể gồm các tác vụ nhưcộng, chuyển bít hay nhân thập phân động

Trang 13

• Giai đoạn hoàn tất:

Lấy kết quả của giai đoạn thực thi và đưa vào thanh ghi của bộ xử lýhay bộ nhớ chính

Ví dụ: CPU thực hiện tính toán biểu thức:

Cache chỉ thị lệnh chứa dữ liệu 2=X

Dữ liệu mới từ bộ nhớ chính được

đưa vào vi xử lý thông qua các BUS;

được lưu trữ vào IC, khi đó, dữ liệu

được gán một mã ‘2=X’

Trang 14

IC cung cấp bản sao dữ liệu

Trang 15

PU chuyển một bản sao của mã

đến vi xử lý và được lưu trữ tại IC

với mã ‘X+Y=Z’, biểu thị phép tính

CỘNG

Trang 16

Tại CU, mã lệnh được xử lý,

lệnh CỘNG (ADD) được gửi

đến ALU, nơi mà ‘X’ và ‘Y’

được cộng lại; sau đó, chúng

được gửi đến DC ALU liên lạc

với các Thanh ghi (Registers) và

gửi kết quả ‘5’ đến đó để được lưu

trữ tại một trong các địa chỉ

BUS, sau đó được lưu trữ tại một địa

chỉ trong IC với mã lệnh ‘Print Z’.PU yêu cầu

một bản sao của mã lệnh

‘Print Z’ để chuyển đến DU chờ xử lý

Tại DU, mã lệnh ‘Print Z’ được dịch

Trang 17

và giải mã thành chuỗi các số nhị phân,

rồi chuyển chuỗi đó đến CU chờ xử lý

Lúc này, giá trị của Z đã được tính toán

xong (ở bước 3) và kết quả đang được lưu

trữ tại các thanh ghi (Registers) Lệnh

Print chỉ nhận về nội dung của thanh ghi

chứa kết quả và xuất nó ra màn hình để

bạn có thể thấy kết quả cuối cùng Đến đây,

CPU đã giúp người dùng tính xong phép

toán ‘2+3=5’

IV. Phương pháp thiết kế CPU

1. Bottom – up methodology ( phương pháp từ dưới lên )

Phương pháp từ dưới lên bắt đầu ngay cả trước khi các công cụ aided

Trang 18

CAD(computer-Design – máy tính hỗ trợ thiết kế) đã được phát minh Nó vẫn còn được sử dụngtrong nhiều ngành công nghiệp hiện nay, bởi vì nó sau một phương pháp trực quancủa việc xây dựng các bộ phận trước khi lắp ráp toàn bộ sản phẩm.

Phương pháp bottom-up là phương pháp thường dùng để xây dựng phần mềm lớn,

phức tạp Ý tuởng của phương pháp này là xuất phát từ nhiều thành phần nhỏ đã cósẵn, ta khéo kết hợp chúng lại để tạo ra thành phần chức năng lớn hơn, ta tiếp tụckết hợp các thành phần xây dựng được để tạo ra thành phần lớn hơn nữa chođến khi xây dựng được chương trình giải quyết được bài toán mong muốn

Trong một phương pháp điển hình từ dưới lên, các nhà thiết kế phát triển các thànhphần của CPU và sau đó lưu trữ chúng trong một thư viện để sử dụng vào mức độtrừu tượng cao hơn tiếp theo

Hình 2.1 bottom – up methodoly

Trang 19

Như chúng ta thấy trong hình 2.1, có bóng bán dẫn (transistor ), có thư việnlogic ,RTL(register transfer language – ngôn ngữ chuyển giao thanh ghi, chẳng hạnnhư Verilog và VHDL,là các chương trình ngôn ngữ bậc cao được tạo ra để môphỏng phần cứng máy tính), và xử lý các thành phần(processor components) Cácthành phần trong mỗi thư viện được sử dụng để xây dựng các thành phần trong thưviện trên cấp độ trừu tượng tiếp theo

1, Ở cấp độ vi mạch (circuit level), sử dụng bóng bán dẫn và phát triển các mạch

và bố trí cho logic cơ bản các thành phần như gates, flip-flops, bus drivers, vànhững thứ khác Các thành phần này trở thành tế bào tiêu chuẩn cho thiết kế cấpcao hơn( design level) và nhiệm vụ bố trí (layout tasks) Những tế bào tiêu chuẩn,với chức năng, cấu trúc, và bố trí của chúng, được lưu trữ trong thư viện thànhphần logic để sử dụng vào mức độ Logic trong hình 2.1

2, Ở cấp độ logic ( logic level), chúng ta tạo ra các đăng ký chuyển các thành phầnnhư registers, registes file, ALUs (đơn vị số học và logic),, multipliers (hệ số nhân)

và các thành phần khác cho kiến trúc vi xử lý bằng cách sử dụng các biểu thứcBoolean hoặc mô hình FSM và FSMD(cấu trúc xử lý dữ liệu và điều khiển) Saukhi lý tổng hợp logic các thành phần RTL, chúng ta thực hiện vị trí và định tuyếnvới các tế bào tiêu chuẩn cho mỗi thành phần và lưu trữ chúng trong thư viện thànhphần RTL

3, Ở mức độ xử lý ( processor) , chúng ta bắt đầu với C code, hoặc thiết lập mộtHướng dẫn và tạo ra các cấu trúc của các yếu tố xử lý (processing elements - PEs)hoặc các yếu tố truyền thông (communication elements - CEs) Ở cấp độ này,chúng ta cũng thực hiện floorplanning, vị trí (placement), và định tuyến ( routing)của những PEs hoặc CEs bằng cách sử dụng các thành phần từ thư viện RTL, vàlưu trữ chúng trong thư viện bộ xử lý

4, Ở cấp độ hệ thống ( system level), chúng tôi bắt đầu với một mô hình tính toán (MoC ) và tạo ra các cấu trúc hệ thống bao gồm nhiều PES và CES từ các thànhphần Bộ xử lý thư viện Cuối cùng, chúng ta thực hiện việc bố trí hệ thống bằngcách sử dụng

bố trí thành phần từ các thư viện xử lý ( processor library) Lưu ý rằng mỗi thànhphần

Trang 20

thư viện có các mô hình chức năng, cấu trúc, và bố trí cho mỗi thành phần trongthư viện Vì vậy, bằng cách tạo ra các thành phần và lưu trữ chúng trong các thưviện, sau đó chúng ta có thể áp dụng chúng trong mỗi cấp độ trừu tượng kế tiếp.

=> Ưu điểm của phương pháp từ dưới lên là mức độ trừu tượng tách ra rõ ràng,đều có thư viện riêng của mình Điều này cho phép các địa điểm trên toàn cầu phânphối cho thiết kế trên mỗi cấp độ trừu tượng, và để dễ dàng quản lý thiết kế

Trên mỗi cấp độ trừu tượng, vì mỗi nhóm cung cấp một thư viện thành phần

tiếp theo mức độ trừu tượng Tuy nhiên, bất lợi của phương pháp này là

các thư viện phải bao gồm có thể tất cả các thành phần với tất cả các thông số

và phải được tối ưu hóa cho các số liệu cần thiết bởi bất kỳ ứng dụng hiện tại vàcác ứng dụng có thể trong tương lai Đây là một nhiệm vụ rất khó và không baogiờ kết thúc vì nó là rất khó để dự đoán mức độ trừu tượng thấp hơn tất cả các nhucầu về

mức độ trừu tượng cao hơn Mỗi thiết kế được thực hiện từ mức cổng trước , vớithiết kế ngày càng phức tạp nên phương pháp này thường khó quản lý và sửa lỗi ,đặc biệt các vi xử lý với hàng triệu transistor Các thiết kế theo phương

pháp bottom-up thông thường phải đưa ra cấu trúc mới , cách thiết kế phân cấp

mới nếu không sẽ khó quản lý những thiết kế phức tạp

2. Top – down methodology ( phương pháp từ trên xuống)

Phương pháp phân tích top-down là phương pháp thường dùng để xây dựngchương trình giải quyết bài toán lớn, phức tạp Ý tuởng của phương pháp này làphân rã bài toán phức tạp thành nhiều thành phần nhỏ hơn, mỗi thành phần nhỏhơn sẽ được phân rã tiếp thành nhiều thành phần nhỏ hơn nữa Quá trình phân rã

sẽ dừng lại khi hoặc thành phần tìm được đã được giải quyết rồi hay đủ đơn giản

để hiện thực

Trong trái ngược với phương pháp từ dưới lên, phương pháp từ trên xuống không

cố gắng bố trí thành phần hoặc hệ thống cho đến khi toàn bộ thiết kế được hoànthành.Một

Trang 21

phương pháp từ trên xuống bắt đầu với một MOC cụ thể và tạo ra từ nó một nềntảng hệ thống hoặc cấu trúc hệ thống, trong đó mỗi thành phần có các thông số của

nó và các giá trị số liệu yêu cầu được xác định, nhưng không phải cấu trúc(structure) hoặc bố trí(layout) của nó Trên mức độ tiếp theo của sự trừu tượng,mỗi thành phần PE hoặc CE là tiếp tục phân thành các thành phần nhỏ hơn RTL

Ví dụ, trong hình 2.2, PE và CE thành phần đã được tạo ra ở cấp độ hệ thống(system level) được phân chia thành các thành phần RTL với các thông số và các

số liệu được xác định

Hình 2.2 top – down methodoly

Trang 22

Trong trường hợp này, mỗi đơn vị chức năng, chẳng hạn như ALU, có tất cả cácchức năng quy định, cũng như sự trễ delay và yêu cầu điện năng( powerrequirement) Sau khi được xác định, các thành phần RTL là tiếp tục phân thànhcác thành phần logic hoặc gates Cuối cùng, mỗi thành phần logic được chia thànhmột stransistor netlist,

trong đó mỗi bóng bán dẫn bố trí (transistor layout) đại diện cho một tế bào cơ bản( basic cells) Tất cả các tế bào cơ bản cho toàn bộ hệ thống, được đặt trên silicon

và kết nối phù hợp sử dụng vị trí và định tuyến các phương pháp và công cụ Nhưvậy Phương pháp từ trên xuống được sử dụng thiết kế cho mọi máy tính nhưngngày nay thiết kế quá phức tạp như vậy cho phương pháp hoàn chỉnh từ trên xuống

Nói chung, phương pháp từ trên xuống để lại vị trí và định tuyến cho bước cuốicùng

Bằng cách tránh bố trí trên các cấp độ khác của trừu tượng Thật không may,

số liệu các hệ thống và các thành phần không được biết đến cho đến khi bước cuốicùng và do đó nó là rất khó để tối ưu hóa thiết kế toàn bộ Sự phân chia thiết kếhoặc

tổng hợp phải được lặp đi lặp lại một lần nữa mà không có thiết kế thực sự biết liệutối ưu hóa được đi đúng hướng Để tránh quá nhiều bước lặp thiết kế, các nhà thiết

kế cần các khái niệm về đóng cửa số liệu trong đó giá trị khác nhau từ mức độ trừutượng thấp hơn số liệu được sử dụng để chú thích thiết kế trên mức độ trừu tượngcao hơn Trong trường hợp này, nhà thiết kế có thể ước tính tối ưu hóa giá trị sốliệu về mức độ trừu tượng thấp hơn trong quá trình thiết kế tiếp theo lặp đi lặp lạitrên các mức trừu tượng hóa cao hơn

3. Platform methodology

Hai phương pháp thiết kế được trình bày trong các phần trước đại diện cho cáctrường hợp lý tưởng của hai khái niệm thiết kế khác nhau Trong thực tế, phươngpháp thiết kế khác nhau từ công ty đến công ty và thậm chí giữa các nhóm khácnhau trong cùng một công ty Trong trường hợp này, hệ thống thiết kế thường bắtđầu với một nền tảng đã được xác định, thường là một định nghĩa bởi một nền tảng

Trang 23

của nhà cung cấp hoặc được xác định tại bên trong công ty Phương pháp được thểhiện trong Hình 2,5.

Hình 2.5 Platform methodology

Nền tảng này có thể đã có một số thành phần tiêu chuẩn, chẳng hạn như memory

và standard processors với bố trí được xác định rõ ràng hệ thống nền tảng cũng cóthể được nâng cấp với việc bổ sung các thành phần tùy chỉnh sẽ được tổng hợp với

bộ xử lý và các công cụ tổng hợp RTL, sau đó bố trí các thành phần tùy chỉnh này

có thể thu được thông qua các tế bào tiêu chuẩn(standard cell) Hơn nữa, importIPs cũng được chuyển đổi để bố trí standard cell Vì vậy, mỗi thành phần tùy chỉnhhoặc import IP có thể được định nghĩa với một netlist của tế bào tiêu chuẩn, đượckết hợp với netlists của custom components khác cho các tiêu chuẩn kết hợp tế bào

bố trí Như vậy tiêu chuẩn bố trí tế bào sau đó được kết hợp vào mức độ hệ thốngvới các bố trí của bộ vi xử lý tiêu chuẩn và các thành phần bộ nhớ bố trí vào hệthống nền tảng Khi sử dụng một nền tảng như vậy, chúng ta thực hiện thiết kế vật

Trang 24

lý hoặc bố trí ba lần: một lần cho các tế bào tiêu chuẩn, sau đó chúng ta sử dụngcác tế bào tiêu chuẩn cho bố trí các thành phần tùy chỉnh, và cuối cùng chúng ta sửdụng bố trí thành phần xử lý ( processor component) nền tảng cuối cùng.

Để đơn giản hóa thiết kế nền tảng, một số nền tảng có bố trí hệ thống cho tất cả cácthành phần xử lý tiêu chuẩn hoàn thiện với một số không gian mở trong bố trí tếbào tiêu chuẩn của các thành phần tùy chỉnh Khi đó, chúng ta thực hiện bố trí chỉ

có hai lần: một lần cho các tế bào tiêu chuẩn và thứ hai là thời gian chúng ta sửdụng các tế bào tiêu chuẩn cho cách bố trí của các thành phần tùy chỉnh

Phương pháp này hỗn hợp có lợi thế từ cả hai phương pháp từ dưới lên và từ trênxuống

kể từ khi xử lý với các thành phần tiêu chuẩn có sẵn từ các thư viện và các thànhphần tùy chỉnh có thể được chèn vào để tối ưu hóa ứng dụng Tuy nhiên, phươngpháp này có điểm yếu của yêu cầu chúng ta làm bố trí hơn một lần Ngoài ra, cácthành phần tùy chỉnh phải được điều chỉnh để phản ánh cơ cấu và cách bố trí cácyêu cầu của nền tảng nhất định

4. System methodology ( phương pháp hệ thống)

Phương pháp nền tảng có thể được nâng cấp lên phương pháp cấp hệ thống Mô tảkiến trúc tiêu chuẩn của các tế bào và trình biên dịch retargetable Một kiến trúc tếbào chứa một bộ xử lý parametrizable lập trình Các thông số bao gồm số lượng,loại và kích thước của thành phần, kết nối thành phần, và số lượng của các giaiđoạn đường ống ,các đơn vị chức năng, bộ điều khiển và các đường dữ liệu Mộtkiến trúc tiêu chuẩn như vậy tế bào có thể được tổng hợp trước với các tế bào tiêuchuẩn và đưa vào thư viện của các processor component hoặc được tạo ra theo yêucầu

Một phương pháp hệ thống cấp (system level) điển hình dựa trên các tế bào kiếntrúc nó được thể hiện trong hình 2.6 nó bắt đầu với MoC và tạo ra nền tảng kiếntrúc bao gồm các tiêu chuẩn hoặc tùy chỉnh kiến trúc tế bào Vì tất cả các tế bào

Trang 25

kiến trúc có các mô hình bố trí trong thư viện bố trí hệ thống cuối cùng thu đượcbằng cách kết hợp bố trí kiến trúc tế bào.

Hình 2.6 system methodology

Phương pháp này có lợi thế xử lý chỉ với hai lớp trừu tượng cao nhất Vì vậy, nó làrất phù hợp cho các chuyên gia ứng dụng với kiến thức tối thiểu và thiết kế hệthống xử lý Tuy nhiên, nó đòi hỏi một retargetable trình biên dịch để bao gồm các

tế bào kiến trúc khác nhau

V. Giới thiệu

1. Giới thiệu về ngôn ngữ VHDL

VHDL (VHDL là từ viết tắt của Very Hight Speed Intergrated CircuitHardware Description Language) là ngôn ngữ lập trình được thiết kế theocách mô tả hành vi của hệ thống số VHDL được phát triển vào những năm1980

VHDL có nhiều đặc điểm thích hợp mo tả hành vi của các thành phần thiết bịđiện tử từ những cổng lý luận đơn giản đến những bộ vi xử lý phức tạp Đặcđiểm của VHDL là cho phép mô tả chính xác hành vi của những mạch điện tử

Trang 26

Cũng giống như ngôn ngữ Pascal, C và C++, VHDL bao gồm những đặcđiểm hữu ích cho kỹ thuật thiết kế những cấu trúc và trình bày những đặcđiểm dữ liệu Không giống như những ngôn ngữ lập trình khác, VHDL cungcấp những đặc điểm cho phép để mô tả những sự kiện xảy ra.

2. Các đặc điểm của VHDL

- Đặc điểm tổng quát: VHDL có thể được sử dụng để lập tài liệu thiết kế, thiết

kế mức độ cao, mô phỏng tổng hợp và kiểm tra phần cứng VHDL cho phép

mô tả phần cứng từ mức hệ thống đến mức cổng, hỗ trợ tính đồng thời nghĩa

là từ các hợp phần nhỏ đến lớn hoạt động tại một thời điểm

- Hỗ trợ phân cấp thiết kế: Đây là đặc tính thiết yếu của ngôn ngữ phần cứng

đa cấp Thiết kế chứa một mô tả giao diện và một số phần độc lập để mô tảhoạt động Hoạt động của hệ thống có thể được đặc tả dựa trên chức nănghoặc dựa trên cấu trúc của những phần nhỏ hơn chúng Đặc tả cấu trúc cáchợp phần có thể được thực hiện ở tất cả các cấp thiết kế

- Có thư viện hỗ trợ: Ngôn ngữ cung cấp cơ chế để truy cập đến nhiều thư viện

khác nhau Thư viện không chỉ chứa đặc tả giao diện của thiết kế, mà cònchứa một số đặc tả của hệ thống Các đặc tả và các mẫu có thể dựa vào thưviện sau khi được dịch bởi chương trình dịch

- Có lệnh tuần tự: Khi người thiết kế phân chia hệ thống thành những hợp

phần đồng thời hay phần con, tiếp đó người thiết kế có thể mô tả chi tiết hoạtđộng bên trong bằng những cấu trúc ngôn ngữ lập trình tuần tự như các lệnhcase, if – then – else, loop, … Các lệnh tuần tự cũng cấp phương pháp đơngiản để tạo ra các hợp phần phần cứng dựa trên chức năng của chúng

- Thiết kế tương thích chung:Để thiết kế tổng quát ngôn ngữ cho phép người

thiết kế đặt cấu hình mô tả hợp phần có thống số chúng trong thiết kế Mô tảtương thích chung có thể thay đổi kích thước đặc tính vật lý, định thời đặctính tải và môi trường hoạt động của thiết kế

- Khai báo kiểu và cách dùng: Ngôn ngữ VHDL cho phép mô tả các kiểu bit,

boolean, integer, … Ngoài ra còn hỗ trợ các kiểu do người sửa dụng địnhnghĩa Ngôn ngữ VHDL cũng cho phép định nghĩa lại các toán tử của ngônngữ bởi người sử dụng

- Sử dụng các chương trình con: Ngôn ngữ VHDL cho phép định nghĩa các

hàm, thủ tục, các chương trình con có thể sử dụng để biến đổi các kiểu, địnhnghĩa dơn vị luận lý, định nghĩa lại toán hạng, định nghĩa toán tử mới và cácứng dụng khác trong ngôn ngữ lập trình

Trang 27

- Điều khiển định thời: Ngôn ngữ VHDL là cho phép đặc tả định thời ở tất cả

các cấp như là: đặt giá trị của tín hiệu, thời gian trễ, định nghĩa tín hiệu đồng

bộ, đặ độ rộng xung …

3. Các khái niệm cơ bản

Các khối

VHDL được mô tả thành những khối, khối đầu tiên là khối đơn vị thiết kế

Có 5 loại đơn vị thiết kế được phân thành hai phần là phần mô tả kiến trúcphần cứng và phần mềm

- Phần cứng gồm: Thực thể (entity), cấu hình (configuration), kiến trúc

(architecture)

- Phần mềm gồm: Gói (package) và thân gói (package body).

Giới thiệu hai đơn vị thiết kế cơ bản của VHDL

Hai đơn vị thiết kế cơ bản của VHDL là Entity declaration và Architecturebody

Một Entity là một mô hình sử dụng một khai báo thực thể và ít nhất có mộtthực thể kiến trúc Khai báo thực thể là mô tả tổng quát bên ngoài của mộtthực thể, ví dụ như: tên các tín hiệu input, output Thân của kiến trúc(Architecture body) là đi vào đặc tả bên trong của một thực thể, ví dụ thiết lập

sự nối kết liên tục của các thành phần mà đại diện cho cấu trúc của một thựcthể, hoặc tập hợp tất cả các phát biểu đồng thời hay liên tục mà đại diện cho

xử lý của thực thể

- Khai báo thực thể (Entity Delaration)

Khai báo thực thể là chỉ ta tên của mô hình cần thiết kế và danh sách các cổnggiao tiếp Cổng là những tín hiệu mà thực thể dùng để giao tiếp với những môhình khác trong môi trường tổng quát của nó

Trang 28

Ví dụ:

Entiy mach_cong is

Port (a,b: in bit; sl,c : out bit) End mach_cong

- Thực thể kiến trúc (Architecture body)

Mô tả chi tiết một thực thể được chỉ ra bởi kiến trúc của thực thể

Ví dụ: mô hình cho thực thể mach_cong, ở dạng cấu trúc (structural):

Architecture arc_mach_cong ofmach_cong is

G1: Xor port map(A, B, Sum);

G2: And port map(A, B, C);

Endarc_mach_cong;

Thực thể kiến trúc có tên là “arc_mach_cong” dùng những thành phần có sẵncủa ngôn ngữ VHDL như cổng And, Xor để nối kết chúng lại với nhau tạothành một cấu trúc cho thực thể

+ Mô tảkiến trúc theo mô hình hoạt động:

Mô hình hoạt động mô tảcác hoạt động của hệthống (hệthống đáp ứng

với các tín hiệu vào nhưthếnào và đưa ra kết quảgì ra đầu ra) dưới dạng các cấu trúc ngôn ngữlập trình bậc cao Cấu trúc đó có thểlà PROCESS , WAIT,

IF, CASE, FOR-LOOP…

Ví dụ:

Trang 29

+ Mô tảkiến trúc theo mô hình cấu trúc:

Mô hình cấu trúc của một phần tử(hoặc hệthống) có thểbao gồm nhiều

cấp cấu trúc bắt đầu từmột cổng logic đơn giản đến xây dựng mô tảcho mộthệ

thống hoàn thiện Thực chất của việc mô tảtheo mô hình cấu trúc là mô tảcác phần tửcon bên trong hệthống và sựkết nối của các phần tửcon đó

Trang 30

Tên_componemt port [ danh sách ];

VI. Mối quan hệ giữa ngôn ngữ VHDL và phần cứng

1. Các kiểu VHDL

Trong ngôn ngữ VHDL có các kiểu sau:

- Kiểu liệt kê được định nghĩa bằng cách liệt kê dánh sách cac giá trị, mỗi thànhphần của danh sách là một tên dành riêng hoặc là một ký tự số

Ví dụ:

Type STD_LOGIC is (‘U’,’X’,’0’,’1’,’H’,’-’);

Type STATE_TYPE is (HALT, READY, RUN, ERROR);

- Kiểu nguyên có hai loại:

+ Kiểu nguyên được định nghĩa như vùng con của kiểu tổng quát đã đượccài sẵn và các giới hạn phải được khai báo

Ví dụ:

Type LENGTH is range 0 to 1000;

Type BYTE_INT is range -128 to 127;

+ Kiểu nguyên được định nghĩa bởi người sử dụng

Trang 31

Ví dụ:

Type MY_INTEGET is INTEGER range 0 to 1000;

Signal MY_INT: MY_INTEGER;

- Kiểu mảng dùng để định nghĩa một tập chỉ số

Ví dụ:

Type WORD is array (10 down to 0) of bit;

- Kiểu record dùng để định nghĩa tập các kiểu khác nhau

Ví dụ:

Type CODE_TYPE is (NONE, DATA, STATMT);

Type ITEM_TYPE is record

CODE: CODE_TYPE;

INT: INTEGER;

End record;

2. Các đối tượng của ngôn ngữVHDL

Trong ngôn ngữ VHDL có một số đối tượng như hằng, biến, tín hiệu

- Hằng: là giá trị được xác địn trong suốt quá trình khởi tạo, các giá trị này

không đổi trong suốt quá trình thực thi

Ví dụ:

type TAB is array (BIT, BIT) of BIT;

Constant AND_TAB: TAB := ((‘0’,’0’),(‘0’,’1’));

- Biến: Giá trị của biến được cập nhật tức thời khi được gán.

Có 2 loại biến, biến cục bộ và biến toàn cục

+ Biến cục bộ có thể được khai báo tỏng các trương trình con hoặctrong trong các quá trình và qua trong là trong quá trình tổng hợp nơi

Các tín hiệu hiện hữu từ khi bắt đầu đến khi kết thúc của tá trình táitạo Không tạo ra tin hiệu mới hoặc không nối kết vậy lý với các tinhiệu được cho phép tỏng thời gian tái tạo

Các tín hiệu không có chứa đựng như các biến Các tién hiệu như lànhững đối tượng và có các kết nối được cố định với các tín hiệu khác

Ví dụ:

Trang 32

Signal A1, A2: BIT_VECTOR(DATA’range) ; Signal A3: BIT;

3. Các toán tử số học

- Các toán tử luận lý: or, and, nor, nand, xor, xnor nhận các toán hạng

kiểu: bit, boolean, vector.

Ví dụ:

Signal s, x,y: bit_vector(1 downto 0);

Signal r,a, b: bit;

Trang 34

Endnor2;

Architecturecomb of nor2 is Begin

S<= A nor B;

Endcomb;

- Các toán tử số học: Gồm 4 toán tử cơ bản cộng, trừ, nhân và chia.

Các toán tử này thường thực hiện trên kiểu dữ liệu số nguyên

(integer) Trong ngôn ngữ VHDL các toán tử ‘+’, ‘-’, ‘*’, ‘/’đã được

định nghĩa trước vì vậy có thể sử dụng mà không cần khai báo

Ví dụ:

Signal l1, l2 SUM_l: INTEGER range –16 to 15;

Signal N1, N2, SUM_N: INTEGER range 0 to 47;

+ Tính số học

Trang 35

Phép dịch phải số học được thực hiện dịch mảng sang phải và lấy bittrái nhất của giá trị ban đầu là bit trái nhất sau khi dịch

Phép dịch trái số học thực hiện dịch mảng sang trái và lấy bit phảinhất của giá trị ban đầu làm bit phải nhất của giá trị sau khi dịch

Ví dụ:

Giá trị ban đầu 10100101 Dịch phải số học 11010010 Dịch trái số học 01001011

- Bộ dồn kênh

Chức năng cơ bản của bộ dồn kênh là để chon lựa một đầu ra trongnhiều đầu vào, trong khi đó mạch phân kênh thực hiện thao tác ngượclại, một đầu vào được truyền đến một trong những đầu ra, các giá trịđầu ra khác giữ giá trị trước của chúng

Ví dụ:

Entity MUX2 is Port (A, B: in bit; Select_A: in bit; Z: out bit);

Trang 36

- Mạch cài

Mạch cài là tài nguyên bộ nhớ đơn giản nhất, đầu vào D được truyềnđến đầu ra Q khi tin hiệu điều khiển G tích cực nếu không thì giá trịtrước đó của D giữ nguyên trên Q

Ví dụ:

ENTITY LATCH IS Port (G: in BIT; D: in BIT; Q: out BIT);

Ví dụ:

Entity FF IS Port (clk: in BIT; D: in BIT; Q: out BIT);

End FF;

Architecture A of FF IS BEGIN

P_FF: process

Begin

If CLK =’1’ then Q <= D;

End if;

Ngày đăng: 21/08/2014, 14:23

HÌNH ẢNH LIÊN QUAN

Hình 2.2 top – down methodoly - Thiết kế CPU, các sản phẩm của Intel
Hình 2.2 top – down methodoly (Trang 21)
Sơ đồ phần cứng mô tả bộ dồn kênh. - Thiết kế CPU, các sản phẩm của Intel
Sơ đồ ph ần cứng mô tả bộ dồn kênh (Trang 35)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w