www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]1988年,Jürg Gutknecht 和我一起完成并出版了Oberon 編程語言[1,2],其為我職業(yè)生涯早期開發(fā)的另外兩種編程語言Pascal和Modula-2 的后續(xù)版本。與Modula-2 相比,我們

1988年,Jürg Gutknecht 和我一起完成并出版了Oberon 編程語言[1,2],其為我職業(yè)生涯早期開發(fā)的另外兩種編程語言Pascal和Modula-2 的后續(xù)版本。與Modula-2 相比,我們最初設(shè)計Oberon編程語言力求更加精簡和高效,以便能夠更好地幫助教學(xué)人員為計算機科學(xué)專業(yè)的學(xué)生教授系統(tǒng)編程。我們再接再勵,于1990 年針對可采用windows系統(tǒng)和具有字處理能力的工作站開發(fā)了Oberon 操作系統(tǒng)(OS),以此作為工作站的現(xiàn)代實現(xiàn)方式。接著,我們出版了一本書,名為《Project Oberon》,詳細講解了Oberon 編譯器以及與之同名的操作系統(tǒng)。此外,書中還包括詳細的指令和源代碼。

幾年前,我的朋友Paul Reed 建議我重新修訂并再次出版這本書,不僅因為這本書對系統(tǒng)設(shè)計教學(xué)具有重要價值,同時還因為這本書可以作為良好的切入點,幫助那些想要成為創(chuàng)新者的人們從零基礎(chǔ)構(gòu)建可靠的系統(tǒng)。

然而,我當(dāng)時實際上是遇到了很大的困難。我最初開發(fā)的編譯器是將已基本消失了的處理器作為目標。因此,我的解決辦法就是為現(xiàn)代處理器重新編寫編譯器。但在做了不少研究之后,我無法找到一款能夠在清晰度、規(guī)律性和簡潔性上符合我標準的處理器。因此,我自己設(shè)計了這款編譯器。而我之所以能夠?qū)⒃撓敕ǜ吨T實現(xiàn),都是因為現(xiàn)代FPGA 能夠幫助我設(shè)計硬件以及系統(tǒng)軟件。更重要的是,選擇賽靈思FPGA 能幫助我更新系統(tǒng),同時讓設(shè)計盡可能接近自1990 年以來的原始版本。

實現(xiàn)在低成本Digilent Spartan®-3開發(fā)板上的新型處理器RISC 負責(zé)托管1MB 靜態(tài)RAM (SR

AM) 內(nèi)存。我唯一添加的系統(tǒng)硬件就是一個鼠標接口和一個用來替換舊系統(tǒng)中硬盤驅(qū)動器的SD 卡。

這本書和面向整個系統(tǒng)的源代碼可在projectoberon.com[3,4,5] 中查閱,也可在該網(wǎng)站上名為 S3RISCinstall.zip. 的單個文件中進行查閱。該文件包含指令、SD 卡文件系統(tǒng)圖像和FPGA 配置比特文件(對于Spartan-3開發(fā)板的 Platform Flash,此為PROM文件形式),以及SD 卡/ 鼠標接口硬件的構(gòu)造詳圖。

RISC處理器

該處理器由算術(shù)邏輯單元、由16 個32 位寄存器組成的陣列和帶指令寄存器、IR 及程序計數(shù)器PC 的控制單元組成。Verilog 模塊RISC5 就是該處理器的典型代表。

該處理器具有20 種指令:4 種用于移動、偏移和旋轉(zhuǎn);4 種用于邏輯運算;4 種用于整數(shù)運算;4 種用于浮點運算;2 種用于存儲器訪問;2 種用于分支。

RISC5 通過運行環(huán)境RISC5Top導(dǎo)入。該運行環(huán)境包括到各種(內(nèi)存映射)器件和SRAM(256M×32 位)的接口。整個系統(tǒng)(圖1)包括以下Verilog 模塊(見行統(tǒng)計):

