From 2934403219185781362fcd139cfe1b2b6e1fe0d4 Mon Sep 17 00:00:00 2001 From: Matt Mascarenhas Date: Fri, 26 Oct 2018 20:30:01 +0100 Subject: [PATCH] Annotate riscy/reader004 --- miotatsu/riscy/reader/reader004.hmml | 142 +++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 miotatsu/riscy/reader/reader004.hmml diff --git a/miotatsu/riscy/reader/reader004.hmml b/miotatsu/riscy/reader/reader004.hmml new file mode 100644 index 0000000..a614c1a --- /dev/null +++ b/miotatsu/riscy/reader/reader004.hmml @@ -0,0 +1,142 @@ +[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]