原创 TI C6000 數據存儲處理與性能優化

存儲器之於CPU好比倉庫之於車間。車間加工過程中的原材料、半成品、成品等均需入出倉庫,生產效率再快,如果倉庫週轉不善,也必然造成生產阻塞。如同倉庫需要合理地規劃管理一般,數據存儲也需要恰當的處理技巧來提升CPU的運算性能。 本文基於TI

原创 《中國曆代政治得失》. 錢穆

這是我讀的第一本錢穆的書。拿到書的第一眼我很是驚奇,因爲在自己直接的想法裏,一本能說盡中國曆代政治並分析其得失的書,至少應該是個大部頭,而眼前的這本只薄得不到兩百頁。但也正是用這區區不到兩百頁的篇幅,錢先生將中國曆代的政治制度脈絡、利弊緣

原创 認知三部曲

把看的三本書打包做個記錄,一本是公司入職時推薦的《高效能人士的七個習慣》,另兩本分別是《把時間當做朋友》和《精進》。我把它們合起來稱作“認知三部曲”,因爲它們都有一個顯著的共同點,就是能提供給讀者很多獨到、新穎、顛覆、細微的觀察視角,促進

原创 翻譯 | 指令調度基礎

現代RISC處理器改變了硬件和編譯器之間的基本關係。在RISC之前,硬件和編譯器有着相對簡單的責任劃分——硬件負責底層的細節表現,而編譯器負責語言翻譯和獨立於特定機器的高層次優化(如公共子表達式消除)。一些編譯器作者將大量精力投入到良好

原创 《人生十論》. 錢穆

自去年同期買下錢穆先生的《人生十論》,我只看了前兩篇便將它束之牀頭。不能說這本書不精彩,相反它很有價值,裏面包含非常多錢先生對人生、國學、中西方文化乃至宗教的思考智慧,值得反覆閱讀、細細體會。只是2016的前半年重心在於應對畢業和工作的

原创 現代處理器與代碼性能優化

現代處理器的一些特性現代處理器取得了了不起的功績之一,是他們採用複雜而奇異的處理器結構,其中,多條指令可以並行的執行,同時又呈現出一種簡單的順序執行指令的表象。——《深入理解計算機系統》在我們直觀的認識中,處理器就是那個按着編譯好的代碼指

原创 悅讀 | 理想主義者的突圍,讀《曾國藩的正面與側面》

寫曾國藩的書很多,這也許不是最精彩的一本,但是我看過的剖析他爲人爲事最爲深刻的一本。 初識曾國藩 幾年以前,我對曾國藩的印象還是相當模糊且反面的,初中歷史課本上早就寫過,作爲腐朽晚清政權的走狗,他殘酷鎮壓了代表着善良正義的太平天

原创 翻譯 | “擴展asm”——用C表示操作數的彙編程序指令

本文翻譯自GNU關於GCC7.2.0版本的官方說明文檔,第6.45.2小節。供查閱討論,如有不當處敬請指正…… 通過擴展asm,可以讓你在彙編程序中使用C中的變量,並從彙編代碼跳轉到C語言標號。在彙編程序模板之後,擴展asm語法

原创 計算機系統中與存儲有關的那些事

最近工作中,經歷了很多項目問題的調試,把這些問題歸總起來,其中和存儲有關的,獨佔一半。而存儲對計算機系統造成的影響又可分爲兩塊:一是系統功能的穩健性;二是程序的執行效率。 存儲器結構 1.1 存儲器層次結構 由於訪問速度、成

原创 嵌入式編程中,你應該知道的定點化知識

談到這個話題,有必要先介紹下“浮點數”和“定點數”這兩個名詞的概念。 1.25 + (-2.75) = ?                                                                (1

原创 翻譯 | 淺析算法複雜度分析

原文:A Gentle Introduction to Algorithm Complexity Analysis—— By Dionyziz.引言如今,很多編程人員都在製作一些最酷、最實用的軟件,比如我們在互聯網上看到的或者每天使用的很

原创 讀懂CCS鏈接命令文件(.cmd)

鏈接器的核心工作就是符號表解析和重定位,鏈接命令文件則使得編程者可以給鏈接器提供必要的指導和輔助信息。多數時候,由於集成開發環境的存在,開發者無需瞭解鏈接命令文件的編寫,使用默認配置即可。但若需要對計算機系統存儲空間實行更精細化的管理,

原创 《大話處理器》筆記摘抄及一點延伸

指令集(ISA) & 微架構 處理器執行計算任務時都需要遵從一定的規範,程序在被執行前都需要先翻譯爲處理器可以理解的語言。這種規範或語言就是指令集(ISA,Instruction Set Architecture)。程序被按照某種指令

原创 TI C64X+通用庫函數使用手冊

TI爲它的DSP各系列芯片提供了高效實現的庫函數,囊括通用領域和一些專用領域。本文集中介紹TI C64X+平臺的通用庫函數,包括其類別,具體功能以及使用注意事項等。 在使用前,當知悉以下幾點: 函數進程由手動彙編而成,已充分發揮器件效率。

原创 TI C6000 優化進階:循環最重要!

軟件流水循環 1. C6000流水線(Pipeline) 一個指令的處理過程並不是一步完成,它被分爲三個階段:取指(Fetch)、譯碼(Decode)、執行(Excute)。將每一個階段放入獨立的流程車間處理,形成流水線式的處理過程