Brian

@PWCheng

Joined on Apr 28, 2022

  • contributed by < bclegend > Reviewed by brian049 要注意撰寫中文時要避免使用到英文鍵盤的逗號,且句子尾端加上句號才會形成完整的句子。感謝建議,已改進。 在解釋 q_free 和 q_remove_head / q_remove_tail 函式時可以藉由 - 或是 * 等等列點式來讓整段文字易讀。 q_sort 函式缺少解釋。 commit 1282572 和 commit 54dab51 分別是 Add q_size 以及 Modify q_size,可以在後者的 commit message 當中補述為什麼要那樣改程式碼。感謝建議,已依照建議更新 commit 2766e40 。 q_reverseK 函式解釋當中有添加圖示使整體解釋更明瞭。 :::danger
     Like  Bookmark
  • contributed by < bclegend > 閱讀〈 因為自動飲料機而延畢的那一年 〉與課程啟發 「偶爾買到不好用的商品我們就抱怨幾句,丟掉換其他更好用的牌子,卻很少意識到那個本來就該這樣,背後需要經過多少人月的投入與研發。」 「巴菲特的好友查理蒙格也曾經說過,假設紡織廠購買一台先進的設備,最後受益的往往是消費者。因為所有利潤會被使用相同設備的競爭者分攤掉,最後節省下的成本不會由紡織廠受益,反而會轉嫁到消費者身上。」 「一項產業進步的速度,很大程度取決於做實驗修正問題的速度。」 「如果問題過於困難無法解決,那就重新定義問題吧!」 「通常被說特別都不是太好的事,就跟有人稱讚你煮的菜很有特色一樣」 「但這是他媽的真實的人生,熱血毫無用武之地,主角的好朋友提的意見對解決問題完全沒有任何幫」 「你不能現在就放棄,要是現在就放棄的話,你這輩子日後遇到這種等級的困難,就只會想逃避而已。」
     Like  Bookmark
  • contributed by < bclegend > 第 3 週測驗題 測驗 1 版本一相較於版本二改變了函式 log2 的使用,log2(N) 函數用來計算數字 N 的以 2 為底的對數。 並將該函式改寫為以下的版本,利用 n 若是比 1 還大時進行 bitwise 操作向右移一個位元,並紀錄下位移的次數來計算原本需要使用函式 log2 來取得的數值 while (n > 1) { n >>= 1; msb++;
     Like  Bookmark
  • contributed by <bclegend> 第一週測驗題 測驗一 程式碼 運作原理 實做 quick sort 演算法,並以以下 node_t 為 linked list 的基礎架構,排序 linked list 中數值的序列。 typedef struct __node {
     Like  Bookmark
  • contributed by <bclegend> Lab2: RISC-V RV32I[MACF] emulator with ELF support Question Selection Question I chose the question from 洪佑杭's Assignment1 Multiplication overflow prediction for unsigned int using CLZ. Motivation I chose this question because I used to confuse about the use of CLZ(Count leading zeros),And I notice that the predict of overflow in integer multiplicator will be a good use of CLZ, and I have some interest in multiplicator for interger.
     Like  Bookmark
  • Contirbuted by <bclegend> Lab3: Construct a single-cycle RISC-V CPU with Chisel Single-cycle CPU(MyCPU) Structure image CPU Test This is my repository with completed MyCPU. sbt test
     Like  Bookmark
  • contributed by <bclegend> Lab1: RV32I Simulator Reducing memory usage with bfloat16 and bfloat16 multiplication The Problem is from 2023 Computer Architecture quiz1,and it is Problem B, single prcision floating point valuses to corresponding bfloat16 floating-point format. Reducing memory usage with bfloat16 is when we call a bfloat16 in memory we usually use one register but there will cause 16-bits waste with 0 and if you want to call two bfloat16 you should use two register to , so if we can combine two bfloat16 in 32-bits memory then we can get these two bfloat16 from memory and use only one register. The function above will include encoder and decoder, encoder is for combine two bfloat16 in 32-bits register and decoder is to seperate two bfloat16 number to two registers.
     Like  Bookmark
  • Contirbuted by < Brian Cheng > Motivation In this project I want to implement DCT into RV32IM.I chose the project jpeg-encoder from Michael Schier's github. Introduction The Discrete Cosine Transform (DCT) stands as a fundamental mathematical transformation extensively employed in the realms of signal processing and data compression applications. Its pivotal application lies in the domain of jpeg standard image compression, where it serves as a cornerstone for efficiently representing image data. Given the limitations of the human visual system, particularly its reduced sensitivity to high-frequency signals, the DCT is instrumental in capturing and representing essential image features while minimizing the impact of components that might be less perceptible to the human eye. This attribute contributes significantly to the effectiveness of image compression algorithms, as it allows for the removal or quantization of high-frequency components without significantly compromising the perceived visual quality of the compressed image. Therefore, the integration of the DCT in JPEG compression plays a crucial role in achieving a balance between compression efficiency and perceptual quality.
     Like  Bookmark