[video member=miotatsu stream_platform=twitch project=book title="2.4-2.5" vod_platform=youtube id=SdIJjDvEkcs annotator=Miblo] [0:01][Recap and set the stage for the day][:speech] [1:49][Review where we're at] [2:27][Chapter 2.4 - RV32I Integer Computation[ref title="RISC-V Reader" author="David Patterson and Andrew Waterman" publisher="Strawberry Canyon" isbn=9780999249116 url=http://www.riscvbook.com/]][:isa] [3:43][A few words on the Spectre and Meltdown vulnerabilities due to branch-prediction and speculative execution][:performance :security :speech] [8:19][Chapter 2.4 continued[ref title="RISC-V Reader" author="David Patterson and Andrew Waterman" publisher="Strawberry Canyon" isbn=9780999249116 url=http://www.riscvbook.com/]][:isa] [10:08][Point out the mistake in the book's description of the "call" pseudo-instruction[ref title="RISC-V Reader" author="David Patterson and Andrew Waterman" publisher="Strawberry Canyon" isbn=9780999249116 url=http://www.riscvbook.com/]][:isa :speech] [13:30][Chapter 2.4 continued, on RISC-V's simple arithmetic instructions[ref title="RISC-V Reader" author="David Patterson and Andrew Waterman" publisher="Strawberry Canyon" isbn=9780999249116 url=http://www.riscvbook.com/]][:isa :mathematics] [16:47][A few words of praise for the concision of the RISC-V base :ISA][:blackboard] [19:36][Plug [@cmuratori Casey]'s Meow hash,[ref site="Twitter: @cmuratori" page="Introducing the Meow hash - a non-cryptographic hash capable of 16 bytes _per cycle_ throughput on modern CPUs while still cleanly passing all of smhasher" url=https://twitter.com/cmuratori/status/1053453319299977221][ref site="Molly Rocket" page="Meow Hash" url=https://mollyrocket.com/meowhash] [@mmozeiko Mārtiņš]'s ports to ARMv8[ref site="Twitter: @mmozeiko" page="Meow hash for ARMv8" url=https://twitter.com/mmozeiko/status/1054786688361279490] and C without special hardware instructions,[ref site="Twitter: @mmozeiko" page="Meow hash in generic C" url=https://twitter.com/mmozeiko/status/1054942982099496960] and @Miblo's plea for a RISC-V port[ref site="Twitter: @miblo_" page="RISC-V next, @miotatsu?" url=https://twitter.com/miblo_/status/1054800216371707904] which @miotatsu will happily contribute[ref site="Twitter @miotatsu" page="I will happily contribute a RISC-V version when the standard crypto extension proposal is accepted/publicly documented - Meow is built around having AES in hardware" url=https://twitter.com/miotatsu/status/1054894248603148293] once RISC-V gets the proposed vector and crypto extensions[ref author="G. Richard Newell" title="Using Proposed Vector and Crypto Extensions For Fast and Secure Boot" url=https://content.riscv.org/wp-content/uploads/2017/12/Wed-1418-RISCV-RichardNewell.pdf]][:hashing :isa :language] [37:01][Chapter 2.4 continued, on RISC-V's comparison and branching instructions[ref title="RISC-V Reader" author="David Patterson and Andrew Waterman" publisher="Strawberry Canyon" isbn=9780999249116 url=http://www.riscvbook.com/]][:isa] [39:15][Summarise the concept of auipc and jal to allow for 32-bit immediates][:blackboard :isa] [46:16][Figure 2.4 - The registers of RV32I[ref title="RISC-V Reader" author="David Patterson and Andrew Waterman" publisher="Strawberry Canyon" isbn=9780999249116 url=http://www.riscvbook.com/][ref site=RISC-V page="User-Level ISA Specification v2.2" url=https://riscv.org/specifications]][:isa] [52:27][Chapter 2.4 continued, on the differences between RISC-V and ARM[ref title="RISC-V Reader" author="David Patterson and Andrew Waterman" publisher="Strawberry Canyon" isbn=9780999249116 url=http://www.riscvbook.com/]][:isa] [55:36][Chapter 2.4 Elaboration 1 - "Bit twiddling" instructions[ref title="RISC-V Reader" author="David Patterson and Andrew Waterman" publisher="Strawberry Canyon" isbn=9780999249116 url=http://www.riscvbook.com/]][:isa] [55:54][Chapter 2.4 Elaboration 2 - xor enables a magic trick[ref title="RISC-V Reader" author="David Patterson and Andrew Waterman" publisher="Strawberry Canyon" isbn=9780999249116 url=http://www.riscvbook.com/]][:isa :mathematics] [59:47][XOR swap, thanks to algebraic reversibility][:blackboard :mathematics] [1:19:12][Chapter 2.4 Elaboration 2 continued[ref title="RISC-V Reader" author="David Patterson and Andrew Waterman" publisher="Strawberry Canyon" isbn=9780999249116 url=http://www.riscvbook.com/]][:isa :mathematics] [1:21:54][XOR linked list, again thanks to algebraic reversibility[ref site=Wikipedia page="XOR swap algorithm" url=https://en.wikipedia.org/wiki/XOR_swap_algorithm][ref site=Wikipedia page="XOR linked list" url=https://en.wikipedia.org/wiki/XOR_linked_list]][:blackboard :"data structure"] [1:43:36][Chapter 2.5 - RV32I Loads and Stores[ref title="RISC-V Reader" author="David Patterson and Andrew Waterman" publisher="Strawberry Canyon" isbn=9780999249116 url=http://www.riscvbook.com/]][:isa :memory] [1:46:23][Recommend [@rygorous Fabian]'s videos on CPU µArch[ref site=YouTube page="Fabian Giesen" url=https://www.youtube.com/channel/UCcRaa0AcYX32c0m8wJJHNWg/videos]][:isa] [1:50:55][Chapter 2.5 continued, on differences in load / store instruction between RISC-V and MIPS and ARM[ref title="RISC-V Reader" author="David Patterson and Andrew Waterman" publisher="Strawberry Canyon" isbn=9780999249116 url=http://www.riscvbook.com/]][:isa] [1:51:52][Recommend [@babbageboole Robert Baruch]'s LMARV-1 video series[ref site=YouTube page=LMARV-1 url=https://www.youtube.com/playlist?list=PLEeZWGE3PwbansoxKjjMKHQqS_2cm8i60]][:isa] [1:53:23][Chapter 2.5 Elaboration - Endianness[ref title="RISC-V Reader" author="David Patterson and Andrew Waterman" publisher="Strawberry Canyon" isbn=9780999249116 url=http://www.riscvbook.com/]][:isa :memory] [1:55:27][Endianness from Gulliver's Travels[ref site=Wikipedia page="Gulliver's Travels" url=https://en.wikipedia.org/wiki/Gulliver%27s_Travels]] [1:59:19][That's the end of 2.5][:speech] [1:59:59][@krish2nasa][I missed this episode] [2:02:06][Endianness in practice in pcalc[ref site=GitLab page="pcalc" url=https://gitlab.com/riscy-business/pcalc]][:memory] [2:02:18][@krish2nasa][I have a question for you: Is hamming distance implemented in RISC-V :ISA and the compiler for more energy / code efficiency?] [2:05:31][Endianness in practice in pcalc continued,[ref site=GitLab page="pcalc" url=https://gitlab.com/riscy-business/pcalc] including connecting to an X11 server using the \~/.Xauthority file][:memory] [2:12:05][End the episode there][:speech] [/video]