我將內(nèi)存映射到黑白VGA 顯示器中,這樣它只占用1024×768×1位/ 像素=98304 字節(jié),基本上占 1MB 可用主內(nèi)存的10%。該SD卡將取代初始系統(tǒng)中80MB 的硬盤驅(qū)動器,其可通過能夠接受并序列化字節(jié)或32 位字的標準SPI 接口進行存取。鍵盤和鼠標通過標準PS-2 串行接口連接。此外,還提供一根串行異步的RS-232 線和一個通用8 位并行的I/O接口。模塊RISC5Top還帶有一個每毫秒采用增量式計數(shù)的計數(shù)器。

OBERON操作系統(tǒng)

該操作系統(tǒng)軟件由包括內(nèi)存分配器(帶垃圾回收器)的內(nèi)核、文件系統(tǒng)以及引導(dǎo)載入程序、文本系統(tǒng)、瀏覽器系統(tǒng)和文本編輯器組成。

名 為“Oberon”的模塊是中心任務(wù)調(diào)度程序,而“System”是基礎(chǔ)命令模塊。通過點擊顯示器上任何瀏覽器文本“M.P”上的中間按鈕即可觸發(fā)動作, 其中P 是模塊M 聲明的程序名。如果M 不存在,則會自動加載。但是,大多數(shù)文本編輯命令是通過簡單的鼠標點擊觸發(fā)的。其中,左邊一欄按鈕用來設(shè)置" 脫字" 符,標記文本位置,右邊一欄按鈕用來選擇文本字段(text stretch)。

“Kernel”模塊包括磁盤存儲管理和垃圾回收器。我保證觀察瀏覽器是平鋪的,不重疊。標準布局顯示了多個瀏覽器的兩條垂直軌跡。只需拖動標題欄,就可以放大、縮小或移動它們。圖2 顯示了在顯示器上運行的用戶界面以及Spartan-3 開發(fā)板、鍵盤及鼠標。

加載時系統(tǒng)占用模塊空間112640字節(jié)(21%),占堆(heap) 的16128字節(jié)(3%)。系統(tǒng)包括所以下幾個模塊(見行統(tǒng)計),如圖3 所示:

值得注意的是,該系統(tǒng)在加電或重置時,完成初始化僅需兩秒鐘。這包括文件目錄中垃圾回收掃描。

OBERON編譯器

系統(tǒng)自帶的編譯器采用簡單的自上而下遞歸下降分析法。用戶使用ORP.Compile @ 命令即可激活模塊選定的源文本上的編譯器。 包解析器通過掃描儀輸入各種符號,包括識別符、數(shù)字和特殊符號(如BEGIN、END、+等)。該方案已被證明在許多應(yīng)用中有效且均表現(xiàn)不凡。這點在我著的書《編譯器結(jié)構(gòu)》[6,7] 中有詳細說明。

該包解析器調(diào)用代碼生成程序模塊中的程序。這些程序直接將指令添加在代碼陣列上。如果已知所有分支目的地,向前跳轉(zhuǎn)指令(forwardbranch instructions)在模塊編譯結(jié)束時則會提供跳轉(zhuǎn)地址(修正)。

所有可變地址都與基址寄存器關(guān)聯(lián)。這就是用于局部變量(運行時設(shè)置在程序輸入)的R14(堆棧指示器)或用于全局和輸入變量的R13。

基址地址按要求通過地址保存在寄存器R12 內(nèi)的系統(tǒng)全局模塊表載入。R15 用于RISC 架構(gòu)確定的返回地址(鏈接)。因此,R0-R11 可用于表達式評估和傳遞過程參數(shù)。

整個編譯器由4 個相對較小的有效模塊組成(見行統(tǒng)計):

編譯器占用115912 字節(jié)(22%)的模塊空間和17508 字節(jié)(4%)的堆空間(編譯之前)。其源代碼長約65KB。編譯器自身的編譯在25 MHzRISC 處理器上只需幾秒鐘[8]。

