[video member=miotatsu stream_platform=twitch project=book title="2.8 cont." vod_platform=youtube id=Gxkr1nMBz1g annotator=Miblo] [0:00][Recap and set the stage for the rest of the chapter][:speech] [1:54][Definitions: jump-and-link instruction; return address; caller; callee; program counter (PC); stack; stack pointer; push; pop[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:memory] [3:36][Pushing and popping in hula[ref site=GitLab page="hula / hello.S" url=https://gitlab.com/riscy-business/hula/blob/master/hello.S]][:asm :memory] [6:22][Note a fault with our HiFive Unleashed Expansion Board[ref site="Twitter: @hmn_riscy" page="Inspecting the expansion board when powered, I see one of the LEDs is orange instead of green... I wonder if I have defective hardware?" url=https://twitter.com/hmn_riscy/status/1052802399407083521]][:hardware] [8:38][Pushing and popping in hula, continued[ref site=GitLab page="hula / hello.S" url=https://gitlab.com/riscy-business/hula/blob/master/hello.S]][:asm :memory] [11:14][Chapter 2.8 continued, Using More Registers[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:memory] [15:03][Chapter 2.8 Example 1 - Compiling a C Procedure That Doesn't Call Another Procedure[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:asm :blackboard :language] [18:19][Fixed-width integer types, as used in pcalc[ref site=GitLab page="pcalc" url=https://gitlab.com/riscy-business/pcalc]][:language :memory] [26:19][Leaf procedure, as used in hula[ref site=GitLab page="hula / hello.S" url=https://gitlab.com/riscy-business/hula/blob/master/hello.S]][:asm :language :memory] [31:02][Chapter 2.8 Example 1, continued[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:asm :blackboard :language :memory] [38:58][Compare our answer to Chapter 2.8 Example 1 with the book[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4][ref title="RISC-V Reader" author="David Patterson and Andrew Waterman" publisher="Strawberry Canyon" isbn=9780999249116 url=http://www.riscvbook.com/]][:asm :language :memory] [44:08][Allocating and navigating the stack[ref site=GitLab page="hula / hello.S" url=https://gitlab.com/riscy-business/hula/blob/master/hello.S][ref title="RISC-V Reader" author="David Patterson and Andrew Waterman" publisher="Strawberry Canyon" isbn=9780999249116 url=http://www.riscvbook.com/]][:blackboard :memory] [51:36][Continue to compare our answer to Chapter 2.8 Example 1 with the book[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:asm :language :memory] [55:08][@glEnd2][Hello world] [55:11][Reusing registers][:blackboard :memory] [55:56][Continue to compare our answer to Chapter 2.8 Example 1 with the book[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4][ref title="RISC-V Reader" author="David Patterson and Andrew Waterman" publisher="Strawberry Canyon" isbn=9780999249116 url=http://www.riscvbook.com/]][:asm :language :memory] [57:53][@glEnd2][Anyone know who @krish2nasa is?] [58:03][@krish2nasa][Is there a chapter on Ultra Low Power features and Techniques? Thank for your time and effort in making these streams] [1:00:46][Continue to compare our answer to Chapter 2.8 Example 1 with the book[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:asm :language :memory] [1:04:34][Chapter 2.8 continued, on temporary and saved registers[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:memory] [1:08:54][Figure 2.10 - The values of the stack pointer and the stack (a) before, (b) during, and (c) after the procedure call[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:memory] [1:12:52][Glimpse into the remainder of the chapter][:speech] [1:16:57][Wrap the episode up here][:speech] [/video]