Đồng tổng hợp kiến trúc lưới thao tác cho lõi CPU RISC

Nếu cấu trúc ô lƣới thao tác đƣợc tổ chức dƣới dạng hệ tổ hợp thì thời gian thực hiện tính toán toàn bộ n hàng của lƣới chỉ tiêu tốn đúng 1 chu kỳ clock. Nếu sử dụng công nghệ FPGA thì tính khả thi của thiết kế ô lƣới thao tác, nhất là đối với hệ chức năng, khi mà các phép tính là hạn chế trong một lớp bài toán cụ thể. Đồng tổng hợp giúp bổ xung vào tập lệnh những lệnh mới nhằm đạt hiệu năng cao nhất mà không phá vỡ kiến trúc Harvart của CPU RISC

pdf6 trang | Chia sẻ: linhmy2pp | Ngày: 18/03/2022 | Lượt xem: 218 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Đồng tổng hợp kiến trúc lưới thao tác cho lõi CPU RISC, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Chu Đức Toàn và cs Tạp chí KHOA HỌC & CÔNG NGHỆ 78(02): 23 - 28 ĐỒNG TỔNG HỢP KIẾN TRÖC LƢỚI THAO TÁC CHO LÕI CPU RISC Chu Đức Toàn1*, Đỗ Xuân Tiến2, Hoàng Thị Phƣơng3 1Đại học Điện lực Hà Nội, 2Học viện Kỹ thuật Quân sự 3Đại học Sư phạm Kỹ thuật Nam Định TÓM TẮT Bài báo trình bày phƣơng pháp đồng tổng hợp kiến trúc khối tính toán và xử lý trên lƣới thao tác của lõi CPU RISC cho các hệ xử lý chức năng bằng cách tổ hợp hóa cấu trúc ô lƣới thao tác, sử dụng lƣới phụ và tái cấu hình lƣới bằng phần mềm không những giúp tiết kiệm tài nguyên phần cứng mà vẫn bảo đảm chức năng xử lý cơ sử dữ liệu có kích thƣớc khác nhau. Từ khóa: Đồng tổng hợp, lõi CPU RISC KIẾN TRÚC LƢỚI THAO TÁC CỦA CPU kích thƣớc mn, thanh chứa Acc và 2 luồng dữ RISC liệu vào X, Y. Tình huống hay gặp trong lõi CPU RISC là Các ô lƣới của thao tác chính là các khối tính khi phát động hai hoặc ba lệnh song song, khi toán logic/số học. Thí dụ cộng 2 số dấu phẩy đó khối thực hiện lệnh EU sẽ kiểm tra dữ liệu động bằng hệ pipeline tuyến tính [2] với 2 số p q xem có thể chia xẻ hay phụ thuộc [3,4]. Khối dấu phẩy động: A = a x 2 và B = b x 2 ,cần r s điều khiển sẽ thực hiện phân luồng và khẳng tính C = A+B = c x 2 =d x z với r = định sau bao nhiêu nhịp clock sẽ thực hiện max(p,q); 0,5  d < 1. Thuật toán cơ bản để bao nhiêu tiến trình song song thật sự. Lƣới thực hiện phép cộng này: thao tác lõi CPU RISC có dạng nhƣ hình 1a (i) So sánh p, g theo max(p, g) = t =|p  g|. và 1b. Hình 1a mô tả các thành phần của lõi, (ii) Dịch phải số có số mũ nhỏ đi t bƣớc. bao gồm khối chứa hệ số H, khối lƣới thao tác (iii) Cộng phần định trị của hai số. X1 Y Y1 Ym H11 * Hm1 * X Lƣới mn H + + Acc Xn BUS H1n Hmn * * * + + Z Z 1 m b) a) Hình 1. Cấu trúc khối thao tác lƣới của lõi CPU RISC a, b. * Tel: 0982917093; Email: toancd@epu.edu.vn 23 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Chu Đức Toàn và cs Tạp chí KHOA HỌC & CÔNG NGHỆ 78(02): 23 - 28 p A = a x 2 B = b x 2q L0 trõ chän ®Þnh trÞ |p-q| TG dÞch ph¶i L1 t ®Þnh trÞ L2 Bé ®Õm + sè mò TG dÞch L3 L4 S C = d . 2s = A+B d Hình 2. Tính cộng 2 số dấu phẩy động trên hệ pipeline tuyến tính Nhận xét: Cấu trúc pipeline hình 2 có 4 tầng Trong các hệ xử lý chức năng, khi nhiệm vụ (số tầng sẽ khác nhau cho các cấu trúc tính là cụ thể và hạn chế trong một lớp bài toán khác nhau), tức là sau 4 chu kỳ clock khối nào đấy thì việc loại trừ ảnh hƣởng trên có này mới hoạt động thực sự song song. Nếu nhiều giải pháp. Một trong những giải pháp chỉ một lần tính thì không có vấn đề về điều đó là chúng ta có thể tổ chức phần cứng của khiển, nhƣng nếu phải tính cho một chuỗi dữ lƣới thao tác bằng hệ tổ hợp thuần túy. Căn cứ liệu thì vấn đề điều khiển sẽ phức tạp do phải vào [1,5] các cấu trúc các chức năng cơ bản đồng bộ các thành phần tham gia vào quá của hệ tổ hợp là rõ ràng nhƣ bộ cộng, trừ nhị trình xử lý nhƣ bộ điều khiển luồng, bộ đếm phân, BCD có dấu. Còn các cơ cấu nhân chia độ giữ chậm của các khâu, bộ điều khiển quay ta sẽ sử dụng phép dịch phải (chia 2), dịch trái vòng...Nhiều khi độ phức tạp quá mức của cơ (nhân 2), phần dƣ và phần carry sẽ sử dụng cấu điều khiển có thể dẫn tới những nguy một cấu trúc riêng. Một cấu trúc điển hình của hiểm tiềm tàng: mất đồng bộ, trễ do phải chờ phép nhân/chia bằng hệ tổ hợp đƣợc thể hiện tập kết đủ yếu tố. trên hình 3. BUS D I I Dn Im I1 1 m 1 Số nhân/chia MUX MUX Im I1 I I m 1 m m O2 O1 O2 O1 MUX MUX m m O2 O1 O2 O1 dn d0 BUS Hình 3. Cấu trúc bộ nhân/chia của ô lƣới thao tác bằng cấu trúc NOT, AND, OR và MUX 24 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Chu Đức Toàn và cs Tạp chí KHOA HỌC & CÔNG NGHỆ 78(02): 23 - 28 Bây giờ ta xét sâu vào phân tích hoạt động Thừa số thứ nhất Dn-D1 đƣa vào đầu data của MUX, thừa số thứ hai các bit điều khiển ghép của lõi CPU RISC cho trƣờng hợp dữ liệu kênh. Khi đó ta có bảng 1. vectơ, khi luồng dữ liệu đi vào lƣới thao tác với tốc độ lớn do chỉ cẩn quản lý thứ tự phần Với cách dich trên, phép nhân chỉ nhân thừa tử. Khi đó nếu luồng X và luồng Y đủ số số thứ hai với các số 2n, với n=1,2,3Khi lƣợng n, m phần tử và các hệ số H đã điền cần nhân với số bất kỳ, ta chỉ cần kết hợp một đầy lƣới thì cần 1 nhịp clock sẽ cho kết quả Z. số cấu trúc trên để có kết quả đúng. Với Z đƣợc tính bằng: Thực chất chỉ cần sử dụng 2 tầng hệ tổ hợp là n ta có kết quả với mọi giá trị thừa số trong Zi  Yi   XiHij; (i= 1, m ; j=1, n ) phép lấy tích (thƣơng). Nhƣ vậy trên nguyên j1 lý tập đủ [5], kết hợp với các công nghệ Tuy nhiên khi dung lƣợng dữ liệu cần xử lý đƣơng đại nhƣ công nghệ PLA, FPGA có thể lớn hơn khả năng xử lý một lần của cấu trúc tổng hợp đƣợc một lƣới thao tác với các phép này thì cần phải tổ chức lƣới thao tác phức tính cần thiết mà không gặp trở ngại lớn nào. tạp hơn thì mới bảo đảm hiệu năng cao. Điều quan trọng là những cấu trúc đó chỉ cần Lƣới thao tác đƣợc tổ chức nhƣ hình 4b. Bộ một nhịp clock là chúng đã thực hiện xong đệm lƣới có cấu trúc giống nhau và có đƣờng thao tác của mình (về lý thuyết nhịp clock có dẫn pipeline tƣơng ứng cho từng ô lƣới. Chỉ thể có tần số bất kỳ). cần một nhịp clock (có thể nhịp clock này lớn ĐỒNG TỔNG HỢP LƢỚI THAO TÁC CHO hơn nhịp clock hệ thống) là copy toàn bộ nội CPU RISC dung bộ đệm lƣới sang lƣới thao tác. Bảng 1. Phép nhân với các số 2n Thừa số 1 2 4 8 16 thứ nhất Thừa số 0..00 0..01 0..10 0..11 0..100 thứ hai Im-I1 Bƣớc dịch trái 0 1 2 3 4 =thừa số =2 lần thừa số =4 lần thừa số =8 lần thừa số =16 lần thừa số Tích thứ nhất thứ nhất thứ nhất thứ nhất thứ nhất Bảng 2. Phép nhân với các số bất kỳ Thừa số 1 2 3 4 5 6 7 8 thứ nhất Cấu trúc Cấu trúc Cấu trúc Cấu Cấu Cấu Cấu trúc nhân4 + nhân2 + nhân4 + nhân4 + Cấu trúc Tích trúc trúc trúc Cấu trúc nhân2 + Cấu trúc Cấu trúc Cấu trúc nhân8 nhân1 nhân2 nhân4 Cấu trúc nhân1 nhân1 nhân1 nhân2 Y hfifo Bộ X Lƣới đệm mn lƣới đệm Bộ Lƣới nm Acc fifo BUS Copy trong 1 a) b) nhịp clock Hình 4. Cấu trúc khối thao tác lƣới của lõi CPU RISC khi kích thƣớc ô nhớ trong FIFO x  (m,n) 25 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Chu Đức Toàn và cs Tạp chí KHOA HỌC & CÔNG NGHỆ 78(02): 23 - 28 Cấu trúc này bảm đảm là hệ số H đƣợc nạp Đây chính là phhƣơng pháp tổng hợp cả phần vào ô lƣới trƣớc khi dữ liệu cần xử lý tới ô cứng và cả phần mềm trên cùng trên một bƣớc : lƣới. Bộ đệm chứa hệ số H và Acc có cơ cấu Phần cứng là tổ chức lƣới thao tác trên công FIFO giúp tăng dung lƣợng xử lý. Nếu kích nghệ FPGA, nơi mỗi ô lƣới là một hệ tổ hợp thƣớc ô nhớ trong FIFO x  (m,n) và dung phức tạp gồm các cấu trúc tính toán cùng các lƣợng dữ liệu cần xử lý bằng x*X thì chỉ cần= mạch phụ trợ NOT AND OR và MUX sao cho đầu vào là tập hợp bit địa chỉ có số lƣợng x+1 chu kỳ nhịp clock sẽ hoàn tất thao tác. là k (2k  max M ) cho chia cột và có số Trƣờng hợp dữ liệu khác nhau về kích thƣớc lƣợng q (2q  max N )cho chia hàng. (kích thƣớc phần tử có thể là 8 bit, 16 bit, 32 Cú pháp của lệnh chia cột và hàng có thể thiết bit...) thì thay vì sử dụng nhiều lƣới thao tác, kế nhƣ: lệnh MOV Colreg, DivX hoặc MOV có thể tổng hợp một cấu trúc kết hợp cả khâu Rowreg, DivX với X=1 đến maxM (maxN) sẽ tổ chức phần cứng và khâu xây dựng lệnh thực hiện gán số chia lƣới thành các phần. nhằm tái cấu hình lƣới thao tác theo kích Lập tức các thanh ghi điều khiển sẽ ánh xạ thƣớc dữ liệu. Làm đƣợc điều này giúp giảm vào phần cứng của lƣới để tái tổ chức lại cấu thiểu tài nguyên phần cứng của hệ thống đi hình lƣới thao tác theo yêu cầu. Nếu rất nhiều. Cơ cấu điều khiển chia lƣới theo maxM=maxN=64 bit thì lệnh chia cột (hàng) phƣơng án này bao gồm thanh ghi điều khiển đƣợc thể hiện trên bảng 3. chia lƣới thành m cột n hàng và đƣợc dùng Nếu dung lƣợng dữ liệu cần xử lý vƣợt dung nhƣ một lệnh mà khối EU của CPU thực hiện lƣợng các bộ đệm FIFO thì cần cơ cấu lặp để vẫn sử dụng thuật toán cũ. Khi đó cần cơ cấu nhƣ những lệnh khác. Điều này giúp mềm hóa điều khiển vòng lặp. Bằng cách này ta có thuật cấu hình của lƣới thao tác. Số lƣợng cột sẽ toán lặp mà phần thực hiện chính lại bằng phần nằm trong khoảng 1  m  max M còn số cứng nên tốc độ sẽ vƣợt trội so với thuật toán lƣợng hàng trong khoảng 1  n  max N . lặp thuần túy bằng phần mềm (hình 5). Bảng 3. Phân chia lƣới thao tác Số chia Div1 Div2 Div3 Div4 Div5 ------- Div64 Số lƣợng bit/ô lƣới 64 32 21 16 12 ------ 1 thao tác (bit/ô) Số dƣ (bit) 0 0 1 0 2 ------ 0 hfifo Y X lƣới Lƣới mn đệm Bộ Acc fifo vòng dịch khiển điều Bộ BUS Hình 5. Cấu trúc khối thao tác lƣới của lõi CPU RISC khi kích thƣớc ô nhớ trong fifo x (m,n) 26 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Chu Đức Toàn và cs Tạp chí KHOA HỌC & CÔNG NGHỆ 78(02): 23 - 28 Toàn bộ cấu trúc đƣợc tổng hợp nhƣ trên cho tính toán toàn bộ n hàng của lƣới chỉ tiêu tốn phép phát động các tiến trình song song ngay đúng 1 chu kỳ clock. trong lõi CPU RISC bằng 1 dòng lệnh. Nếu đƣa dòng lệnh dạng: Nếu sử dụng công nghệ FPGA thì tính khả thi repeat 16 hfifo = [r0++], fth, hth của thiết kế ô lƣới thao tác, nhất là đối với hệ chức năng, khi mà các phép tính là hạn chế vào cấu trúc phần cứng đƣợc tổ chức nhƣ trên ta có vế trái repeat 16 hfifo = [r0++] là tiến trong một lớp bài toán cụ thể. trình lặp 16 vòng, mỗi vòng là một lần tải Đồng tổng hợp giúp bổ xung vào tập lệnh data từ bộ nhớ hệ thống vào bộ đệm hfifo còn những lệnh mới nhằm đạt hiệu năng cao nhất vế phải là 2 tiến trình: (i) fth là tiến trình copy mà không phá vỡ kiến trúc Harvart của CPU hệ số từ hfifo vào ô lƣới thao tác phụ; (ii) hth RISC. là tiến trình copy hệ số từ ô lƣới thao tác phụ vào ô lƣới thao tác chính. Phân tích quá trình TÀI LIỆU THAM KHẢO thực hiện lệnh trên bằng đồ thị thời gian dễ [1]. Lê Xuân Bằng.Kỹ thuật số.Nxb Khoa học kỹ dàng nhận thấy chúng là 3 tiến trình song thuật, 2009, Tr131-148. song do các bƣớc thực hiện đƣợc xếp chồng [2]. Đỗ Xuân Tiến. Kỹ thuật vi xử lý và lập trình về mặt thời gian (hình 6). Assembly cho hệ vi xử lý. Nxb Khoa học kỹ thuật, 2009. Nhƣ vậy, trừ 2 nhịp clock đầu tiên là t0 và t1 [3]. Kai Hwang, Faye A.Briggs. Computer thì từ t2 trở đi 3 tiến trình hfifo = [r0++]; fth; architecture and parallel processing. McGraw- hth là thực hiện song song thật sự giúp tăng Hill Book Company tốc độ tính toán đáng kể (trƣờng hợp cực đại [4]. Richard Cloutier, Synthesis of Pipelined sẽ là 3 lần). Instruction Set Processors, Ph.D. dissertation, Dept. of Electrical and Computer Engineering, KẾT LUẬN Carnegie Mellon University, 1993. Alsoavailable Nếu cấu trúc ô lƣới thao tác đƣợc tổ chức as a Research Report No. CMUCAD-93-03. dƣới dạng hệ tổ hợp thì thời gian thực hiện [5]. Raymond E.Miller.Swiching theory. John Wiley & Sons, Inc. Nhịp clock t0 t1 t2 t3 t4 hfifo H1 H2 H3 H4 H5 ô lƣới H1 H2 H3 H4 phụ H1 H2 H3 ô lƣới chính pipeline pipeline pipeline pipeline Hình 6. Hoạt động của lƣới thao tác gồm 3 tiến trình song song (hệ số H có giá trị từ h11 đến hnm) 27 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên Chu Đức Toàn và cs Tạp chí KHOA HỌC & CÔNG NGHỆ 78(02): 23 - 28 SUMMARY CO-SYNTHESIZE A ARCHITECTURE OF THE OPRATION GRID FOR CPU RISC CORE Chu Duc Toan1*, Do Xuan Tien2, Hoang Thi Phuong3 1Electric Power University, 2Academy of Technology and Military,, 3Nam Dinh University of Technology Education This paper presents a co-synthesis method of the architecture of culculating and processing block on operation grid of CPU RISC core for functional microprocessor systems by combinational circuits. Using a slave grid and reconfiguration master grid by software, not only helps to economize hardware resources but still guarantees the functional processability for database with diffrent sizes. Key words: Co-synthesize a architecture, CPU RISC core * Tel: 0982917093; Email: toancd@epu.edu.vn 28 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Các file đính kèm theo tài liệu này:

  • pdfdong_tong_hop_kien_truc_luoi_thao_tac_cho_loi_cpu_risc.pdf