編譯器通常使用值為NIL的指示檢查數(shù)組索引和基準值。如果違反規(guī)定,這會造成陷阱。這種技術(shù)具有高度的安全性,防止錯誤和崩潰。事實上,只能通過采用偽模塊SYSTEM中的操作,即PUT 和COPY,才能防礙系統(tǒng)的完整性。這些操作必須局限于接入器件接口的驅(qū)動模塊。在輸入列表中,通過SYSTEM 很容易識別它們。整個系統(tǒng)采用Oberon 編程,無需使用匯編碼。

我選擇Digilent Spartan-3開發(fā)板是由于其成本低、操作簡便,這使其適于教育機構(gòu),以獲得整套課堂教學(xué)套件。一個重大優(yōu)勢就是該開發(fā)板上有靜態(tài)RAM,使得接口連接非常簡單直觀(甚至用于字節(jié)選擇)。遺憾的是,所有新開發(fā)板均采用動態(tài)RAM,雖然存儲空間更大,但接口連接復(fù)雜得多,因此刷新和初始化(校準)需要電路。這一電路與帶靜態(tài)RAM的整個處理器一樣復(fù)雜。即使控制器以單片式提供,這有悖于我們的開放檢查原則。

最后的想法

40多年前,C.A.R. Hoare 說,在科學(xué)技術(shù)的所有分支學(xué)科中,學(xué)生在被要求用實驗嘗試自己的想法之前,容易受到許多示范性設(shè)計實例的影響。編程和軟件設(shè)計與這種明智模式形成了鮮明對比。這里,在閱讀任何實例之前,要求學(xué)生從一開始就編寫程序。

這種可怕事實的原因就是:幾乎不存在大小合適的示范實例。因此,我決定稍微修正這種情形,我在1975年編寫了《算法與數(shù)據(jù)結(jié)構(gòu)》一書。隨后(與J. Gut-knecht)負責(zé)操作系統(tǒng)教學(xué)任務(wù),我設(shè)計了Oberon 系統(tǒng)(1986-88)。

此后,編程教學(xué)并沒有明顯提高,而系統(tǒng)的規(guī)模和復(fù)雜性顯著增加。雖然開源的努力頗受歡迎,但它并沒有真正改變這種形勢,因為大多數(shù)程序已經(jīng)建成“運行”,但卻沒有真正投入使用。

我繼續(xù)大膽提議,應(yīng)重新設(shè)計所有程序,不光是計算機,還有讀取方式。這些程序應(yīng)是可發(fā)行的。即便這種方法正確而有效,但這是一項比創(chuàng)建可執(zhí)行程序更為艱難的任務(wù)。這意味著,沒有任何部分必須用匯編碼指定。

忽略在這種“人為因素”的結(jié)果就是,在許多地方,新的應(yīng)用沒有得到精心設(shè)計,而是通過消除程序中錯誤來實現(xiàn),其結(jié)果有時是令人擔(dān)憂的。要做到“易懂”的關(guān)鍵就是堅持簡單性和規(guī)律性,放棄不必要的修飾,避免花里胡哨,正確區(qū)分傳統(tǒng)與便捷。

該系統(tǒng)所占空間小,是小資源實現(xiàn)大作為的見證。雖然Oberon 系統(tǒng)包含一個文件系統(tǒng)、文本編輯器和瀏覽器(Windows)管理程序,但相比多數(shù)現(xiàn)代操作系統(tǒng)而言,其占用的空間少得可憐。意外的是它僅僅依靠一些簡單規(guī)則,因此便于學(xué)習(xí)如何使用。

最后,這種簡單的系統(tǒng)的另一大優(yōu)勢就是,用戶可以在該基礎(chǔ)系統(tǒng)上安全構(gòu)建所需程序,而不必擔(dān)心是否存在未知特征與功能,如后門程式(back door)。從系統(tǒng)完整性易受到攻擊的角度看,這是一個基本屬性,是關(guān)鍵安全型應(yīng)用不可或缺的。值得注意的是,我們的系統(tǒng)硬件沒有這種隱藏元件。畢竟,在如此之大而又沒人能夠完全了解的基礎(chǔ)上構(gòu)建的任何系統(tǒng)也不能予以保證。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

