few letter

@fewletter

Joined on Dec 29, 2022

  • STM32 環境建製 本環境建制參考 ARM 開發筆記 STM32CubeIDE 首先找到以下網站並選擇要使用的版本,這邊以 Linux 做舉例 Download STM32CubeIDE 下載完後解壓縮檔案到只有下面的 .sh 檔
     Like  Bookmark
  • 1. 計算機編碼 符號與值(sign & magnitude) 計算機中以二進位作為資料的表示方式和儲存方式,符號則另存為另外一個bit來表示正負數,比如說: 10000001 -> -1 00000001 -> +1 最前面的1或0作為正負數的標示,後面則是數值的大小 此表示法的缺點就是0會有兩種表示方法,
     Like 2 Bookmark
  • Computer Architecture :::info [ ] RVVM 提供 ELF loader,但其可能不完整,特別是 ELF32 執行檔,請嘗試讓 rv32emu 預先編譯的執行檔得以在RVVM 中載入,過程中,你可能會遇到技術問題,記錄下來,適度運用 GitHub Issue 提交問題 [ ] 改進 RVVM ELF loader 的強健程度,例如 ELF 執行檔經過 strip 後,應該仍可載入並執行,若否,修改 RVVM 程式碼來滿足此需求 [ ] 一旦 RVVM 得以載入 rv32emu 提供的預先編譯執行檔 (Quake 和 Doom 不考慮),嘗試比較 RVVM (RV32 + JIT) 和 rv32emu (w/ JIT) 的效能表現。注意,過程中你可能需要在 RVVM 補上系統呼叫,否則時間相關的系統呼叫會無法處理 [ ] 詳實記錄你遇到的問題和描述如何排除 ::: Trace relative code of elf loader
     Like 2 Bookmark
  • contributed by < fewletter > Environment setup Operating System I use the Ubuntu Linux 20.04.1 as my operating system. $ uname -a Linux fewletter 5.15.0-89-generic #99~20.04.1-Ubuntu SMP Thu Nov 2 15:16:47 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux Install sbt Follow the command in lab3 use sdkman to install sbt.
     Like  Bookmark
  • contributed by < fewletter > Selected Topic & Motivation Selected Topic: Implement unsigned int mul by count leading zero Contributed by 陳彥佑 Motivation:
     Like  Bookmark
  • Computer Architecture Variable Byte Variable Byte is a algorithm of data compression. The algorithm main objective is to store data in a smaller space. For example, 0x00000088 can be stored in 1 byte, but the data will be stored in 4 bytes. The rule of Variable Byte is been described as follow: The Most Significant Bit (MSB) of a byte represents if there is any byte concatenate with this byte. The rest 7 bit of a byte is to store the target data. target data binary variable byte encode
     Like 1 Bookmark
  • 參考資料: kvm-host kvm-host 的改進 Linux 核心專題: 系統虛擬機器開發和改進 linux-riscv-dev/exercises2/kvm/kvm.md Virtio-networking series KVM: Linux 虛擬化基礎建設 Virtio: An I/O virtualization framework for Linux Introduction to VirtIO
     Like  Bookmark
  • contributed by < fewletter > 開發環境 $ gcc --version gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 $ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian
     Like  Bookmark
  • contributed by < fewletter > 題目連結 測驗一 測驗二 程式碼運作原理 從 Linux 核心排序實作的演進 中可以看到 mergesort 的觀念如何在 linked list 被利用,從 mergesort 中可以知道一個排序的方法需要的是分割 partition 與合併 merge。 The idea of TimSort is to design a merge sort that can exploit the possible "non randomness" of the data, without having to detect it beforehand and without damaging the performances on random-looking data. This follows the ideas of adaptive sorting (see [7] for a survey on taking presortedness into account when
     Like  Bookmark
  • contributed by < fewletter > 實驗環境 $ uname -r 5.15.0-67-generic $ gcc --version gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 $ lscpu
     Like  Bookmark
  • contributed by < fewletter > 實驗環境 $ uname -r 5.15.0-67-generic $ gcc --version gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 $ lscpu
     Like  Bookmark
  • contributed by < fewletter > 測驗一 解釋上述程式碼原理,並用 __builtin_clzl 改寫 首先先看此程式碼的目的是什麼 next_pow2(7) = 8 next_pow2(13) = 16 next_pow2(42) = 64
     Like  Bookmark
  • contributed by < fewletter > 開發環境 $ gcc --version gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 $ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian
     Like  Bookmark