intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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ố

Chia sẻ: HaoAsakura HaoAsakura | Ngày: | Loại File: PDF | Số trang:46

31
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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!

Chủ đề:
Lưu

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ố

  1. 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ố
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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 viV 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 eijE 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
  8. 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
  9. 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
  10. Computer Engineering 2009 Design flow Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 10
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. Computer Engineering 2009 Baseline Design Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 19
  20. Computer Engineering 2009 Baseline Design (tt) Thiết kế vi mạch số với HDL (c) 2009 Department of Computer Engineering 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2