From 07feef26903af851fe8668fdc4ddaeaa4d0748e5 Mon Sep 17 00:00:00 2001 From: Matt Mascarenhas Date: Mon, 29 Oct 2018 17:39:45 +0000 Subject: [PATCH] Annotate riscy/coad024 --- miotatsu/riscy/coad/coad024.hmml | 104 +++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 miotatsu/riscy/coad/coad024.hmml diff --git a/miotatsu/riscy/coad/coad024.hmml b/miotatsu/riscy/coad/coad024.hmml new file mode 100644 index 0000000..e9c289d --- /dev/null +++ b/miotatsu/riscy/coad/coad024.hmml @@ -0,0 +1,104 @@ +[video member=miotatsu stream_platform=twitch project=book title="2.8 cont." vod_platform=youtube id=XtcV_DqKnNo annotator=Miblo] +[0:01][Recap and set the stage for the day][:speech] +[1:41][:Memory allocation in Linux, using brk][:speech] +[3:20][Chapter 2.8 continued, Allocating Space for New Data on the Heap[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:32][Static and automatic storage duration in C][:language :memory :speech] +[7:03][Static storage][:blackboard :language :memory] +[8:48][Static storage, as used in pcalc[ref + site=GitLab + page="pcalc" + url=https://gitlab.com/riscy-business/pcalc]][:language :memory] +[13:06][Global variables, as used in pcalc[ref + site=GitLab + page="pcalc" + url=https://gitlab.com/riscy-business/pcalc]][:language :memory] +[18:15][A general critique of global variables][:language :memory :speech] +[21:19][Uninitialised vs initialised static and automatic storage duration variables in pcalc[ref + site=GitLab + page="pcalc" + url=https://gitlab.com/riscy-business/pcalc] (uninitialised automatic storage duration variables are undefined)][:language :memory] +[32:05][The "auto" keyword in C][:blackboard :language :memory] +[33:47][Chapter 2.8 continued, Allocating Space for New Data on the Heap[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] +[36:41][Figure 2.13 - The RISC-V :memory allocation for program and data[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]][:blackboard :isa] +[44:24][The fixed nature of the stack][:blackboard :memory] +[46:41][Tip of the day: Get into sponge mode][:speech] +[47:52][Figure 2.13 continued - The RISC-V :memory allocation for program and data[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]][:blackboard :isa :research] +[52:09][Chapter 2.8 continued, on :memory allocation[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]] +[52:57][General-purpose :memory allocation and garbage collection][:speech] +[57:48][@krish2nasa][[@miotatsu Mio], are you not interested in Ada programming as it is a more robust and reliable :language? AdaCore now supports RISC-V!] +[59:13][Continued thoughts on :memory allocation and freeing, including swapping to disk and :performance][:speech] +[1:06:01][Legitimate :memory leaking strategies][:performance :speech] +[1:10:59][Dangling pointers, prevented by zeroing out pointers][:memory :performance :speech] +[1:17:30][Garbage collection, as used by pcalc's build.d script[ref + site=GitLab + page="pcalc" + url=https://gitlab.com/riscy-business/pcalc]][:language :memory :performance :speech] +[1:24:18][Chapter 2.8 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]] +[1:25:48][Chapter 2.8 Elaboration 2 - Making the common case, that procedures take eight or fewer parameters, fast[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:35:55][On needing a frame pointer when a procedure's :memory requirements are not known at compile-time][:speech] +[1:37:26][Figure 2.14 - RISC-V register conventions[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 + site=RISC-V + page="User-Level ISA Specification v2.2" + url=https://riscv.org/specifications]][:isa :memory] +[1:42:38][Chapter 2.8 Elaboration 3 - Implementing recursive procedures iteratively[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]][:language] +[1:45:41][Implementing a recursive accumulation procedure iteratively][:blackboard :language] +[2:03:54][The "-->" operator (don't try this at home!)][:blackboard :language] +[2:07:08][Completing our recursive-to-iterative accumulation procedure conversion][:blackboard :language] +[2:12:17][Lower the recursive accumulation procedure to assembly[ref + title="RISC-V Reader" + author="David Patterson and Andrew Waterman" + publisher="Strawberry Canyon" + isbn=9780999249116 + url=http://www.riscvbook.com/]][:asm :blackboard :language] +[2:21:24][We are out of time][:speech] +[2:22:02][@krish2nasa][I think first I need to watch your previous streams in the sequence for a better understanding[ref + site="RISCY BUSINESS" + page="Annotated Episode Guide" + url=https://riscy.handmade.network/episode/coad]] +[2:23:57][End this episode here][:speech] +[/video]