[CS61C FA20] Lecture 21.1 - Pipelining I: Pipelining — Transcript
Full transcript
- 0:00[Music]
- 0:10hello welcome back to 61c
- 0:12we are starting a new module this module
- 0:16will deal with pipelining
- 0:17so far we have designed the functional
- 0:19unit and evaluated its performance
- 0:21but we really didn't get a sense is that
- 0:23performance
- 0:24good or bad and
- 0:27is that the the cycle time the only
- 0:30measure of performance
- 0:32what we'll do in the this unit will
- 0:33actually start measuring the performance
- 0:35or different ways how we measure the
- 0:37performance and then
- 0:39figuring out the way how to improve it
- 0:42so let's get going
- 0:45in our new school of machine structures
- 0:48we have looked at different
- 0:50layers of hierarchy and how can they
- 0:53support
- 0:53parallelism now we are going to take a
- 0:56look
- 0:57at parallelism at the instructional
- 1:00level
- 1:01and what do we need to do in the
- 1:02hardware in the execution units
- 1:04to support simultaneous
- 1:08execution of instructions
- 1:12we are also introducing uh
- 1:15one of our six great ideas in computer
- 1:18architecture
- 1:19which is performance measurement and
- 1:21improvement
- 1:23we simply what we mean by that is
- 1:26we need to know how to measure the
- 1:28performance in order to be able to
- 1:30improve it so let's get going
- 1:36we had one measure of performance which
- 1:38was the minimum cycle time that we
- 1:40needed to execute an instruction
- 1:42in our single cycle risk five cpu
- 1:46and we determine the time by trying to
- 1:48measure the time that it takes to
- 1:50execute
- 1:51each of the five phases of execution so
- 1:54we looked at the instruction fetch
- 1:55and found out the instruction fetch
- 1:57takes 200
- 2:00picoseconds that instruction decode
- 2:03takes about 100 picoseconds
- 2:05the alu operation that
- 2:10is our execute phase would take another
- 2:12200 picoseconds
- 2:13memory access will take yet another 200
- 2:16picoseconds and finally right back would
- 2:18be done we completed in 100 picoseconds
- 2:22when you sum all of that up the minimum
- 2:24cycle time was
- 2:25800 picoseconds now
- 2:28not every single instruction goes
- 2:31through all five phases of execution
- 2:33and we found out that it was just only
- 2:35one of them load word that
- 2:37went through all five phases of
- 2:40execution
- 2:41um but we can have a processor that
- 2:44can you know we could possibly think of
- 2:48a
- 2:48trying to clock this processor faster
- 2:50but then it will not be able to do
- 2:53a load word instruction although it will
- 2:55be able to do
- 2:56most of the other instructions so
- 2:59always our critical path is set by the
- 3:02longest
- 3:03instruction here that the longest time
- 3:06that an instruction takes
- 3:08in this case that was 800 picoseconds
- 3:10and
- 3:12we determined that the maximum clock
- 3:14frequency is equal to 1 over that
- 3:16those 800 picoseconds and that was 1.25
- 3:21gigahertz
- 3:24and that was one measure of a
- 3:25performance so our single
- 3:27cycle cpu can execute instructions at
- 3:321.25 gigahertz that means that it can
- 3:35start an instruction
- 3:36and completed it um within
- 3:39800 picoseconds and then can start
- 3:41another one that would take also 800
- 3:43picoseconds and so on
- 3:46it would finish 1.25 billion
- 3:51instructions per second
- 3:54so the question here is can we do better
- 3:56than that
- 3:58and is that the only measure of
- 4:01performance
- 4:02so generally when we take a look at the
- 4:05spec sheet
- 4:06for any kind of a product there are
- 4:08usually different kinds of performance
- 4:10measures
- 4:12so in this case let's try to see what do
- 4:14we mean by a person
- 4:15performance of a processor
- 4:20in some cases it may mean that it may
- 4:23have a quicker response time so
- 4:25if we give it one job it will will it
- 4:27finish it
- 4:28sooner so the time to execute one job
- 4:31may be
- 4:32the the the
- 4:35a performance measure or how many jobs
- 4:39can you do
- 4:39in a unit time so you know how many
- 4:42web pages can it serve or how many
- 4:45spoken words can it recognize or
- 4:47how many chess games can it do
- 4:50can it play in an hour
- 4:54or um how much energy does it take
- 4:57meaning how many uh how
- 5:01long will our battery last when running
- 5:04this processor running tasks on this
- 5:07processor like
- 5:08watching movies how many movies can we
- 5:10watch on a battery charge
- 5:13what is useful to think of
- 5:17while we are getting a sense for a
- 5:18process of performance to think of
- 5:20something that is that is
- 5:21much more familiar like transportational
- 5:23knowledge and in transportation we can
- 5:25take a look
- 5:26at the performance metrics of a sports
- 5:28car
- 5:29versus performance metrics of a bus and
- 5:31usually people think
- 5:33of a sports car as a performance car
- 5:38but bus is also a performance vehicle
- 5:41for certain under certain metrics
- 5:45so let's take a look at uh on the left
- 5:48hand side uh specs for a sports car
- 5:52and specs for a bus so the sports car
- 5:54can carry two passengers the bus can
- 5:56carry 50 passengers
- 5:58um a sports car can go at 200 miles per
- 6:01hour and the bus can only go at 50 miles
- 6:03per hour
- 6:05and gas mileage for the sports car is
- 6:07five miles per gallon
- 6:09um so it can go more miles per gallon
- 6:12than the bus that can only go
- 6:13two miles per gallon so let's see how
- 6:16they perform on a task
- 6:19that involves transporting a hundred
- 6:21passengers
- 6:22over a 50 mile trip and in this case
- 6:25we're just going to assume that
- 6:27we are measuring only one-way
- 6:30travel and
- 6:33both the car and the bus um
- 6:36immediately somehow come back to the
- 6:40starting point you know reload the
- 6:43passengers
- 6:43and go back so we we're just measuring
- 6:46the time that
- 6:47it is taking to transport the passengers
- 6:51so a sports car um will travel
- 6:5550 miles in 15 minutes the bus will take
- 6:58an hour
- 6:59but in every trip the
- 7:02the pal the sports car will only deliver
- 7:04two passengers and
- 7:05go somehow transport itself empty and
- 7:08take another two passengers
- 7:10so in total to trans transport a hundred
- 7:12people will take 750 minutes on the
- 7:15other hand the bus will take only two
- 7:17trips
- 7:17so it'll be done in 120 minutes
- 7:22the energy efficiency of a bus is a lot
- 7:24better than the energy efficiency of a
- 7:26car
- 7:27the car um uh takes
- 7:30five gallons per passenger to deliver
- 7:33them
- 7:34uh 50 miles to the destination if it's
- 7:3850 miles away
- 7:39and a bus takes only
- 7:430.5 gallons per passenger
- 7:46so if we had so we see a difference here
- 7:51and
- 7:51what does it mean something having a
- 7:53higher performance
- 7:55yeah a sports car is better if we have
- 7:58something that is of a very high value
- 8:00that needs to be
- 8:00transported 50 miles away
- 8:04an injured person for example
- 8:09but bus is much better in delivering
- 8:12moving a lot of people over a distance
- 8:15so
- 8:15it will do it in a much shorter time and
- 8:18save a lot of energy
- 8:19let's see how does this relate to the
- 8:21compute performance
- 8:23so in the transportation what we had was
- 8:27trip time in computer world that
- 8:30metric of performance will be program
- 8:32execution time
- 8:34how long does it take to execute a
- 8:37a program or for example time to update
- 8:40the
- 8:40display with a new picture
- 8:46the second metric that we had was the
- 8:49time
- 8:49to for in in transportation world time
- 8:52to transport 100 passengers
- 8:55in the compute world it is a metric
- 8:59that measures how many tasks can
- 9:03can we do in a given time for example
- 9:06in this case it would be how many web
- 9:09pages can be served in a given time um
- 9:12or how many
- 9:12server requests can be performed in an
- 9:14hour
- 9:16and then third one is the energy
- 9:18efficiency the way how we measure the
- 9:19energy efficiency in the cars is
- 9:21you know gallons per passenger in a
- 9:24computer
- 9:25we measure them we also measure energy
- 9:28efficiency
- 9:29by the amount of energy used electrical
- 9:32energy used
- 9:33so in this case we will measure the
- 9:36energy per task or
- 9:37how much energy does playing a movie
- 9:40take
- 9:41or how many movies can we watch from a
- 9:42battery charge
- 9:44keep in mind that the energy is
- 9:46important for
- 9:47both mobile devices where we kind of
- 9:50have a better sense for this
- 9:51how much energy is stored in in a
- 9:54battery
- 9:56energy is also very important for high
- 9:58performance servers that live in
- 10:00warehouse computers
- 10:01in data centers over there the cost of
- 10:04running a data center is essentially
- 10:07the cost of energy the hardware
- 10:10um you know the energy cost
- 10:14overshadows the hardware cost after
- 10:16about a
- 10:17year or you know year and a half after
- 10:19deployment so that's a that's a big deal
- 10:22in every
- 10:24[Music]
- 10:25application domain or in every domain of
- 10:27computing
- 10:29finally one thing that is important to
- 10:31notice that power is generally not a
- 10:33good measure
- 10:35of efficiency energy is much better
- 10:38power is a rate of exchange of energy so
- 10:41they're kind of related
- 10:43but um the the way how we can think of
- 10:48it
- 10:48is we can have um
- 10:51a really low performance cpu that is
- 10:54very low power
- 10:55very very low power but it would take so
- 10:59long to complete
- 11:01the task um that
- 11:04it would basically drain the energy by
- 11:06the time it's done on the other hand
- 11:07some better optimized cpu can probably
- 11:10do
- 11:11multiple tasks long tasks with
- 11:15one battery charge we'll
- 11:18see a bit more about that later but for
- 11:20now what we want to
- 11:22remember is we really care about the
- 11:24energy
- 11:25energy is what is stored in the battery
- 11:28and that's what
- 11:29the utility charges charges us
- 11:34in units for delivering us the energy
- 11:37not the power so that's it for the quick
- 11:42introduction
- 11:43so we are going to try to take a
- 11:46deeper look into the processor
- 11:48performance after a quick break
About this transcript
This page contains the full transcript of [CS61C FA20] Lecture 21.1 - Pipelining I: Pipelining by CS 61C Departmental, generated from the public captions YouTube serves with the video. The transcript has 1,628 words across 297 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.