[CS61C FA20] Lecture 18.1 - Single-Cycle CPU Datapath I: RISC-V Processor Design — Transcript
Full transcript
- 0:00[Music]
- 0:10welcome to a new module in 61c
- 0:13in this module we'll design a risk 5
- 0:16processor
- 0:18that's my favorite part of the entire
- 0:20course
- 0:22because it will really help us connect
- 0:24the software story
- 0:26with the hardware story that we have
- 0:27been telling
- 0:29let's get into it but first let's recap
- 0:33where do we stand 61c
- 0:36is centered around the instruction set
- 0:39architecture
- 0:40which is the part that separates and
- 0:43joins together
- 0:44the software and the hardware
- 0:48early in the class we have spotlighted
- 0:52the higher level language which was c
- 0:54and there is five assembly language
- 0:58assembly language compiles to the
- 1:00machine code and
- 1:02any hardware that implements that same
- 1:05ris 5 isa
- 1:07should be able to execute any risk 5
- 1:10binary machine code so that's great
- 1:14we are going to see now how do we build
- 1:16hardware that actually
- 1:19executes risk 5 code and keep in mind
- 1:23there may be many different variations
- 1:26of that hardware
- 1:27but they all have to execute that code
- 1:31so we have seen how we build
- 1:35digital systems out of logic gates
- 1:39based on boolean equations so what we'll
- 1:42do now
- 1:43we'll zoom in on the design of a data
- 1:46path
- 1:46and control that put together
- 1:50when put together comprise a
- 1:52microprocessor
- 1:56this picture of machine structures
- 2:00still applies but we like to look at the
- 2:02world now in a more
- 2:0521st century kind of way in the new
- 2:08school of machine structures we
- 2:12emphasize parallelism and we have seen
- 2:14that things can be
- 2:15paralyzed in many ways in higher levels
- 2:18but keep in mind that
- 2:20at a very low level
- 2:23hardware descriptions are inherently
- 2:27parallel
- 2:28all the gates switch together
- 2:31and operate in in with a very high
- 2:33degree of parallelism
- 2:35but we'll find out that that those
- 2:37functional units
- 2:38that are built out of these gates also
- 2:41operate
- 2:41in parallel and then we can have
- 2:44multiple functional units
- 2:47that can execute multiple instructions
- 2:51in parallel
- 2:53so we'll be emphasizing this
- 2:56level of concurrency and parallelism
- 2:58throughout
- 2:59the our story of describing the hardware
- 3:04one more reminder remember our
- 3:07very important picture about the layers
- 3:10of abstraction
- 3:11we have started with the c as an example
- 3:15of a high level language
- 3:16then we talked about the assembly
- 3:17language and
- 3:20described the machine language or
- 3:22machine code that risk 5 executes
- 3:25and i mentioned this already in this
- 3:27intro
- 3:28and mentioned this before
- 3:31there can be many implementations of the
- 3:34risk 5 isa
- 3:36but they all have to execute that binary
- 3:39code
- 3:40so on the bottom out of the gates that
- 3:43we have learned so far
- 3:44we can put different implementations
- 3:48of risk 5 processors but they should all
- 3:51be able to
- 3:52execute the same binary so
- 3:55we are going to guide you through a
- 3:58design of one particular
- 4:00data path and control associated control
- 4:04but we are going to see that there can
- 4:06be many variants of that
- 4:11remember our microprocessor so far we
- 4:13have only talked about
- 4:15a single core microprocessor but we can
- 4:18have multiple cores
- 4:19that can operate in parallel in our
- 4:21single core microprocessor model
- 4:23we had the processor on the left memory
- 4:27in the middle and
- 4:28input and the output connected to it
- 4:31inside the processor there are two main
- 4:33parts
- 4:34we haven't talked really much about them
- 4:36although we got some picture
- 4:38about what they do there is a control
- 4:41and there is a data path
- 4:42inside our data path we have found
- 4:45registers
- 4:46and a special one which was the program
- 4:48counter
- 4:49and the arithmetic logic unit as
- 4:53the most common functional unit that we
- 4:56use
- 4:56there may be other functional units but
- 4:58we're going to
- 4:59focus on the alu for now so
- 5:03inside the microprocessor or the cpu
- 5:08or cpu stands for essential processing
- 5:10unit
- 5:12there are two main components and again
- 5:14cpu
- 5:15is this active part of a computer where
- 5:18the main action happens there are two
- 5:21main parts in it
- 5:22which are the data path and the control
- 5:26the data path sometimes we may call it
- 5:28the bronze
- 5:29of the processor is the portion of a
- 5:31processor that
- 5:33has necessary hardware to execute all
- 5:36the
- 5:36instructions that we have in the isa now
- 5:39there is one important point that i like
- 5:41to make here we can build
- 5:43a separate data path for every
- 5:45instruction we have seen thirty
- 5:47something instructions so far
- 5:49in risk five integer base subset
- 5:53but we don't build a separate
- 5:56data path for each instruction we build
- 5:59one data path
- 6:01that executes many instructions or in
- 6:04our case
- 6:05all rb32i instructions
- 6:08the data path can be configured to
- 6:10optimally execute
- 6:12every single one of these instructions
- 6:14so the role
- 6:15of the control or the brain of the
- 6:17microprocessor
- 6:19is to control the data path or tell the
- 6:22data path
- 6:23how to set itself such that it executes
- 6:26each instruction correctly
- 6:30what we have seen so far is
- 6:33this subset of instructions that
- 6:37comprise the rb32i
- 6:38or the integer part of the base
- 6:42instruction set for a 32-bit variant of
- 6:44risk five
- 6:45that is enough to to to allow us to
- 6:49write
- 6:49any c code so what we are going to do
- 6:52now we are going to go through different
- 6:56types of instructions
- 6:57and build the data path and the
- 6:59associated control that is needed to
- 7:02execute
- 7:03them in the end when we complete this
- 7:06journey
- 7:07we could build a processor like this
- 7:10risk five processor that can run any
- 7:13assembly or
- 7:14any c code that we can write that's
- 7:16quite exciting we're going to get into
- 7:18that
- 7:19just after the break
About this transcript
This page contains the full transcript of [CS61C FA20] Lecture 18.1 - Single-Cycle CPU Datapath I: RISC-V Processor Design by CS 61C Departmental, generated from the public captions YouTube serves with the video. The transcript has 934 words across 181 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.