国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

學(xué)科競(jìng)賽與課程設(shè)計(jì)有機(jī)融合的計(jì)算機(jī)組成原理實(shí)驗(yàn)教學(xué)探索

2023-07-16 08:16樊彥恩張俊霞
軟件導(dǎo)刊 2023年6期
關(guān)鍵詞:計(jì)算機(jī)系統(tǒng)流水線調(diào)試

樊彥恩,張俊霞

(中國(guó)科學(xué)技術(shù)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230026)

0 引言

信息和通信技術(shù)的飛速發(fā)展,對(duì)計(jì)算機(jī)專業(yè)人才的綜合素質(zhì)、競(jìng)爭(zhēng)能力和創(chuàng)新能力的要求越來越高。為推動(dòng)我國(guó)計(jì)算機(jī)領(lǐng)域創(chuàng)新人才培養(yǎng),為我國(guó)高端芯片及核心系統(tǒng)的技術(shù)突破與產(chǎn)業(yè)化培養(yǎng)后備人才,教育部高等學(xué)校計(jì)算機(jī)類專業(yè)教學(xué)指導(dǎo)委員會(huì)(簡(jiǎn)稱“計(jì)算機(jī)類教指委”)和系統(tǒng)能力培養(yǎng)專家組共同發(fā)起 “全國(guó)大學(xué)生計(jì)算機(jī)系統(tǒng)能力培養(yǎng)大賽”。大賽以賽促學(xué)、以賽促教,助力我國(guó)高校與企業(yè)產(chǎn)學(xué)研合作的健康、快速發(fā)展。其中,“龍芯杯”作為該賽事的CPU賽道(以下簡(jiǎn)稱CPU設(shè)計(jì)大賽),以計(jì)算機(jī)系統(tǒng)設(shè)計(jì)、分析、優(yōu)化、應(yīng)用為目標(biāo),涉及到計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)中的CPU、操作系統(tǒng)和編譯器3個(gè)方向的知識(shí),重點(diǎn)培養(yǎng)學(xué)生的系統(tǒng)觀、創(chuàng)新力、工程實(shí)踐能力和團(tuán)隊(duì)協(xié)作精神。

計(jì)算機(jī)組成原理作為計(jì)算機(jī)專業(yè)最重要的核心基礎(chǔ)課之一,其教學(xué)內(nèi)容是軟件與硬件的結(jié)合,不僅涉及計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)中下層的數(shù)字邏輯電路設(shè)計(jì)和指令系統(tǒng),還涉及到上層的操作系統(tǒng)和編譯程序等軟件技術(shù),在整個(gè)計(jì)算機(jī)專業(yè)教學(xué)中起著承上啟下的作用[1-2]。該課程對(duì)于學(xué)生完整理解計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu),系統(tǒng)地建立計(jì)算機(jī)整機(jī)概念,具有非常重要的作用。

近年來,在全國(guó)計(jì)算機(jī)教學(xué)指導(dǎo)委員會(huì)的指導(dǎo)和推動(dòng)下,各高校都在進(jìn)行計(jì)算機(jī)系統(tǒng)能力培養(yǎng)的教學(xué)改革[3-5]。其中,針對(duì)計(jì)算機(jī)組成原理實(shí)驗(yàn)課程教學(xué)改革的研究與探討工作也在不斷發(fā)展和完善中。北京工業(yè)大學(xué)教學(xué)硬件課程組分析并梳理了計(jì)算機(jī)類競(jìng)賽典型參賽作品中涉及到的各種硬件知識(shí)點(diǎn),在計(jì)算機(jī)組成原理這一核心課程上,借鑒了競(jìng)賽的CPU架構(gòu),增加了一些典型外設(shè)的連接任務(wù)等內(nèi)容[6]。針對(duì)計(jì)算機(jī)組成原理實(shí)驗(yàn)課程特點(diǎn),成都大學(xué)提出將科技競(jìng)賽與其融合,通過建立具有科技競(jìng)賽背景的教師團(tuán)隊(duì)進(jìn)行教學(xué)改革[7]。硬件實(shí)驗(yàn)平臺(tái)對(duì)于計(jì)算機(jī)組成原理的實(shí)驗(yàn)課程教學(xué)具有重要意義。合肥工業(yè)大學(xué)教學(xué)課題組通過分析安徽省系統(tǒng)能力培養(yǎng)競(jìng)賽題目和成績(jī),以及對(duì)部分院校計(jì)算機(jī)組成原理實(shí)驗(yàn)平臺(tái)的調(diào)查,提出以ModelSim為主要實(shí)驗(yàn)平臺(tái),以仿真為主的輕量級(jí)實(shí)驗(yàn)體系[8]。南京郵電大學(xué)和北京科技大學(xué)通過引入龍芯開源 CPU的教學(xué)實(shí)驗(yàn)平臺(tái),開展了一系列教學(xué)改革嘗試[9-10]。綜上所述,各高校對(duì)計(jì)算機(jī)組成原理實(shí)驗(yàn)課程的教學(xué)改革主要集中在實(shí)驗(yàn)平臺(tái)、教學(xué)方法以及硬件外設(shè)應(yīng)用方面,并取得了預(yù)期成效[11-12]。然而,鮮有教改在實(shí)驗(yàn)內(nèi)容中增設(shè)軟件技術(shù)和CPU功能調(diào)試技術(shù),這兩方面內(nèi)容對(duì)于學(xué)生建立系統(tǒng)觀和鍛煉工程實(shí)踐能力非常有幫助。在計(jì)算機(jī)組成原理實(shí)驗(yàn)的考核方面,目前的主流方式是實(shí)驗(yàn)檢查,將實(shí)驗(yàn)報(bào)告與平時(shí)成績(jī)相結(jié)合。在實(shí)驗(yàn)檢查時(shí),由于助教的知識(shí)水平和評(píng)判標(biāo)準(zhǔn)差異,給出的分?jǐn)?shù)帶有一定的主觀性,并且區(qū)分度較小。因此,對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行科學(xué)、有效的量化顯得尤為重要。

中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系春季學(xué)期開設(shè)的計(jì)算機(jī)組成原理實(shí)驗(yàn)課程要求學(xué)生在FPGA開發(fā)板上設(shè)計(jì)出一個(gè)最小計(jì)算機(jī)硬件系統(tǒng)。其核心是針對(duì)給定的RISC-V指令系統(tǒng),采用硬件描述語言Verilog HDL,在FPGA芯片上設(shè)計(jì)出擁有完整CPU架構(gòu)的片上系統(tǒng)(System on Chip,SoC)。為了進(jìn)一步培養(yǎng)學(xué)生的計(jì)算機(jī)結(jié)構(gòu)系統(tǒng)觀和工程實(shí)踐能力,課題組將CPU設(shè)計(jì)大賽中涉及到的計(jì)算機(jī)系統(tǒng)硬件、軟件知識(shí)點(diǎn)以及CPU功能調(diào)試技術(shù),經(jīng)過研究、裁剪和融合,滲透到計(jì)算機(jī)組成原理實(shí)驗(yàn)教學(xué)內(nèi)容中,將在CPU設(shè)計(jì)大賽中采用的系統(tǒng)測(cè)試方法和評(píng)分標(biāo)準(zhǔn)應(yīng)用到實(shí)踐教學(xué)中,更新和擴(kuò)充教學(xué)內(nèi)容,將競(jìng)賽與教學(xué)進(jìn)行有機(jī)結(jié)合,切實(shí)提高實(shí)驗(yàn)教學(xué)質(zhì)量。

1 實(shí)驗(yàn)課程知識(shí)儲(chǔ)備

計(jì)算機(jī)組成原理實(shí)驗(yàn)課程旨在利用電子設(shè)計(jì)自動(dòng)化技術(shù)(Electronic Design Automation,EDA),在FPGA開發(fā)板(Nexys4 DDR)上構(gòu)建一個(gè)能正確工作的最小計(jì)算機(jī)硬件系統(tǒng),如圖1所示。該最小計(jì)算機(jī)硬件系統(tǒng)由擁有完整CPU架構(gòu)的SoC芯片及其外設(shè)接口設(shè)備組成。其中,開關(guān)和按鍵控制Run Mode模塊輸出時(shí)鐘信號(hào)clk_cpu,控制CPU工作在單步調(diào)試模式或連續(xù)運(yùn)行模式;CPU通過訪問IO Unit模塊管理外設(shè),如驅(qū)動(dòng)開發(fā)板上的LED燈、數(shù)碼管,并接收外部開關(guān)、按鍵的輸入等。在數(shù)字電路理論和實(shí)驗(yàn)課程中,學(xué)生已經(jīng)掌握在Vivado集成環(huán)境下,采用Verilog HDL語言在FPGA芯片上進(jìn)行數(shù)字邏輯單元設(shè)計(jì)和簡(jiǎn)單的數(shù)字系統(tǒng)設(shè)計(jì)。其次,在計(jì)算機(jī)組成原理理論課程中,學(xué)生深入學(xué)習(xí)了RISC-V指令系統(tǒng),以及單周期、多周期和流水線CPU數(shù)據(jù)通路設(shè)計(jì)。計(jì)算機(jī)組成原理實(shí)驗(yàn)課程建立在此基礎(chǔ)上,從設(shè)計(jì)CPU部件級(jí)電路開始,逐步完成RISC-V體系結(jié)構(gòu)的完整CPU設(shè)計(jì)。

Fig.1 Schematic diagram of minimum computer hardware system圖1 最小計(jì)算機(jī)硬件系統(tǒng)原理

2 實(shí)驗(yàn)課程內(nèi)容設(shè)置

計(jì)算機(jī)組成原理實(shí)驗(yàn)課程旨在以“搭積木”的方式構(gòu)建一個(gè)能正確工作的最小計(jì)算機(jī)系統(tǒng),實(shí)驗(yàn)內(nèi)容主要包括CPU調(diào)試技術(shù)以及CPU部件級(jí)設(shè)計(jì)、編譯工具使用及匯編程序設(shè)計(jì)、單周期CPU設(shè)計(jì)、流水線CPU設(shè)計(jì)和綜合設(shè)計(jì)。其中,CPU作為計(jì)算機(jī)系統(tǒng)的核心器件,是實(shí)驗(yàn)課程中需要重點(diǎn)設(shè)計(jì)的部分。最小計(jì)算機(jī)系統(tǒng)工作原理如圖2所示。

Fig.2 Working principle of minimum computer system圖2 最小計(jì)算機(jī)系統(tǒng)工作原理

2.1 CPU部件級(jí)設(shè)計(jì)

CPU硬件架構(gòu)由一系列功能部件組成,如算術(shù)邏輯單元(Arithmetic and Logic Unit,ALU)、寄存器、存儲(chǔ)器等。這些功能部件通過數(shù)據(jù)通路與控制器互連,實(shí)現(xiàn)了一個(gè)指令的5個(gè)處理步驟:取指、譯碼、執(zhí)行、訪存、寫回。在實(shí)驗(yàn)課程中,部件級(jí)實(shí)驗(yàn)主要包括ALU設(shè)計(jì)及其應(yīng)用、寄存器堆與存儲(chǔ)器設(shè)計(jì)。

2.2 編譯工具使用及匯編程序設(shè)計(jì)

“龍芯杯”CPU設(shè)計(jì)大賽的初衷在于提高學(xué)生的計(jì)算機(jī)系統(tǒng)能力,參賽隊(duì)員不僅要掌握CPU的工作原理及設(shè)計(jì)方法,而且需要了解基于GNU編譯套件(GNU Compiler Collection,GCC)編譯的一般過程,即一個(gè)C或匯編程序是如何一步步轉(zhuǎn)化為一個(gè)可執(zhí)行文件的。由于待測(cè)試的最小計(jì)算機(jī)硬件系統(tǒng)沒有運(yùn)行任何操作系統(tǒng),無法直接運(yùn)行可執(zhí)行文件,因此需要利用RAM IP的初始內(nèi)容加載功能?;诖?,課題組設(shè)計(jì)了GCC交叉編譯工具的使用和匯編程序設(shè)計(jì)方面的實(shí)驗(yàn)內(nèi)容。

2.2.1 GCC交叉編譯工具使用

結(jié)合CPU設(shè)計(jì)大賽中對(duì)交叉編譯工具的使用要求,同時(shí)借鑒美國(guó)一流大學(xué)UC-Berkeley、Stanford大學(xué)和卡內(nèi)基梅隆大學(xué)等在相關(guān)實(shí)踐課程方面的教學(xué)理念及教學(xué)思路[13]:“C語言程序→匯編語言程序→機(jī)器目標(biāo)代碼→處理器結(jié)構(gòu)”,在單周期CPU設(shè)計(jì)實(shí)驗(yàn)開始之前,課題組安排了GCC交叉編譯工具的使用實(shí)驗(yàn)。學(xué)生根據(jù)指導(dǎo)書完成虛擬機(jī)環(huán)境搭建,通過使用GCC工具和簡(jiǎn)單的Linux 操作命令,將一個(gè)簡(jiǎn)單的C語言程序hello.c通過編譯、匯編、鏈接,轉(zhuǎn)換成目標(biāo)機(jī)器代碼。該實(shí)驗(yàn)作為一個(gè)驗(yàn)證性實(shí)驗(yàn),具有很強(qiáng)的綜合性,旨在幫助學(xué)生理解高級(jí)語言與機(jī)器語言之間的轉(zhuǎn)換關(guān)系,使學(xué)生對(duì)一個(gè)程序的處理過程以及計(jì)算機(jī)硬件系統(tǒng)和軟件系統(tǒng)是如何協(xié)調(diào)工作的,有一個(gè)全面了解,初步建立計(jì)算機(jī)系統(tǒng)概念。

2.2.2 匯編程序設(shè)計(jì)

計(jì)算機(jī)組成原理實(shí)驗(yàn)要求學(xué)生在FPGA開發(fā)板上設(shè)計(jì)并實(shí)現(xiàn)一個(gè)最小計(jì)算機(jī)硬件系統(tǒng),然后通過在該計(jì)算機(jī)硬件系統(tǒng)上運(yùn)行測(cè)試程序來完成CPU的功能驗(yàn)證。該測(cè)試程序通常采用C語言或匯編語言編寫。編寫C語言代碼比較方便、快捷,適合編寫復(fù)雜程序;匯編語言在編寫時(shí)雖然比較繁瑣,但可以明確控制指令順序,編譯結(jié)果。因此,幫助學(xué)生學(xué)會(huì)閱讀并設(shè)計(jì)匯編程序非常有必要的。

在匯編程序設(shè)計(jì)實(shí)驗(yàn)中,要求學(xué)生設(shè)計(jì)匯編程序,實(shí)現(xiàn)斐波那契—盧卡斯數(shù)列,然后利用匯編仿真工具Rars(RISC-V Assembler and Runtime Simulator),將匯編程序的代碼段與數(shù)據(jù)段分別轉(zhuǎn)換成inst.coe和data.coe文件。該coe文件即可作為后續(xù)CPU的功能測(cè)試程序。

2.3 CPU調(diào)試技術(shù)

從學(xué)生做實(shí)驗(yàn)的周期來看,仿真和調(diào)試所占比重相對(duì)較大,也是學(xué)生反饋?zhàn)疃鄦栴}的地方。CPU設(shè)計(jì)大賽給出了一套基于Trace比對(duì)的調(diào)試仿真技術(shù)[14],其核心思想是單步調(diào)試策略,能夠判斷每一行代碼的運(yùn)行結(jié)果是否正確,可以幫助參賽者對(duì)自己的設(shè)計(jì)進(jìn)行仿真驗(yàn)證。但在實(shí)際調(diào)試過程中,經(jīng)常會(huì)碰到仿真上板行為不一致的情況,更多時(shí)候是仿真正常,上板異常。由于學(xué)生上板調(diào)試能力較弱,導(dǎo)致很難定位錯(cuò)誤。基于此,課題組借鑒基于Trace比對(duì)的調(diào)試仿真技術(shù)核心思想:?jiǎn)尾秸{(diào)試策略,對(duì)本部分實(shí)驗(yàn)內(nèi)容作如下安排:①設(shè)置Vivado在線調(diào)試工具ILA(Integrated Logic Anylyzer);②通過FPGA開發(fā)板上的撥碼開關(guān)控制Run Mode模塊,控制CPU工作在單步運(yùn)行或連續(xù)運(yùn)行模式;③在單步運(yùn)行模式下,通過按鍵控制Run Mode模塊輸出時(shí)鐘脈沖,即按一次按鍵,輸出一個(gè)時(shí)鐘脈沖。

在上板異常時(shí),首先控制CPU運(yùn)行在單步運(yùn)行模式,然后按下時(shí)鐘脈沖觸發(fā)按鍵,通過單步調(diào)試的“慢動(dòng)作”運(yùn)行程序的每一行代碼,之后利用ILA工具抓取關(guān)鍵的調(diào)試信號(hào),如PC值、從RF讀出的數(shù)據(jù)rf_data、從數(shù)據(jù)存儲(chǔ)器讀出的數(shù)據(jù)m_data、RF的寫回?cái)?shù)據(jù)wb,以及各流水段寄存器控制信號(hào)ctrl、ctrlm、ctrlw等,能夠看到每一行代碼的運(yùn)行行為是否符合預(yù)期,從而及時(shí)定位出錯(cuò)點(diǎn),如圖3所示。其中,clk_cpu是CPU模塊的時(shí)鐘信號(hào),將clk_cpu的上升沿作為觸發(fā)條件。

Fig.3 CPU single step running ILA interface圖3 CPU單步運(yùn)行ILA界面

2.4 CPU設(shè)計(jì)

2.4.1 單周期 CPU設(shè)計(jì)

為了使學(xué)生能夠在最短時(shí)間內(nèi)接觸到CPU設(shè)計(jì)的核心知識(shí),課題組從基礎(chǔ)整數(shù)指令集RV32I中選取10條最具代表性的指令,構(gòu)建最小計(jì)算機(jī)系統(tǒng)。10條指令分別為:add,addi,sub,auipc,lw,sw,beq,blt,jal,jalr,其功能介紹如表1所示。實(shí)現(xiàn)上述10條指令的單周期CPU數(shù)據(jù)通路如圖4所示。

Table 1 The instructions implemented by CPU表1 CPU需要實(shí)現(xiàn)的指令

Fig.4 Datapath of single-cycle CPU圖4 單周期CPU數(shù)據(jù)通路

2.4.2 流水線CPU設(shè)計(jì)

流水線是現(xiàn)代工業(yè)體系的關(guān)鍵思想。在現(xiàn)代CPU中,為了縮短數(shù)據(jù)通路、提升主頻,設(shè)計(jì)者使用多組寄存器將CPU的各個(gè)部分分割開來,形成了指令與數(shù)據(jù)的流水線。一般來說,電路主頻越高,所需的流水線的級(jí)數(shù)則越多,但這并不意味著級(jí)數(shù)越多越好。由于觸發(fā)器本身存在延時(shí),兩級(jí)流水線之間的路徑和組合邏輯都會(huì)引入延時(shí),因此主頻不能無限提高。其次,流水線級(jí)數(shù)越多,所帶來的相關(guān)性問題便會(huì)越復(fù)雜。在本實(shí)驗(yàn)中,采用最經(jīng)典的5級(jí)流水線設(shè)計(jì),每條指令均包含IF(Instruction Fetch,取指令)、ID(Instruction Decode,譯碼)、EX(Execution,執(zhí)行)、MEM(Memory Access,訪存)和 WB(Write Back to Register,寫回)5個(gè)步驟。

流水線CPU可能存在3類相關(guān)問題[15]:結(jié)構(gòu)相關(guān)、數(shù)據(jù)相關(guān)和控制相關(guān)。本實(shí)驗(yàn)要求學(xué)生在單周期CPU數(shù)據(jù)通路基礎(chǔ)上,設(shè)計(jì)出相同指令集的流水線CPU數(shù)據(jù)通路,然后按照以下4個(gè)步驟設(shè)計(jì)并運(yùn)行CPU:

步驟1:設(shè)計(jì)理想流水線CPU,并能夠運(yùn)行無數(shù)據(jù)相關(guān)和轉(zhuǎn)移指令的測(cè)試程序(指令存儲(chǔ)器加載no_hazard.coe)。

步驟2:設(shè)計(jì)僅有數(shù)據(jù)相關(guān)檢測(cè)和處理單元的流水線CPU,并能夠運(yùn)行僅有數(shù)據(jù)相關(guān)的測(cè)試程序(指令存儲(chǔ)器加載data_hazard.coe)。

步驟3:在步驟2的基礎(chǔ)上,增加控制相關(guān)檢測(cè)和處理單元的流水線CPU,并能夠運(yùn)行僅有數(shù)據(jù)相關(guān)和轉(zhuǎn)移指令的測(cè)試程序(指令存儲(chǔ)器加載hazard_test.coe)。

步驟4:運(yùn)行測(cè)試程序,計(jì)算斐波那契—盧卡斯數(shù)列,查看時(shí)序報(bào)告和資源利用率,并與單周期CPU運(yùn)行結(jié)果作比對(duì)。

2.5 綜合設(shè)計(jì)

經(jīng)過前面對(duì)CPU部件級(jí)設(shè)計(jì)、匯編語言程序設(shè)計(jì)、單周期CPU設(shè)計(jì)、流水線CPU設(shè)計(jì)及CPU調(diào)試技術(shù)的實(shí)踐訓(xùn)練后,學(xué)生基本掌握了在FPGA開發(fā)板上設(shè)計(jì)出一個(gè)最小計(jì)算機(jī)硬件系統(tǒng)的方法,并且熟悉了FPGA開發(fā)板的外設(shè)資源。在本實(shí)驗(yàn)課程的最后,課題組安排了綜合設(shè)計(jì)實(shí)驗(yàn)。

綜合設(shè)計(jì)實(shí)驗(yàn)要求學(xué)生分組完成,每組由2名同學(xué)分工合作,從而鍛煉學(xué)生團(tuán)隊(duì)協(xié)作的能力。實(shí)驗(yàn)結(jié)果評(píng)估采用項(xiàng)目答辯的形式,每個(gè)小組選派代表上臺(tái),通過PPT和視頻展示,介紹項(xiàng)目設(shè)計(jì)原理和特點(diǎn),鍛煉學(xué)生的心理素質(zhì);通過問答環(huán)節(jié),提升學(xué)生主動(dòng)探索的熱情和學(xué)習(xí)的積極性,增強(qiáng)各個(gè)小組之間的對(duì)抗性。

3 實(shí)驗(yàn)考核評(píng)價(jià)

實(shí)驗(yàn)考核評(píng)價(jià)是實(shí)驗(yàn)教學(xué)過程中非常重要的一環(huán),建立科學(xué)的實(shí)驗(yàn)考核評(píng)價(jià)機(jī)制是保證實(shí)驗(yàn)教學(xué)質(zhì)量的重要手段[16]。在單周期和流水線CPU實(shí)驗(yàn)的考核過程中,由于系統(tǒng)功能復(fù)雜,對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行科學(xué)有效的量化則顯得尤為重要。課題組借鑒了部分CPU設(shè)計(jì)大賽中的評(píng)分標(biāo)準(zhǔn),將CPU實(shí)驗(yàn)考核劃分為功能測(cè)試得分和性能測(cè)試得分。

(1)功能測(cè)試得分以正確通過CPU測(cè)試程序中的指令項(xiàng)數(shù)為評(píng)價(jià)依據(jù)。計(jì)算方法由式(1)所示:

學(xué)生每次測(cè)試通過一部分指令即可得到一部分分?jǐn)?shù),不僅提高了學(xué)生對(duì)實(shí)驗(yàn)的興趣,而且還能較好地了解學(xué)生的完成情況。

(2)性能測(cè)試得分以CPU運(yùn)行測(cè)試程序所需的時(shí)間為評(píng)價(jià)依據(jù)。在FPGA內(nèi)部集成1個(gè)時(shí)鐘周期計(jì)數(shù)器,并將計(jì)數(shù)值顯示在外設(shè)數(shù)碼管上?;居?jì)算方法如下:

課題組設(shè)置一個(gè)最小和最大執(zhí)行時(shí)間,性能測(cè)試分值分別定義為100分和0分,學(xué)生成績(jī)映射至[0,100]區(qū)間。

程序執(zhí)行時(shí)間的計(jì)算方法如式(2)所示:

性能得分計(jì)算如式(3)所示:

其中,參數(shù)k、b由最大執(zhí)行時(shí)間和最小執(zhí)行時(shí)間決定。

4 教學(xué)效果

經(jīng)過計(jì)算機(jī)組成原理實(shí)驗(yàn)課程的訓(xùn)練后,絕大多數(shù)學(xué)生能夠針對(duì)給定的RISC-V指令系統(tǒng),在FPGA開發(fā)板上設(shè)計(jì)出一個(gè)最小計(jì)算機(jī)硬件系統(tǒng);通過對(duì)編譯工具的使用及匯編程序設(shè)計(jì),學(xué)生能夠全面理解計(jì)算機(jī)系統(tǒng)硬件與軟件之間的銜接關(guān)系。目前匯編程序設(shè)計(jì)實(shí)驗(yàn)在2021年和2022年春季學(xué)期得到實(shí)施,學(xué)生接受程度較高,增加該部分實(shí)驗(yàn)內(nèi)容的意義是為了幫助學(xué)生初步建立計(jì)算機(jī)系統(tǒng)概念。在2022年春季學(xué)期,編譯工具使用、單步調(diào)試思想結(jié)合ILA工具使用和量化實(shí)驗(yàn)檢查方案的相關(guān)實(shí)驗(yàn)僅在分級(jí)教學(xué)中面向CPU設(shè)計(jì)競(jìng)賽選拔的提高班得到初步實(shí)施,讓提高班的學(xué)生提前了解CPU設(shè)計(jì)大賽的技術(shù)方案,提高學(xué)生參與學(xué)科競(jìng)賽的積極性。中國(guó)科學(xué)技術(shù)大學(xué)在2020、2021年度參加提高班的學(xué)生人數(shù)分別是9人和14人,2022年度增加至18人,說明學(xué)生參賽的積極性得到提高。

5 結(jié)語

課題組經(jīng)過不斷探索挖掘,從計(jì)算機(jī)組成原理實(shí)驗(yàn)課程部分設(shè)計(jì)內(nèi)容和考核評(píng)價(jià)體系方面引入了競(jìng)賽元素,將競(jìng)賽與教學(xué)有機(jī)結(jié)合,彌補(bǔ)了課程在難度和新穎性方面的不足,引導(dǎo)更多學(xué)生積極參與學(xué)科競(jìng)賽,從而達(dá)到了以賽促學(xué)、賽教融合的目標(biāo)。該教學(xué)改革方案計(jì)劃在2023學(xué)年同時(shí)應(yīng)用于計(jì)算機(jī)組成原理實(shí)驗(yàn)分級(jí)教學(xué)中的普通班和提高班。

猜你喜歡
計(jì)算機(jī)系統(tǒng)流水線調(diào)試
Gen Z Migrant Workers Are Leaving the Assembly Line
流水線
IBM推出可與人類“辯論”的計(jì)算機(jī)系統(tǒng)
基于航拍無人機(jī)的設(shè)計(jì)與調(diào)試
FOCAS功能在機(jī)床調(diào)試中的開發(fā)與應(yīng)用
無線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
分布處理計(jì)算機(jī)系統(tǒng)研究
調(diào)壓柜的調(diào)試與試運(yùn)行探討
報(bào)廢汽車拆解半自動(dòng)流水線研究
MIMD 并行計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)與定量分析