2025年9月9日,致力于亞太地區(qū)市場的國際領(lǐng)先半導(dǎo)體元器件分銷商---大聯(lián)大控股宣布,其旗下世平推出以芯馳科技(SemiDrive)E3106 MCU為主,輔以安森美(onsemi)NCV8730低壓差穩(wěn)壓器、恩智浦(...

關(guān)鍵字: 車身控制器 開發(fā)板 收發(fā)器

2025年8月26日,?Elexcon深圳國際電子展?在?深圳會展中心(福田)1號館?(展臺號:1L30)盛大舉行。作為全球電子產(chǎn)業(yè)鏈的重要盛會,展會匯聚創(chuàng)新技術(shù)與行業(yè)解決方案。米爾電子MYIR攜RZ系列核心板、開發(fā)板等...

關(guān)鍵字: 核心板 開發(fā)板 MCU

隨著大語言模型(LLM)技術(shù)的快速迭代,從云端集中式部署到端側(cè)分布式運行的趨勢日益明顯。端側(cè)小型語言模型(SLM)憑借低延遲、高隱私性和離線可用的獨特優(yōu)勢,正在智能設(shè)備、邊緣計算等場景中展現(xiàn)出巨大潛力。

關(guān)鍵字: 開發(fā)板 大語言模型 邊緣計算

本文中,小編將對單片機予以介紹,如果你想對它的詳細情況有所認識,或者想要增進對它的了解程度,不妨請看以下內(nèi)容哦。

關(guān)鍵字: 單片機 開發(fā)板 Keil

在數(shù)字化浪潮席卷全球的今天,F(xiàn)PGA技術(shù)正成為驅(qū)動創(chuàng)新的核心引擎。2025年8月21日,深圳將迎來一場聚焦FPGA技術(shù)與產(chǎn)業(yè)應(yīng)用的盛會——2025安路科技FPGA技術(shù)沙龍。本次沙龍以“定制未來 共建生態(tài)”為主題,匯聚行業(yè)...

關(guān)鍵字: FPGA 核心板 開發(fā)板

在智能視覺技術(shù)不斷發(fā)展的今天,多路攝像數(shù)據(jù)的處理與傳輸已成為眾多應(yīng)用場景的核心需求。從智能安防監(jiān)控領(lǐng)域的全面覆蓋,到工業(yè)視覺處理網(wǎng)關(guān)的精準檢測,再到車載環(huán)視融合平臺的實時駕駛輔助以及智慧社區(qū)AI防控的快速響應(yīng),多路攝...

關(guān)鍵字: 開發(fā)板 網(wǎng)關(guān) 核心板

因此,我們可以在米爾RK3576開發(fā)板上運行opencv代碼,來完成一些視覺內(nèi)容,充分發(fā)揮該板的性能。要先編譯opencv需要一些預(yù)先的準備工作首先更新軟件包并安裝必要的依賴:

關(guān)鍵字: 開發(fā)板 OpenCV

代碼段(.text)少于3KB低內(nèi)存消耗支持 INT8/FP32/FP16 模型,實驗性地支持 FP8 模型,支持 keras h5 或 tflite 模型轉(zhuǎn)換支持多種芯片架構(gòu)的專用指令優(yōu)化: ARM SIMD/NEON...

關(guān)鍵字: 開發(fā)板 單片機

 米蘭諾維奇博士提出"語言能力雙軌進化論",動態(tài)命題技術(shù)破解安全性困局 貴陽2025年7月23日 /美通社/ -- 7月22日,在第八屆英語教學(xué)與測評學(xué)術(shù)研討會上,國際語言測評權(quán)威專家、朗...

關(guān)鍵字: AI 人工智能 指令 研討會

2025年7月17日,第九屆瑞芯微開發(fā)者大會(RKDC!2025)在福州海峽國際會展中心開幕。米爾電子作為瑞芯微IDH生態(tài)合作伙伴受邀出席此次盛會。米爾不僅為廣大用戶帶來米爾基于RK35系列處理器的核心板和開發(fā)板/工控機...

關(guān)鍵字: 核心板 開發(fā)板 工控機
關(guān)閉