cinera_handmade.network/miotatsu/riscy/book/coad/coad016.hmml

179 lines
11 KiB
Plaintext

[video member=miotatsu stream_platform=twitch project=book title="2.3 cont." vod_platform=youtube id=blaDJl-sHgY annotator=Miblo]
[0:08][Recap and set the stage for the day with a mention of the addition of \@naked to hula[ref
site=GitHub
page="riscy-business/hula"
url=https://github.com/riscy-business/hula]][:language]
[3:56][Review the addition of "register" to hula[ref
site=GitHub
page="riscy-business/hula"
url=https://github.com/riscy-business/hula]][:language]
[6:11][Show off the hula hello.S :asm[ref
site=GitHub
page="riscy-business/hula/blog/master/hello.S"
url=https://github.com/riscy-business/hula/blob/master/hello.S]][:language]
[12:15][@riskyfive][By the way, about porting D to RISC-V. I'm stalled on a GCC bug. Exception support in GCC / glibc has a bug, but people from SiFive are working on it][:language]
[12:49][Thoughts on writing :asm and architectural and general portability[ref
site=GitHub
page="riscy-business/hula/blog/master/hello.S"
url=https://github.com/riscy-business/hula/blob/master/hello.S]][:language :speech]
[15:43][Jump into the book][:speech]
[16:50][Compiling an Assignment When an Operand Is in :Memory[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]
[19:25][Our answer to Chapter 2.3 'Compiling an Assignment When an Operand Is in :Memory'[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]
[20:33][Chapter 2.3 continued, :Hardware / Software Interface[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]
[23:09][Figure 2.3 Actual RISC-V :memory addresses and contents of memory for those doublewords][:blackboard]
[23:54][Chapter 2.3 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]
[24:30][Endianness, with a fun fact: It's a reference to Gulliver's Travels][:language :speech]
[25:56][Chapter 2.3 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]
[26:39][@riskyfive][We should write things on paper little endian style][:language]
[27:07][Thoughts on "endianness" in RTL vs LTR languages][:language :speech]
[29:20][@riskyfive][Yes, yes, that's the reasoning that'll eventually convince you that we should change to little endian on paper. Let the endianness flow through you. Come to the little side of the force][:language]
[29:48][Chapter 2.3 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]
[31:21][Thoughts on :asm syntax, with a mention of [@pervognsen Per]'s chosen syntax for his assembler][:blackboard :language]
[34:52][Chapter 2.3 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]
[37:12][Thoughts on alignment of :memory accesses][:speech]
[38:35][@riskyfive][Got to go. Good night!]
[38:44][On RISC-V's ability to do unaligned :memory accesses][:speech]
[39:54][Chapter 2.3 continued, :Hardware / Software Interface[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]
[40:35][Thoughts on the marketing of hard drive and :memory capacities, and confusion of units][:speech]
[44:50][Chapter 2.3 Example 3 - Compiling Using Load and Store[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]
[45:26][A\[12\] = h + A\[8\];][:asm :blackboard :memory]
[53:24][Compare our answer to Chapter 2.3 Example 3 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]
[55:33][Thoughts on calling conventions][:asm :language :speech]
[1:01:27][Continue to compare our answer to Chapter 2.3 Example 3 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] with thoughts on destructive operations][:asm]
[1:09:01][Chapter 2.3 continued, :Hardware / Software Interface[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 :memory]
[1:09:21][The stack][:memory :speech]
[1:13:18][Chapter 2.3 continued, :Hardware / Software Interface[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 :memory]
[1:13:45][Using saved registers and temporaries, and the concept of spilling to the stack][:memory :speech]
[1:16:39][Chapter 2.3 continued, :Hardware / Software Interface[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 :memory]
[1:18:08][Chapter 2.3 Elaboration[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 :memory]
[1:18:48][Hierarchy of Caches][:memory :speech]
[1:22:09][Chapter 2.3 - Constant or Immediate Operands[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 :isa :memory]
[1:25:24][Chapter 2.3 - Check Yourself[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 :isa :memory]
[1:26:29][Virtual vs actual registers][:isa :memory :speech]
[1:29:39][Our answer to Chapter 2.3 - Check Yourself[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 :isa :memory]
[1:30:58][Chapter 2.3 Check Yourself Answer[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 :isa :memory]
[1:32:35][Chapter 2.3 Elaborations on 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]][:asm :isa :memory]
[1:36:32][C type widths, and data models[ref
site="IBM Knowledge Center"
page="ILP32 and LP64 data models and data type sizes"
url=https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.cbcpx01/datatypesize64.htm]][:language :speech]
[1:41:24][Show type-width handling in nwr_mem.h][:memory]
[1:46:45][Chapter 2.3 Elaborations on registers, 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 :isa :memory]
[1:49:03][Show size_t use in pcalc's linux_x86_64.c][:memory]
[1:51:14][Chapter 2.3 Elaborations on registers, 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 :isa :memory]
[1:52:19][That is the end of 2.3, with a glimpse into the next chapter][:speech]
[1:53:52][Considering the benefits of C over assembly: portability, automatic handling of calling conventions, and…][:asm :speech]
[1:57:57][The other major benefit of C over assembly, along with portability, is that it is a structured :language][:asm :speech]
[2:06:49][End the episode, with shout-outs to new supporters][:speech]
[/video]