datapath of processor in depth CPU design 

35 阅读2分钟

Group Project: CPU design 
The goal: this project is intended to make students understand datapath of processor in depth 
by design and operating on it. 
Task to do 

  1. Make a group (1 to 6). 
  2. Your goal: Build a single clock cycle processor (MIPS, 32bits). 
  3. You have freedom of designing your processor, but there are a few conditions to follow: 
    - You can choose the number of functions in ALU (but should have at least LAB08 ALU + 
    shift operations) 
    - In case of register file, 32 x 32 is recommended (32bits x 32 entries) 
    - Your processor should run at least load/store, add operations. (actually, addition is 
    required to make load/store works) 
    - If you have some difficulties to design or create a specific circuit, then you may use some 
    internet downloadable subcircuits. 
    In this case, you should provide: 
    a. Clear reference like URL where you downloaded the circuit. 
    b. The reason why you use online available circuit, (e.g., difficult to design, difficult to 
    understand, etc) 

    How to write report: Your report must include the following items. 
  4. Who is responsible for which circuit design (or which part). 
  5. For each circuit, there should be full (detailed) explanation of design and how it 
    works, how you checked the correct output according to your input. 
  6. Description of your final processor 
  • What is considered. 
  • Which instruction can be executed. 
  • A single clock cycled or pipelined? 
  1. For each circuit, save it as circ file with proper name and zip them with your report. 
    (file name 代 写datapath of processor in depth CPU design  of your circ file should be ALU, register_file, etc.)  How will it be graded? 
  2. Since there are circuits available on the Internet, clear and detailed explanation of 
    your circuit (each part) will get more points. 
  3. Also, more functionalities will get more points, for example: 
  • a single clock cycle → pipelined processor 
  • aforementioned basic instructions runnable → branch, jump, or immediate 
    instruction, etc. 
    - pipelined + forwarding unit (or even hazard detection unit) 
  1. However, your additional parts are not clearly explained (how to design or how it 
    works, etc.) → you will not get any extra points. 
  2. In summary, “a single cycle processor” with good explanation of your circuit will get 
    higher points than “5 stage pipelined processor including forwarding unit” with poor 
    explanation. 

    Here is my suggestion for your report order. 
    Order of report 
  3. On the top of your report, write down that who, including ID, was responsible for which part. 
  4. Brief introduction of your design (around 5-6 sentences): 
    What is your design goal, to do so what kind of functionalities are considered (e.g., our 
    design focused on the pipelining, or we focused on basic processor design). 
  5. For that goal, how did the job divided and assigned. 
  6. For this section, each part should be clearly explained: how it was designed, how to handle 
    difficulties, how it works, and how it was tested to see if it works or not, etc. 
  7. Explanation of final completed processor: what can be done with this processor, how you 
    checked instructions runnable or get the correct output, etc. 
  8. Brief conclusion (5-6 sentences but up to you). 
  9. Any comments you want to make, or any suggestion for this project like how to improve or 
    something. 
  10. Reference: If you used online available circuits then you should mention it here, or if you 
    check some detailed information of a specific circuit (e.g., register file design, etc.), you should 
    cite a book, or website. (NOTE: If you are citing any sentences from some source like websites 
    or books, you MUST have a reference for your sentence.) For example, “A continuing trend in 
    the design of computer systems is the use of superscalar processors that can issue ever more instructions per cycle.[1]”. Here the words in “… ” are from one paper, then in your reference, 
    your should write where the words are from, like: 
    [1] Register File Design Considerations in Dynamically Scheduled Processors.pdf. or URL, or 
    WX:codinghelp