博客 RSS 訂閱

putao - risc-v--sv39彙編實現

在 Sv39 模式下,虛擬地址是 39 位,分為三級頁表來管理: 第一級頁表(頁目錄):負責最高的 9 位虛擬地址。 第二級頁表(頁中間目錄):負責中間的 9 位虛擬地址。 第三級頁表(頁表):負責最低的 9 位虛擬地址。 9 位虛擬地址可以表示2的9次方=512個條目。 512條目×8字節/條目=4096字節=4KB 假設我們有一個頁表,包含多個條目,每個條目佔用 8 字節:

asm , risc-v

收藏 評論

putao - risc-v 函數調用規範

RISC-V 的寄存器分為以下幾類: 臨時寄存器:t0-t6(x5-x7, x28-x31) 保存寄存器:s0-s11(x8, x9, x18-x27) 參數寄存器:a0-a7(x10-x17) 返回地址寄存器:ra(x1) 注意:不是返回值,call函數的時候的下一條指令 棧指針寄存器:sp(x2) 全局指針寄存器:gp(x3) 線程指針寄存器:tp(x

asm , risc-v

收藏 評論

putao - risc-v--PLIC中斷原理

PLIC 硬件結構包括以下幾個主要部分: 優先級寄存器(Priority Registers):每個中斷源都有一個優先級寄存器,用於設置中斷的優先級。 掛起寄存器(Pending Registers):每個掛起寄存器包含32箇中斷源的掛起狀態。 中斷使能寄存器(Enable Registers):每個hart都有一組中斷使能寄存器,用於使能或禁用特定中斷源。 閾值寄存器(T

asm , risc-v

收藏 評論

putao - risc-v--sv39分頁

sv39分頁:虛擬地址只用了39位,所以才有這個名字 問題一: PTE的格式怎麼樣? 不同的模式格式都是一樣的嗎? 問題二: MMU需要什麼樣的數據,怎麼樣提前準備呢? 問題三: 怎麼配置一個虛擬地址到物理地址到映射呢? 問題四: 內存的場景的位操作是怎麼樣的呢? 問題五: cpu怎麼知道頁的大小呢? 在RISC-V架構中,無論是Sv32、Sv39還是Sv48模式,頁表條

asm , risc-v

收藏 評論

deephub - PyTorch中的多進程並行處理

PyTorch是一個流行的深度學習框架,一般情況下使用單個GPU進行計算時是十分方便的。但是當涉及到處理大規模數據和並行處理時,需要利用多個GPU。這時PyTorch就顯得不那麼方便,所以這篇文章我們將介紹如何利用torch.multiprocessing模塊,在PyTorch中實現高效的多進程處理。 多進程是一種允許多個進程併發運行的方法,利用多個CPU內核和GPU進行並行計算。這可以大大提高

pytorch , 人工智能 , 深度學習 , 多進程

收藏 評論

putao - risc-v--sv39(rust版本)

這是一種面向對象的思想。 非常好!!! satp 虛擬地址 雖然虛擬地址是 64 位的,但在 Sv39 模式下,只使用前 39 位。最高的 25 位用於符號擴展,以確保地址的正確性。具體來説: 如果位 38 是 0,則虛擬地址的高位(位 63 到 39)應全部為 0。 如果位 38 是 1,則虛擬地址的高位(位 63 到 39)應全部為 1。 這樣可以確保虛擬

asm , rust , risc-v

收藏 評論

codists - 《Programming from the Ground Up》閲讀筆記:p19-p48

《Programming from the Ground Up》學習第2天,p19-p48總結,總計30頁。 一、技術總結 1.object file p20, An object file is code that is in the machine's language, but has not been completely put together。 之前在很多地方都看到object fi

asm

收藏 評論

putao - risc-v-- satp寄存器

問題一:cpu 怎麼知道自己用的是那種分頁方式呢? 靠MODE字段 問題二:PNN怎麼設計的呢? 問題三:多個虛擬地址對應一個物理地址怎麼辦呢? satp(Supervisor Address Translation and Protection)寄存器用於管理地址轉換和保護機制。satp 寄存器的具體格式取決於 RISC-V 的地址空間寬度(如 32 位或 64 位)。 64位的s

asm , risc-v

收藏 評論

putao - risc-v-- PMP寄存器

問題一:pmp怎麼配置呢? 問題二:什麼時候出發pmp的檢查呢? PMP 是 RISC-V 中用於實現物理內存保護的機制。它允許配置多個內存保護區域,並對每個區域設置訪問權限,以防止未授權的訪問。 PMP 的功能 訪問控制:PMP 可以限制對內存區域的讀、寫和執行訪問。 區域配置:PMP 支持定義多個內存區域,每個區域可以有不同的訪問權限。 特權級別:PMP 可以根據特權級

asm , risc-v

收藏 評論

HelpLook - 以騰訊為例,手把手教你搭建產品幫助中心

一個精心設計的產品幫助中心對於提高用户滿意度和體驗至關重要。騰訊,作為全球領先的互聯網企業,通過其多樣化的產品線(包括微信、QQ、騰訊遊戲、騰訊視頻等)吸引了億萬用户。下面將以騰訊為例,向您展示如何搭建一個高效的產品幫助中心。 首先我們來參考一下騰訊幫助中心是什麼樣的。騰訊的幫助中心巧妙地將其旗下眾多產品進行了分類管理,方便用户迅速找到所需幫助。 以騰訊的電腦遊戲“

騰訊 , 自然語言處理 , 搜索引擎優化 , 人工智能 , 知識庫

收藏 評論

辣碼甄源 - 清新簡約之美,開源個人博客:Jekyll Theme Chirpy

JekyllThemeChirpy:簡約不簡單,Chirpy讓你的博客煥發新意-精選真開源,釋放新價值。 概覽 JekyllThemeChirpy是為Jekyll靜態網站生成器設計的現代主題,以其清新、簡約的設計風格和用户友好的交互體驗受到開發者和博客作者的青睞。Chirpy旨在提供一個既美觀又實用的平台,讓內容創作者能夠專注於分享知識和見解,而無需被複雜的設計分散注意力。 Chirpy的設計理

github , 開源項目介紹 , 博客

收藏 評論

大丸子 - Python代碼轉換PDF為CSV

數據的可訪問性和可操作性是數據管理的核心要素。PDF格式因其跨平台兼容性和版面固定性,在文檔分享和打印方面表現出色,尤其適用於報表、調查結果等數據的存儲。然而,PDF的非結構化特性限制了其在數據分析領域的應用。相比之下,CSV格式以其簡單、通用且易於處理的特點,成為數據操作和分析的理想選擇。 將PDF轉換為CSV極大地提升了數據的實用價值。Python作為一種強大的編程語言,能夠高效完成這一

csv , 表格 , 數據 , pdf , Python

收藏 評論

博客趣 - 博客屋網址導航自適應主題php源碼

  博客屋網址導航自適應主題php源碼v1.0是一個以PHP+MySQL進行開發的網址導航源碼。模板源碼後台開源無加密,可二次開發,前端響應式自適應多端屏幕。主題源碼適合個人建站技術,個人博客論壇,個人日記分享等個人網站內容。站長也可以修改成其他行業的內容目錄導航。演示地址cn.bokew.com   此版本自帶ico接口集成,添加網站時,可自動獲取favicon.ico圖標。同時集成外鏈工具、w

php , 源碼安裝 , 網址 , 博客搭建

收藏 評論

Chinaxiang - Java P7架構師應具備什麼能力?超全學習路線規劃奉上(不賣課,純分享),適合自檢和學習規劃,高薪必備

想成為 Java P7 架構師應具備什麼能力,應該怎麼學習?看這一篇文章就夠了,超全學習路徑奉上,不再盲目。 往下看,有細化,還有福利(不是廣告喲)! 併發編程 併發編程三大特性與JMM • 並行與併發的區別 • JVM內存模型理解 • 併發編程三大特性與JMM • 什麼是指令重排 • volatile內存含義 • happens-before瞭解多少 •

架構師成長之路 , 知識圖譜 , JAVA , 架構師

收藏 評論

卡頌 - 我從副業到自由職業的完整經驗分享

大家好,我卡頌。 到今年9月,我自由職業就滿3年時間了。 期間有很多朋友向我請教經驗,我也寫過很多篇相關文章,但有些朋友表示沒法借鑑。 對於這個問題,我陷入過很長一段時間知識的詛咒。具體來説,曾經我認為副業並不難,關鍵在於堅持。並以此得出結論:這些朋友是太懶了,不願去嘗試。 直到最近半年,我係統的研究了如何發展副業,才發現副業並不是給你指一條路,你只要堅持去做就好這麼簡單。 這篇文章會詳細聊聊我

職業發展 , 自由軟件

收藏 評論

吳季分 - Java IO 基礎知識全面總結

引言 Java IO(Input輸入/Output輸出)框架扮演着至關重要的角色,它是數據交換和文件處理的基石。 數據輸入到計算機內存的過程即輸入,反之輸出到外部存儲(比如數據庫,文件,遠程主機)的過程即輸出。數據傳輸過程類似於水流,因此稱為 IO 流。 一、Java IO體系概覽 Java IO 流有40多個類,他們都是從如下 4 個抽象類基類中派生出來的。 抽象

JAVA , io

收藏 評論

凌虛 - 以圖搜圖架構優化:使用客户端模型提取圖像特徵

序言 以圖搜圖系統指的是從圖像內容提取特徵向量,然後使用向量數據庫進行向量數據的插入、刪除、相似性檢索等操作,進而提供根據圖像內容搜索出具有相似內容的其它圖像的功能。 系統架構 典型的搜圖系統整體架構時序圖如下: 圖像上傳過程: 客户端上傳圖像到服務端。 服務端存儲圖像至對象存儲、插入結構化數據至關係型數據庫、發送消息至 MQ 消息隊列。 服務端對客户端請求返回響應。 圖像搜索服務接受

tensorflow , 架構 , 人工智能 , 後端 , 前端

收藏 評論

前端肥智 - 基於Eggjs+puppeteer實現頁面截圖的服務,並上傳華為雲obs

主要功能 通過 puppeteer 打開無頭瀏覽器,對目標頁面進行截圖存儲本地制定目錄,通過把本地文件轉為文件流的方式上傳華為雲,上傳成功過後返回預覽文件的 key; 上傳華為雲通過 ObsClient、putObject 方式實現 [華為雲 OBS Nodejs SDK](https://support.huaweicloud.com/sdk-nodejs-devg-obs/obs_29_040

puppeteer , node.js , eggjs , html5 , Javascript

收藏 評論

陽哥 - python初學遇到的坑

今天在開發一個測試自動化腳本的時候,出現了一個BUG卡的蠻久的。使用的框架是unittest;這個框架可以自動執行腳本里的方法,下面看代碼(這個代碼是正常沒問題的) import unittest import BeautifulReport from selenium import webdriver class Test(unittest.TestCase): def setUp(s

python3.x , 單元測試 , 自動化測試 , selenium

收藏 評論

左詩右碼 - 如何使用 Supervisor 管理你的進程

在我們的開發生活中,常常需要讓某些應用或服務持續運行。這時候,就需要一個能夠幫助我們管理這些進程的工具。 Supervisor 是一個廣泛使用的進程管理工具,它可以讓你輕鬆管理和控制多個進程。 在本文中,我們將一起學習如何在 Linux 系統中安裝和使用 Supervisor,確保你的應用或服務能夠無憂無慮地運行。 什麼是 Supervisor? Supervisor 是一個客户端/服務器系統,它

supervisor

收藏 評論

SaaS知識庫 - 從業10年,嘔心分享搭建基於AI大模型的企業知識庫技巧

引言 作為一名在知識管理領域從業10年的老兵,我深知搭建一個高效的企業知識庫對企業的重要性。隨着AI大模型的崛起,企業知識庫的構建方式正在經歷一場革命。今天,我將結合我的經驗和實踐,深入剖析如何藉助AI大模型的力量,打造一個卓越的企業知識庫。 一、知識庫的價值:企業知識的黃金礦藏 企業知識庫,如同企業的知識寶庫,它集中存儲、組織和分享着企業的各類知識和信息。一個高效的知識庫,不僅能夠

企業應用 , 知識管理 , 人工智能 , 知識體系 , 知識庫

收藏 評論

putao - 二進制分析實戰--環境搭建

安裝依賴環境 brew install riscv-gnu-toolchain riscv64-unknown-elf-gcc --version makefile all: riscv64-unknown-elf-gcc -g hello.c -o hello.out #預處理 e: riscv64-unknown-elf-gcc -E -P hello.c -o hell

二進制 , risc-v

收藏 評論

程序員小杜 - 記一個 Powershell / cmd 終端下 Golang 程序卡死的問題

0 背景 這是一篇用來發泄情緒的文章,被一個愚蠢的問題折騰了好久。 不想看背景的可直接閲讀 1 問題 章節,或 2.3 演示。 情況是這樣的,最近接手了一個 Windows 的 Golang 項目,它是一個多節點運行的服務。由於公司信息安全的特殊規定,我們必須將編譯後的程序放到固定的遠程虛擬機中運行測試,而不能在我們的本機上調試。有過經歷的讀者們可能知道,公司的那種虛擬機吧,無法連外網,且環境非常

windows , 阻塞 , 終端 , 後端

收藏 評論

coolbee - JetBrains Plugin Git Assistant 1.4.0 插件洞察 Commits

貢獻者排名:查看誰在您的倉庫排行榜上名列前茅。它既有趣又有競爭力,信息量豐富! 提交時間分析:發現您的團隊最活躍的時間——按小時、周、月或年。您是夜貓子還是早起的人? 時區分佈:可視化您的提交來自世界哪個地方。全球團隊合作變得清晰可見!使用對數尺改善視覺呈現 下載地址: https://plugins.jetbrains.com/plugin/24154-git-assist

plugin , 可視化 , jetbrains , Git

收藏 評論