THIẾT kế CPU RISC 32 BIT đơn CHU kỳ THỰC HIỆN LỆNH ADD (có code)

45 908 25
THIẾT kế CPU RISC 32 BIT đơn CHU kỳ THỰC HIỆN LỆNH ADD (có code)

Đ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

THIẾT kế CPU RISC 32 BIT đơn CHU kỳ THỰC HIỆN LỆNH ADD (có code) THIẾT kế CPU RISC 32 BIT đơn CHU kỳ THỰC HIỆN LỆNH ADD (có code) THIẾT kế CPU RISC 32 BIT đơn CHU kỳ THỰC HIỆN LỆNH ADD (có code) THIẾT kế CPU RISC 32 BIT đơn CHU kỳ THỰC HIỆN LỆNH ADD (có code) THIẾT kế CPU RISC 32 BIT đơn CHU kỳ THỰC HIỆN LỆNH ADD (có code)

THIẾT KẾ CPU RISC 32 BIT ĐƠN CHU KỲ THỰC HIỆN LỆNH ADD MỤC LỤC DANH MỤC CÁC HÌNH VẼ vi DANH MỤC CÁC BẢNG BIỂU vii DANH MỤC CÁC TỪ VIẾT TẮT viii CHƯƠNG TỔNG QUAN VỀ CPU KIẾN TRÚC RISC 1.1 GIỚI THIỆU .1 1.1.1 Lịch sử 1.1.2 Lý thuyết CPU RISC 1.1.2.1 Quy trình thiết kế số 1.1.2.2 Dẫn nhập thiết kế 1.1.2.3 Testbench Verilog 1.1.2.4 Mô 10 1.1.2.5 Kiến trúc CPU RISC 32 bit đơn chu kỳ 11 1.1.3Hướng nghiên cứu 14 1.2 NGUYÊN LÝ CHUNG 14 1.2.1 Nguyên tắc lưu liệu nhớ 14 CHƯƠNG 2: NỘI DUNG CỦA ĐÈ TÀI 17 2.1 ĐƯỜNG DỮ LIỆU CỦA LỆNH ADD 17 2.2 CONTROL UNIT 18 2.3 KHỐI RF 19 2.4 KHỐI ALU 20 CHƯƠNG 3: KẾT QUẢ MÔ PHỎNG 22 3.1 MƠ HÌNH MƠ PHỎNG 22 3.2 KẾT QUẢ MÔ PHỎNG 22 3.3 KẾT QUẢ NẠP TRÊN KIT DE2 23 CHƯƠNG 4: NHẬN XÉT 26 CHƯƠNG 5: KẾT LUẬN 27 PHỤ LỤC 29 DANH MỤC CÁC HÌNH VẼ HÌNH 1-1: CHIP VI XỬ LÝ ARM HÌNH 1-2: LUỒNG THIẾT KẾ ASIC HÌNH 1-3: HAI CÁCH KHÁC NHAU ĐẺ ĐỊNH NGHĨA DỮ LIỆU KIỂM TRA NGÕ VÀO 11 HÌNH 1-4: KIẾN TRÚC CPU RISC 32 BIT ĐƠN CHU KỲ 12 HÌNH 1-5: NGUYÊN TẮC ALIGNMENT RESTRICTION 15 HÌNH 2-1: ĐƯỜNG DỮ LIỆU LỆNH ADD .17 HÌNH 2-2: KHỐI CONTROL UNIT 18 HÌNH 2-3: KHỐI REGISTER FILE 19 HÌNH 2-4: KHỐI ALU 32 BIT 20 HÌNH 2-5: NGUYÊN TẮC THỰC HIỆN PHÉP CỘNG 32 BIT .21 HÌNH 3-1: SƠ ĐỒ MƠ PHỎNG CPU RISC 22 HÌNH 3-2: MƠ PHỎNG DẠNG SĨNG BẰNG PHẦN MỀM QUARTUS 22 HÌNH 3-3:SƠ ĐỒ ĐẤU CHÂN .23 HÌNH 3-4: KẾT QUẢ NẠP KIT 24 HÌNH 3-5: KẾT QUẢ NẠP KIT 25 DANH MỤC CÁC BẢNG BIỂU BẢNG 1-1: SO SÁNH CPU RISC VỚI CÁC CPU KHÁC BẢNG 1-2: CÁC HỆ THỐNG VÀ CÁC RISC PHỔ BIẾN BẲNG 1-3: THANH GHI TRONG CPU RISC 14 BẢNG 1-4: CẤU TRÚC LỆNH .16 BẢNG 2-1: KHỐI CONTROL UNIT LOẠI R 18 BẢNG 2-2: BẢNG SỰ THẬT FULL ADDER .20 DANH MỤC CÁC TỪ VIẾT TẮT RF Register File IM Instruction Memory DM Data Memory PC Program Counter ALU Arithmetic logic unit CPU Central Processing Unit RTL Register Transfer Language Vxl Vi xử lý Trang 1/38 CHƯƠNG TỔNG QUAN VỀ CPU KIẾN TRÚC RISC 1.1 Giới thiệu RISC (Reduced Instructions Set Computer - Máy tính với tập lệnh đơn giản hóa) phương pháp thiết kế vi xử lý theo hướng đơn giản hóa tập lệnh, thời gian thực đồng xung clock Các vi xử lý RISC thông dụng PowerPC IBM, DEC Alpha, PIC, ARM, SuperH, MIPS, SPARC, PA-RISC Hình 1-1: Chip vi xử lý ARM Bảng 1-1: So sánh CPU RISC với CPU khác Thiết kế CPU RISC 32 bit đơn chu lệnh add Trang 2/38 1.1.1 Lịch sử Nhiều tính VXL thiết kế nhằm giúp cơng việc lập trình trở nên dễ dàng tính thường cần vài chu kỳ máy để thực lại thường bị phần mềm bỏ sót Cộng thêm khác biệt hiệu CPU nhớ dẫn đến nhiều kỹ thuật nhằm tổ chức lại trình thực thi xử lý, nhằm hạn chế số lần truy cập nhớ Những phần mềm thực tế hầu hết tốn nhiều thời gian để thi hành số tác vụ đơn giản, số nhà nghiên cứu hướng đến việc tối ưu hóa tác vụ Do xung nhịp (clock rate) CPU bị hạn chế thời gian thực lệnh chậm nhất, nên tối ưu lệnh khiến cho toàn tập lệnh thực thi nhanh nhiều Mục tiêu RISC đơn giản hóa lệnh, để lệnh thực thi chu kỳ máy Việc tập trung đơn giản hóa lệnh cho đời loại "Máy tính với tập lệnh đơn giản hóa" - RISC Những năm cuối 1970, nhà nghiên cứu IBM khẳng định hầu hết phương pháp đánh địa trực giao bị chương trình bỏ sót Đây kết không mong muốn sử dụng trình biên dịch cấp cao thay sử dụng hợp ngữ Andrew Tanenbaum dựa vào kết đo đạc lúc khẳng định thiết kế thừa q mức Ơng cho phần lớn thực 13 bit, CPU thiết kế theo bội số thường 8, 16 32 Nếu CPU cho phép cất bit dư mã lệnh làm giảm bớt nhiều lần truy cập nhớ Thay phải đọc từ nhớ hay từ ghi, trình thực thi nhanh CPU cần Một nghiên cứu chúng tỏ tính sử dụng thực chúng thực chậm nhóm lệnh thực nhiệm vụ Đây giống nghịch lý tiến trình thiết kế VXL, người lập trình quan tâm đến lệnh sử dụng phổ biến CPU bắt đầu hoạt động nhanh nhớ Năm 1970, người ta tiên đốn việc cịn tiếp diễn khơng thập niên nữa, đến lúc CPU nhanh nhớ gấp nhiều lần CPU cần thêm nhiều ghi (hay gọi cache) để thực tốc độ nhanh Nếu giảm phức tạp CPU, ghi nhớ đệm cần khoảng trống chip RISC thường có tập lệnh lớn Cũng từ khuynh hướng đơn giản hóa đó, số thiết kế thú vị đời MISC (Minimal Instruction Set Computer - Máy tính với tập lệnh tối thiểu) hay OISC (One Instruction Set Computer) với máy tính Transport Triggered Architectures, thiết kế khác sâu vào vấn đề Turing tarpit Thời gian đầu ngành công nghiệp máy tính, trình biên dịch chưa hình thành Cơng việc lập trình thực ngơn ngữ máy (mã nhị phân) hợp ngữ Để việc lập trình đơn giản, VXL thêm lệnh biểu diễn trực tiếp Thiết kế CPU RISC 32 bit đơn chu lệnh add Trang 3/38 cấu trúc ngơn ngữ lập trình cấp cao Lúc thiết kế phần cứng dễ nhiều so với thiết kế trình dịch, phức tạp dồn vào phần cứng Điểm khác CPU RISC so với CPU CISC khả thực thi thứ ghi, đọc lưu liệu vào ghi Do để tránh hiểu lầm nhiều nhà nghiên cứu thích dùng thuật ngữ load-store Giờ để hoàn thành việc, chương trình viết với lệnh đơn giản thay với lệnh phức tạp, phần lớn lệnh phải đọc từ nhớ nhiều nhiều thời gian Những CPU thời kỳ trước nhiều ghi ngun nhân sau:  Một bit CPU giá trị cao nhiều so với bit nhớ ngồi Với cơng nghệ tích hợp thời kỳ để sử dụng thêm ghi định phải có thêm vùng trống board chip  Một lượng lớn ghi cần lượng lớn bit mã lệnh để xác định ghi Vì lý trên, chuyên gia thiết kế VXL nỗ lực để lệnh thi hành nhiều kĩ thuật tốt Điều dẫn đến lệnh làm tất công việc nạp số cần cộng, cộng chúng lại, cuối lưu trở lại vào nhớ Cũng lệnh lại đọc số từ ghi số lại từ nhớ sau lưu kết vào nhớ Khuynh hướng thiết kế VXL gọi Complex Instruction Set Computer – CISC Mục đích chung thời gian lệnh giúp đỡ nhiều khả đánh địa tôt Điều dẫn đến số phức tạp cho CPU, theo nguyên lý lệnh tối ưu khác nhau, làm q trình thiết kế nhanh người lập trình sử dụng lệnh đơn giản Những năm đầu thập niên 1980, công nghệ thiết kế VXL đạt đến đỉnh điểm Sự tăng cường cịn hồn thiện với cơng nghệ bán dẫn, giảm bớt đường kính transistor dây nối chip Dù cấu trúc tinh vi chip khơng thay đổi với kích thước nhỏ phục vụ tốc độ cao Cũng có nhiều nỗ lực để thiết kế chip VXL đồng thời Thay làm cho chip chạy với tốc độ nhanh người ta làm cho nhiều chip chia sẻ tác vụ Ý tưởng có lẽ "kênh dẫn" (pipeline) Đây khả nhằm chia nhỏ thời gian thực lệnh thành nhiều chu trình, chu trình khác lệnh khác thực thi đồng thời Một xử lý thơng thường đọc lệnh, giải mã nó, đọc vùng nhớ lệnh cần, thực thi lệnh, trả kết Với kỹ thuật "kênh dẫn", VXL đọc lệnh sau đọc xong lệnh trước đó, tức vừa giải mã lệnh vừa đọc lệnh kế tiếp, tới chu kỳ kế VXL làm việc với ba lệnh lúc, tiếp tục Lệnh theo sau hoàn thành sau lệnh trước hoàn tất nên giải pháp hiệu nhằm tận dụng tối đa tài nguyên VXL Thiết kế CPU RISC 32 bit đơn chu lệnh add Trang 4/38 Một cách khác dùng nhiều phân đoạn xử lý song song VXL Giả sử phải giải lệnh VXL tìm cách làm lệnh đơn vị xử lý khác Tuy nhiên giải pháp khó thực nhiều lệnh đơi lại phụ thuộc vào kết lệnh trước Cả hai phương án hướng tới việc cải tiến cách tăng độ phức tạp CPU Vì kích thước chip hạn hẹp để thêm khả cần loại bỏ tính khác Vì RISC lợi ích trước tiên cấu hình dễ hiểu CISC lớn Những thiết kế RISC đầu đời phát triển thêm khả ích giúp chúng hình thành chip CISC tương ứng Lúc chuyên gia bắt đầu phát đến việc cộng điều vào chip CISC chắn đường kính chúng, công việc kéo dài suốt năm cuối thập niên 1980 đầu 1990 Dù khả nào, đơn vị logic chip RISC cần transistor so với chip CISC Sự kiện giúp người lập trình có nhiều nhạy bén, ví dụ họ có thể: Những điểmthước thường thấyghi chip RISC: Tăngđặc số kích Sử dụng phương pháp tối ưu để tăng mức độ xử lý song song bên CPU Ngày nay,superscalar) số kiến trúc RISC hình thành dựa vào kiến trúc Harvard, (pipeline, đường liệuthước đường Tăngdữkích cachechương trình khác biết Điều làm cho trình đọc liệu mã lệnh thực đồng thời nâng cao cơng suất VXL Thêm tính I/O, timer v.v… Một điểm yếu VXL RISC hệ hiệu ứng branch delay Thêm bộnày xử lý vector slot Hiệucác ứng xảy có lệnh nhảy có điều kiện, lúc dù có thực nhảy hayTận không một công số lệnh theocũ,sau thi điều dụngthìcác dây chuyền nghệ vớithực CISC nàylệnh khó khăn đưa vào pipeline lúc lệnh nhảy xử lý Điều gây khoảng thời kích thước chip lớn gian trễ thực thi lệnh nhảy có điều kiện branch delay slot xuất Cung cấp VXL nhữngRISC chip cho MIPS, PA-RISC ứng dụng có SPARC yêu cầumà caocòn thờitrong giancác sử DSP dụng pin µPD77230 TMS320C3x Tuy nhiên ngày thiết kế RISC đại người cóchuẩn thể loại được(víhiệu Địnhta dạng mãbỏlệnh dụ ứng lệnhnày có chiều dài cố định, bit mã lệnh ln nằm vị trí cố địnhbiết lệnh) trình giải mã lệnh giản VXLởRISC đếnmã đầu tiênsẽlàlàm siêuquá máy tính CDC 6600đơn Jim Thornton Seymour Cray thiết kế năm 1964, có 74 mã lệnh (8086 có 400 mã lệnh) cộng vớimọi 12 Các ghi đồng nhất, chúng sử dụng thay máy tính đơn giản gọithanh "bộ lý ngoại vi"nguyên để xử lý CDCdấu 6600 sử dụng tình (tuy nhiên ghixửdành cho số vàI/O số thực chấm độngkiến trúc load-store, hỗ trợ phương pháp đánh địa chỉ, có 11 đơn vị "kênh dẫn hóa", phân biệt nhau) năm đơn vị đọc liệu đơn vị để lưu liệu (bộ nhớ tổ chức theo bank đánh giản có động nhữngđồng phương địa phức tạp cần kết Cách đơnđịa vị đọc đơn ghi có thểĐể hoạt thời).pháp Tốcđánh độ xung đồng hồ/lệnh nhanh hợp cácsophép sốtruy học.xuất nhớ với 10 lần với toán tốc độ Hỗ trợ thời kiểugian liệu CISC thực có thểhiện có thao tác với xử Cũng khoảng (một John số L chip Hennessy dựcác án lệnh MIPS Đại họcchuỗi, Stanford lý số 1981 phức nhưvào thếkhả chẳng tồnđểtạiphục trongvụ1tối chip lý năm MIPSma hầutrận nhưNhững chúlệnh trọng năngbao pipeline đaRISC kĩ tưởng) VXL Cho dù thực trước rồi, với RISC, phương pháp thực cải tiến vượt bậc Nhưng vấn đề thiết yếu nhất, phiền tối nhất, yêu cầu tất lệnh định phải thực thi chu kỳ máy Nếu đáp ứng Thiết kế CPU RISC 32 bit đơn chu lệnh add Trang 5/38 yêu cầu này, pipeline thi hành tốc độ cao yếu tố định đến tốc độ VXL Tuy nhiên có mặt trái phải bỏ nhiều lệnh có ích nhân, chia Hầu hết dự án kể nhằm mục đích cải tiến kỹ thuật có, phải chờ tới năm 1975, dự án nhằm cho đời chip RISC hoàn chỉnh thực IBM Được đặt tên theo số nhà nơi dự án thực hiện, dự án cho đời họ VXL IBM 801 vốn sử dụng rộng rãi phần cứng IBM Một máy tính khác thiết kế với kiến trúc load-store Data General Nova Đây CPU nhỏ 16 bit thiết kế năm 1968 công ty Mỹ tên Data General Tuy nhiên VXL RISC biết nhiều lại đến từ dự án thực chương trình VLSI (Very Large-Scale Integration) DARPA (Defense Advanced Research Projects Agency) Dự án cho đời nhiều phát triển liên quan đến thiết kế, sản xuất chip đồ họa máy tính Dự án RISC Đại học Caifornia, Berkeley bắt đầu năm 1980 hướng dẫn David Patterson với mục đích nâng cấp hiệu suất VXL dựa kỹ thuật pipeline register windows Một VXL thơng thường có ghi, chương trình tùy ý sử dụng ghi lúc Vì thơng thường lần gọi chương trình con, VXL cần lưu lại giá trị số ghi sau hồi phục lại ghi thực lệnh return Dự án RISC cho đời VXL RISC-I năm 1982 VXL chứa 44.420 transistor (so với 100.000 transistor cho VXL CISC), với 32 lệnh hoàn toàn vượt xa VXL đơn chip thời VXL RISC-II đời năm 1983 với 39 lệnh, chứa 40.760 transistor nhanh gấp lần RISC-I Trong năm đầu, dự án chủ yếu biết đến trường đại học Đến năm 1986, tất dự án RISC bắt đầu cho đời sản phẩm Ngày hầu hết chip RISC, thiết kế dựa kiến trúc RISC-II Berkeley Bảng 1-2: Các hệ thống RISC phổ biến Họ MIPS, máy tính SGI, PlayStation Nintendo 64 game consoles Họ POWER SuperComputers/mainframes IBM Freescale (trước Motorola SPS) IBM's PowerPC Nintendo Gamecube, Microsoft Xbox 360, Nintendo Wii and Sony PlayStation game consoles, gần Apple Macintosh SPARC UltraSPARC, tất hệ thống Sun Thiết kế CPU RISC 32 bit đơn chu lệnh add Trang 26/38 CHƯƠNG 4: NHẬN XÉT - Kết mô nạp kit DE2 giống với lý thuyết Kết nạp kit DE2 thực bit cuối liệu hạn chế chân - Switch Kit CPU thực lênh nên không nhận thấy rõ khác biệt khối - cấu trúc Lệnh add dùng thực gán liệu vào địa khác ghi cho liệu cộng với ghi CHƯƠNG 5: KẾT LUẬN Thiết kế CPU RISC 32 bit đơn chu lệnh add Trang 27/38 - Sau hoàn thành Đồ án hướng dẫn giảng viên em hiểu rõ cấu trúc chức CPU RISC 32 bit đơn chu kỳ Đề tài thiết kế RISC mang tính thực tế cao, tảng để em phát triển lên Đồ án tốt nghiệp - CPU RISC 32 bit đa chu kỳ nhiều lệnh hơn, nhiều loại Trong trình thực Đồ án em tích lũy nhiều kinh nghiệm thiết kế phần cứng Cải thiện tư phần cứng hiểu rõ vi xử lý RISC TÀI LIỆU THAM KHẢO Thiết kế CPU RISC 32 bit đơn chu lệnh add Trang 28/38 [1] Lâm Đức Khải-Giáo trình Verilog HDL, University of Information Technology [2]Ths Vũ Đức Trí-Kiến trúc máy tính hợp ngữ [3] Phạm Hữu Tài-Kiến trúc máy tính [4] Galen Sasaki-Single Cycle Processor, EE 361 University of Hawaii [5] https://voer.edu.vn/ [6] https://vi.wikipedia.org/ PHỤ LỤC Code khối PC module pc(inp,outp,clk); input wire[31:0] inp; Thiết kế CPU RISC 32 bit đơn chu lệnh add Trang 29/38 output reg [31:0] outp; input clk; initial begin outp=32'd0; end always@(posedge clk) begin outp

Ngày đăng: 21/01/2018, 20:25

Từ khóa liên quan

Mục lục

  • DANH MỤC CÁC BẢNG BIỂU

    • RTL Register Transfer Language

Tài liệu cùng người dùng

Tài liệu liên quan