Thiết kế CPU
BÀI TẬP KIẾN TRÚC MÁY TÍNH
CHỦ ĐỀ: THIẾT KẾ CPU
NHÓM 8:
1. PHA LI NHA
2. NGUYỄN ĐÌNH THẮNG
3. PHẠM THỊ THỦY
4. NGUYỄN TỪ TOÁN
5. NGUYỄN THU THÙY
6. MAI VĂN THẮNG
Page 1 of 73
Thiết kế CPU
I.
1.
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ốt
lõi nhất của máy vi tính
2.
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ếc
má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.
a. !"#$
Đâ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ăm
1979) có thể truy cập được 1MB bộ nhớ.
Vi xử lý thế hệ thứ 1
b. !"%$
Đượ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ên
những chương trình viết trước đó đều hoạt động bình thường trên CPU 80286
Page 2 of 73
Thiết kế CPU
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ạng
16bit thành dạng 32bit. CPU 80386 ra đời năm 1985 được thiết kế tối ưu cho các
hoạ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 4
chu 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. !"&$
Đượ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ản
phẩm Pentium của Intel và K5 của AMD.Intel Pentium Processor được giới thiệu
vào ngày 19-10-1992, CPU Pentium tương thích hoàn toàn với các CPU của Intel
Page 3 of 73
Thiết kế CPU
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 Intel
Pentium 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ổ sung
thêm một số như: xử lý ảnh, đồ họa, xem phim, nghe nhạc, nhận dạng giọng nói.
Page 4 of 73
Thiết kế CPU
Intel Celeron, Intel Pentium III
d. !"'()*+,
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ởi
dò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áy
chủ hoặc trạm cần hiệu năng cao. Itanium là CPU đầu tiên của Intel có cấu trúc
64bit được giới thiệu vào ngày 21-5-2001. Itanium 2 là CPU dành cho server được
giới thiệu vào tháng 6-2002.
Intel Itanium and Itanium 2
Page 5 of 73
Thiết kế CPU
/-0123 /-01245: 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 truy
xuấ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ữa
Athlon 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. 678909::;<=>?@ABC;
Page 6 of 73
Thiết kế CPU
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):
Page 7 of 73
Thiết kế CPU
kết nối và trao đổi thông tin giữa bus bên trong (internal bus)và bus bên
ngoài (external bus)
.D)(E=>)
1. FG);00
Page 8 of 73
Thiết kế CPU
- 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ển
toà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ên
trong, 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ời
như: 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ông
tin với thế giới bên ngoài chip VXL
- CL là trung tâm điều khiển của BVXL
2. -H8-B9IH0C
Page 9 of 73
Thiết kế CPU
- 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ác
nhau bên trong bộ VXL thông qua bus dữ liệu bên trong và lưu trữ trung
gian 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 trong
ALU.
3. J9:9K98 !C
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
Page 10 of 73
Thiết kế CPU
Chứa thông tin tạm thời phục vụ cho hoạt động ở thời điểm
hiện tại của CPU
Số lượng thanh ghi tùy thuộc vào bộ vi xử lý cụ thể tăng
hiệ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ủa
BVXL.
- những lệnh I/O với ngoại vi là nhóm lệnh trao đổi byte d.liệu giữa thanh
ghi 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ào
thanh 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ăn
nhớ 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 địa
chỉ ả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ác
thanh 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 ở đỉnh
TOP. Nó làm nhiệm vụ lưu trữ những thông tin phải dùng đi dùng lại nhiều
lầ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ủa
ngăn xếp là push và pop, các lệnh này làm thay đổi đỉnh của ngăn xếp.
Page 11 of 73
Thiết kế CPU
- 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ề địa
chỉ đỉ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ống
má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à thanh
ghi đ.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. LM0NG
1. LM;
Đ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. O0NG;
• 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ết
và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.
Page 12 of 73
Thiết kế CPU
• 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.
PQIR: CPU thực hiện tính toán biểu thức:
2+3=5
Các ký hiệu:
PU (Prefetch Unit)
Đơn vị nạp lệnh
IC (Instruction Cache)
Cache chỉ thị lệnh
DU (Decode Unit)
Đơn vị giải mã.
CU (Control Unit)
Đơn vị điều khiển
DC(Data cache)
Cache dữ liệu
Bước 1: Nhấn phím ‘2’
Phát tín hiệu đến Đơn vị nạp lệnh
Phát tín hiệu đến cache chỉ thị lệnh
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’.
Page 13 of 73
Thiết kế CPU
IC cung cấp bản sao dữ liệu
‘2=X’ tới PU và DU để xử lý.
Tại DU, mã lệnh ‘2=X’ được
dịch và giải mã thành chuỗi
nhị phân và chuyển đến CU
và DC.
Bước 2: Nhấn phím số ‘3’
Cung cấp chỉ thị lệnh tới PU và IC
IC được lưu trữ thêm giá trị ‘3=Y’.
Page 14 of 73
Thiết kế CPU
PU chuyển một bản sao của mã
lệnh ‘3=Y’ đến IC và chuyển nó
đến DU chờ xử lý.
Tại DU, mã lệnh ‘3=Y’ được dịch
và giải mã thành chuỗi các số nhị
phân, rồi được chuyển đến CU
và DC chờ xử lý.
Bước 3: Nhấn phím ‘+’
Khi nhấn phím ‘+’, PU yêu
cầu bộ nhớ chính và IC cung
cấp các chỉ thị lệnh liên quan
đến dữ liệu mới.
Vì đây là dữ liệu hoàn toàn mới,
‘+’ từ bộ nhớ chính được chuyển
đế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.
Page 15 of 73
Thiết kế CPU
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ỉ
Bước 4: Nhấn phím ‘=’
Khi nhấn phím ‘=’, PU kiểm tra
trên IC để tìm chỉ thị lệnh cho dữ
liệu mới nhập, nhưng không tìm thấy.
Chỉ thị lệnh ‘=’ được chuyển từ bộ
nhớ chính đến vi xử lý thông qua các
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
Page 16 of 73
Thiết kế CPU
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. S=()(
1. F00BTB90I00U8S=IS"C
Phương pháp từ dưới lên bắt đầu ngay cả trước khi các công cụ CAD(computer-
aided
Page 17 of 73
Thiết kế CPU
Design – máy tính hỗ trợ thiết kế) đã được phát minh. Nó vẫn còn được sử dụng
trong nhiều ngành công nghiệp hiện nay, bởi vì nó sau một phương pháp trực quan
củ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 bottomVuplà 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ục
kế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ành
phầ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
Page 18 of 73
Thiết kế CPU
Như chúng ta thấy trong hình 2.1, có bóng bán dẫn (transistor ), có thư viện
logic ,RTL(register transfer language – ngôn ngữ chuyển giao thanh ghi, chẳng hạn
như 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ác
thà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ấp
cao 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ành
phầ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ần
như 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ức
Boolean hoặc mô hình FSM và FSMD(cấu trúc xử lý dữ liệu và điều khiển). Sau
khi 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ến
vớ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ành
phầ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ột
Hướ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ành
phầ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ằng
cá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ành
phần
Page 19 of 73
Thiết kế CPU
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 trong
thư 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ân
phố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 bao
giờ 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 nhu
cầ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ới
thiế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ápbottomVup thôngthườ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. 0TI0WB90I00U8S="?EC
Phương pháp phân tích top-down là phương pháp thường dùng để xây dựng
chươ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àn
thành.Một
Page 20 of 73
Thiết kế CPU
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ền
tả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
Page 21 of 73
Thiết kế CPU
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ác
chức năng quy định, cũng như sự trễ delay và yêu cầu điện năng( power
requirement). Sau khi được xác định, các thành phần RTL là tiếp tục phân thành
các thành phần logic hoặc gates. Cuối cùng, mỗi thành phần logic được chia thành
mộ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ưng
ngà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ối
cù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ối
cù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ệu
tố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ừu
tượ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ượng
cao 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ại
trên các mức trừu tượng hóa cao hơn.
3. X0BB90I00U
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ác
trường hợp lý tưởng của hai khái niệm thiết kế khác nhau. Trong thực tế, phương
phá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ác
nhau 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
Page 22 of 73
Thiết kế CPU
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, import
IPs cũng được chuyển đổi để bố trí standard cell. Vì vậy, mỗi thành phần tùy chỉnh
hoặc import IP có thể được định nghĩa với một netlist của tế bào tiêu chuẩn, được
kế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ống
vớ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
Page 23 of 73
Thiết kế CPU
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ụng
cá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ác
thà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ên
xuố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ành
phần tùy chỉnh có thể được chèn vào để tối ưu hóa ứng dụng. Tuy nhiên, phương
phá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ác
thà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ác
yêu cầu của nền tảng nhất định.
4. KU:9BB90I00U8S=EC
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ột
kiế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êu
chuẩn và đưa vào thư viện của các processor component hoặc được tạo ra theo yêu
cầ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ến
trú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ến
trú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
Page 24 of 73
Thiết kế CPU
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 được
bằ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.
1. DYPO/H
VHDL (VHDL là từ viết tắt của Very Hight Speed Intergrated Circuit
Hardware Description Language) là ngôn ngữ lập trình được thiết kế theo
cách mô tả hành vi của hệ thống số. VHDL được phát triển vào những năm
1980.
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ử
.
Page 25 of 73