Bài giảng Thiết kế mạch số dùng HDL - Chương 9: Giải thuật và kiến trúc cho các bộ xử lý số
lượt xem 2
download
Bài giảng Thiết kế mạch số dùng HDL - Chương 9: Giải thuật và kiến trúc cho các bộ xử lý số có nội dung trình bày về giải thuật, chương trình lặp lồng nhau (NestedLoop) và đồ thị dòng dữ liệu (Data Flow Graph); bộ lọc số và bộ xử lý tín hiệu số; khối cơ bản cho các bộ xử lý tín hiệu; kiến trúc pipeline; bộ đệm vòng; FIFO và sự đồng bộ hóa giữa các mạch đồng bộ;... Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Thiết kế mạch số dùng HDL - Chương 9: Giải thuật và kiến trúc cho các bộ xử lý số
- dce 2009 Thiết kế vi mạch số với HDL Chương 9: Giải thuật và Kiến trúc cho các bộ xử lý số
- Computer Engineering 2009 Trade-off in system implementation • General purpose, high performance processor (GHP) Có thể không đạt được hiệu suất cao trong những ứng dụng cá biệt (particular applications) Có thể được sử dụng không đúng mức (underutilized) trong ứng dụng nào đó Có thể không cân bằng giữa tốc độ bộ xử lý và thiết bị ngoại vi • So sánh với ASIC: GHP tiêu thụ năng lượng nhiều hơn, tốn nhiều diện tích hơn và chi phí cao hơn (tùy thuộc vào số lượng bán ra) Bộ xử lý chuyên dụng (dedicated processors) sẽ có tập lệnh và các vi lệnh (microcode) đơn giản hơn Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 2
- Computer Engineering 2009 What about ASICs • ASICs được thiết kế để tối ưu sự thực thi của các giải thuật cá biệt cho ứng dụng chuyên biệt nào đó • Kiến trúc mạch của ASICs được đặc chế (customize) trade-off giữa hiệu suất và giá thành • ASIS Chips hy sinh tính uyển chuyển để đạt được hiệu suất cao • Đặc biệt thích hợp cho các ứng dụng có đường dữ liệu song song và yêu cầu xử lý đồng thời (DSP, Data communication,…) • ASIC vs. FPGA: bottom-line unit cost, tuy nhiên đôi khi cũng dựa trên giải thuật Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 3
- Computer Engineering 2009 Thiết kế một bộ xử lý như thế nào? • High-level design: hiện thực kiến trúc sẽ thực hiện một giải thuật cái mà có thể hoàn thành bằng bộ xử lý thông thường (general processor) • High-level design hoàn thành 2 công việc Xây dựng 1 giải thuật hiện thực một đặc tả hành vi (ví dụ: thiết kế bộ lọc thông thấp thỏa yêu cầu hiệu suất) Ánh xạ giải thuật vào kiến trúc sẽ hiện thực hành vi bằng phần cứng • Bắt đầu với một giải thuật tính toán sẽ được hiện thực bằng phần cứng • Tập trung vào: Phá triển 1 bộ xử lý giải thuật Chọn lựa tradeoff các kiến trúc Đặc tả Verilog Tổng hợp Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 4
- Computer Engineering 2009 Nội dung • Giải thuật, chương trình lặp lồng nhau (Nested- Loop) và đồ thị dòng dữ liệu (Data Flow Graph) • Ví dụ thiết kế • Bộ lọc số và bộ xử lý tín hiệu số • Khối cơ bản cho các bộ xử lý tín hiệu • Kiến trúc pipeline • Bộ đệm vòng • FIFO và sự đồng bộ hóa giữa các mạch đồng bộ Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 5
- Computer Engineering 2009 Algorithms, Nested-loop program & DFG • Một giải thuật tuần tự có thể được mô tả bằng 1 chương trình lặp lồng nhau (NLP) được viết bằng ngôn ngữ lập trình/đặc tả (C/Verilog) • NLP luôn luôn khả tính toán • NLP cung cấp một đặc tả không nhập nhằn và khả thực thi Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 6
- Computer Engineering 2009 Data-Flow graph • DFG: đồ thị có hướng và không có vòng G(V,E) V là tập hợp các đỉnh và E là tập hợp các cạnh • Mỗi node viV biễu diễn cho một đơn vị chức năng (Functional Unit - FU), nó xử lý đầu vào và sinh ra dữ liệu ngõ ra • 1 FU có thể thực hiện 1 hành động đơn hay 1 chuỗi hành đồng • 1 cạnh eijE có hướng biễu diễn dữ liệu sinh ra từ node vi và đi vào vj • Phụ thuộc dữ liệu giữa 2 cặp đỉnh vi và vj trên cạnh eij nếu và chỉ nếu vj sử dụng kết quả của vi và vj sẽ không thể hoàn thành cho đến khi vi hoàn thành Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 7
- Computer Engineering 2009 Cần phải làm gì? • Chuyển đổi từ DFG cho 1 giải thuật thành cấu trúc phần cứng Một sự phân chia giữa đơn vị điều khiển và dòng dữ liệu (ASMD) • Chỉ rõ 1 cấu trúc cho dòng dữ liệu • Thiết kế bộ điều khiển cho dòng dữ liệu của giải thuật Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 8
- Computer Engineering 2009 Từ NLP-algorithms đến HW-architecture • Nguyên tắc: Baseline architecture cho 1 processor và datapath hiện thực cho 1 DFG 1 tập hợp các FU kết nối theo cấu trúc của DFG Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 9
- Computer Engineering 2009 Design flow Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 10
- Computer Engineering 2009 Cải tiến baseline design • Re-composition: cắt các FU thành 1 chuỗi các chức năng thực thi có thứ tự tiết kiệm hardware • Pipelining: thêm các thanh ghi vào trong các đường dữ liệ để thu ngắn đường tính toán • Replication: sử dụng nhiều bộ xử lý để tăng performance Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 11
- Computer Engineering 2009 Ví dụ halftone image converter • Floyd-Steinberg algorithm Chuyển đổi một ảnh N-dòng M-cột pixels, mỗi pixel có n-bit, thành ảnh đen trắng Phân phối giá trị lỗi do làm tròn khi chuyển đổi từ n-bit về 1 bit cho một tập con các pixel lân cận Dựa vào trọng số trung bình Phân phối lỗi Nhận giá trị lỗi Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 12
- Computer Engineering 2009 Dataflow graph Node giả (dùng để tính cho các pixel ở bìa) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 13
- Computer Engineering 2009 Giải thuật • Tại mỗi pixel (i,j), giá trị lỗi trung bình (E-av) được tính bằng E _ av (w1* e[i 1, j ] w2 * e[i 1, j 1] w3 * e[i, j 1] w4 * e[i 1, j 1]) / wT Với wi là các trọng số không âm wT = w1 + w2 + w3 + w4 • Giá trị pixel được tính bằng CPV PV [i, j] E _ av • CPV sẽ được làm tròn thành 0 hoặc 1 bằng CPV _ round CPV CPV _ thresh ? 0 : 1 Với trường hợp n = 8 bit, CPV_max = 255, CPV_thresh = 128 • HTPV = CPV_round và e[i,j] = CPV - HTPV Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 14
- Computer Engineering 2009 Giải thuật (tt) • Dãy các node trong DFG đồng dạng với dãy các pixel • Thêm vào cột bên trái, bên phải và hàng trên cùng với các giá trị Error là 0 • NLP in C: Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 15
- Computer Engineering 2009 Baseline design cho HPIC • Kiến trúc đơn giản nhất • Mô hình tập trung vào phần cứng và cấu trúc Cần 1 dãy 48 processor Thời gian xử lý phụ thuộc vào đường dài nhất • Thiết kế khả tổng hợp thành mạch tổ hợp và không cần bộ điều khiển Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 16
- Computer Engineering 2009 Testbench – sharp image constract (w1, w2, w3, w4) = (2, 8, 4, 2) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 17
- Computer Engineering 2009 Testbench – graduated image constract (w1, w2, w3, w4) = (2, 8, 4, 2) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 18
- Computer Engineering 2009 Baseline Design Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 19
- Computer Engineering 2009 Baseline Design (tt) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng kỹ thuật mạch điện tử - chương 4 mạch lọc tích cực
20 p | 494 | 128
-
Giáo án Công Nghệ lớp 8: Thiết kế mạch điện
4 p | 191 | 20
-
Bài giảng môn Kỹ thuật số 2: Chương 4 - GV. Nguyễn Hữu Chân Thành
13 p | 152 | 17
-
Bài giảng Thiết kế logic số (VLSI design): Chương 2.5 - Trịnh Quang Kiên
18 p | 142 | 14
-
Bài giảng Thiết kế hệ thống vi xử lý: Chương 3 - Nguyễn Hồng Quang
16 p | 193 | 13
-
Bài giảng về Kỹ thuật số - Chương 2
15 p | 78 | 12
-
Bài giảng Thiết kế điện công trình: Chương 3
18 p | 57 | 9
-
Bài giảng Tổng hợp luân lý vi mạch
10 p | 86 | 7
-
Bài giảng Thực hành thiết kế vi mạch số với HDL: Bài 1
24 p | 21 | 7
-
Bài giảng Điện tử công suất và ứng dụng (Mạch điện tử công suất, điều khiển và ứng dụng) - Chương 6: Bộ nguồn bán dẫn một chiều
12 p | 58 | 6
-
Bài giảng Điện tử số: Chương 7 và 8 - Duy Tuân
49 p | 12 | 5
-
Bài giảng Thiết kế logic số: Lecture 4.1 - TS. Hoàng Văn Phúc
19 p | 77 | 4
-
Bài giảng Nhập môn mạch số - Ôn tập chương 5-6
8 p | 73 | 3
-
Bài giảng Điện tử cho công nghệ thông tin: Chương 6 - Đỗ Công Thuần
108 p | 15 | 2
-
Bài giảng Nhập môn mạch số: Chương ôn tập – ĐH CNTT
9 p | 60 | 2
-
Bài giảng HDL & FPGA - Chương 3: Thiết kế số
110 p | 10 | 1
-
Bài giảng Kỹ thuật số: Chương 6 - Võ Duy Công
25 p | 5 | 1
-
Bài giảng Nhập môn mạch số: Chương ôn tập 2 – ĐH CNTT
8 p | 45 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn