計算機系統能力培
面向系統能力培養
軟硬件課程貫通
主板硬件規格
主芯片與存儲結構
? Xilinx Kintex?-7 ? 層次化存儲結構
? XC7K325T-2FFG676 ? 6M Bytes SRAM(位寬48 bit)
? 326,080 個邏輯單元 ? 512M Bytes DDR3 SDRAM(位寬32bit)
? 16,020Kb 容量的片內存儲器 ? 32M Bytes BPI FLASH(位寬32bit)
? 840 個DSP單元 ? 16M Bytes SPI FLASH(用戶)
? 1個PCIe? 2.0 硬核控制器 ? 16M Bytes SPI FLASH(固化配置文件)
? 8個12.5Gbps GTX高速串行收發器 ? 1路microSD卡插槽
主要接口
? 3路串口
? USB-UART(miniUSB)串口
? DB9(母)串口
? 插針串口(供LCD觸屏專用)
? 8個七段數碼管(串行)
? 16個LED(串行)
? 16個撥碼開關
? 5x5 鍵盤矩陣
? 2個三色燈
? 1路12位VGA接口( RGB4:4:4 )
其他接口
? 1路10M/100M/1000M網口(RJ45)
? 1路HDMI input
? 1路HDMI output
? 1路USB-OTG接口
? 2路USB轉PS2接口
? 1組Arduino接口(3.3V) (sword做主板)
? 1組PMOD接口
? 1路JTAG接口(14 pin)
? PCIe Gen2 4 Lane, end point
? 4路10G光纖接口(SFP+)
Arduino simple UI子板
? 4個七段數碼顯示管(并行)
? 8個LED (并行)
? 兩個彩色按鍵
? 1個蜂鳴器
《數字邏輯》課程實驗
? 實驗1 二極管與三極管開關電路
? 實驗2 集成邏輯門電路的功能及參數測試
? 實驗3 EDA實驗平臺與實驗環境運用
? 實驗4 變量譯碼器設計與應用
? 實驗5 七段碼顯示譯碼器設計與應用
? 實驗6 數據選擇器設計及應用(含實驗測試環境建立)
? 實驗7 全加器與加法器設計實現
? 實驗8 加器器與ALU設計實現
? 實驗9 RS、D觸發器設計實現
? 實驗10 同步時序電路典型設計(狀態機設計,結構描述)
? 實驗11 寄存器及寄存器傳輸控制
? 實驗12 移位寄存器設計與應用
? 實驗13 計數器/定時器設計與應用
? 實驗14 存儲器設計*
《計算機組成》課程實驗
? Lab1: 多路選擇器與CPU輔助模塊設計
? 該實驗擴展和優化邏輯實驗的基本模塊,了解計算機硬件系統構成的最基本元件模塊。
? Lab2: IO部件(設備)擴展
? 使學生了解設備與接口,了解人機交互,用GPIO實現簡單人機交互。
? Lab3:建立CPU調試測試環境
? 學習IP核的使用方法,學習用IP核實現簡單SOC系統。
? Lab4: CPU核集成設計
? 學習和掌握CPU的核心組成:數據通路與控制器,設計數據通路的功能部件。
? Lab5: CPU設計之數據通路
? 設計和測試數據通路。
? Lab6: CPU設計之控制器
? 學習指令執行過程和控制流關系,設計并測試控制器。
? Lab7: CPU設計之指令擴展
? 組合數據通路和控制器,測試組合成的系統。
? Lab8: CPU設計之中斷
? 學習CPU中斷工作原理,設計并測試簡單的中斷。
? Lab9: CPU設計之多周期測試框架建立
? 深入理解CPU結構,建立多周期CPU測試應用環境。
? Lab10: CPU設計之多周期數據通路設計
? 設計并測試多周期的數據通路。
? Lab11: CPU設計之控制器
? 設計并測試多周期數據通路的控制器。
? Lab12: 指令擴展設計
? 學習CPU優化思想,自由嘗試個性化的設計。
? Lab13: 綜合性課程設計_微控制器或SOC應用
? 綜合課程所有實驗內容,進行更復雜的設計嘗試
《操作系統》課程實驗
? Lab0:開發環境搭建與工具使用
? 安裝交叉編譯工具鏈,編譯一個簡單工程,綜合使用編譯工具
? Lab1:工程編譯
? 熟悉工程結構,編譯一個完整的內核
? Lab2:操作系統啟動與初始化
? 編寫啟動與初始化代碼,編譯并鏈接生成內核鏡像
? Lab3:異常機制的實現
? 編寫異常機制初始化代碼,編寫和測試系統調用
? Lab4:設備驅動設計
? 編寫簡單驅動程序,測試驅動程序工作情況
? Lab5:內存管理
? 實現ZJUNIX的內存管理模塊,測試內存管理模塊
? Lab6:進程管理
? 實現ZJUNIX的進程管理模塊,測試進程管理模塊
? Lab7:文件系統
? 熟悉和理解文件系統、虛擬文件系統,實現ZJUNIX的文件系統,測試文
件系統的可用性與正確性
? Lab8:應用程序設計
? 開發針對ZJUNIX的應用程序,編譯運行應用程序
《編譯原理》課程實驗
? Lab1:了解Lex和Yacc
? 了解Lex和Yacc的基本功能,掌握他們的基本語法
? Lab2:利用Lex計算文本文件的信息
? 編輯一個Lex輸入文件,用它生成可以計算文本字符數等信息的程序
? Lab3:生成Yacc計算器
? 用Yacc生成能進行整數和實數運算的計算器
? Lab4:了解C minus
? 了解C minus的基本語法,嘗試用Lex實踐C minus詞法分析
? Lab5:編寫C minus的語法分析模塊
? 掌握Yacc的一些高級用法,根據C minus的語法特點構建語法樹的數據結 構,用Yacc編寫C minus語法分析工具
? Lab6:編寫C minus語義分析模塊
? 對Yacc生成的語法樹進行分析并生成符號表,可以對符號表進行插入、
刪除、查找等操作
? Lab7:C minus類型檢查
? 根據Yacc生成的語法樹以及符號表進行類型檢查
? Lab8:編寫C minus的MIPS代碼生成模塊
? 嘗試試利用語法樹以及符號表進行MIPS代碼生成,測試結果的正確性
? Lab9:C minus的MIPS編譯器
? 整合Lab1到Lab8,完成一個完整的C minus編譯器,驗證編譯器正確性,
對代碼生成適當優化,完成課程實驗最終報告