个人物流网站建设方案seo常用的优化工具
考研的文章和资料之后想写的时候再写怕趴
文章目录
- 一、阶段设计
 - 二、环境、开发语言和工具
 - 三、最重要的两个观念
 - 四、处理器芯片设计
 - 五、处理器芯片设计包含很多软件问题
 - 六、处理器芯片的评价指标
 - 七、复杂系统的构建和维护
 - 八、专业世界观
 - 九,提问的艺术(提问模板)
 - 十、考核情况
 
一、阶段设计
- B阶段:以RVE为主、将RT-Thread移植到AM、在给定的面积预算内优化处理器设计
 - A阶段:从RVE转到RV64IMAC、最终运行Linux发行版
 - 开源EDA

 
二、环境、开发语言和工具
Linux环境:我准备直接用虚拟机了
 软件:C语言、C++(少量)、gcc编译器。
 (幸好之前苏嵌学过gcc、makefile等基础知识,底子打的好)
 硬件开发:verilog 开源verilator仿真器+开源gtkwave波形查看器
 (对于verilog,看了看之前学fpga的时候,倒是了解过一点,但是学的不是很深入)
硬件配置:笔记本电脑就行,无需FPGA
 (当然自己设计的处理器放在上面跑也是可以的)
 这里比较推荐的是ASIC
三、最重要的两个观念
1.硬件需要软件的支持才能发挥作用
 狭义的处理器芯片设计: RTL开发
 广义的处理器芯片设计:计算机系统软硬件协同设计
2.复杂系统是迭代演进的(多周期->流水线->超标量->乱序执行)
 做事规律-从易到难,逐步推进
 推荐阅读:《 系统设计黄金法则:简单之美》,包云岗
 KISS法则- Keep It Simple, Stupid
四、处理器芯片设计
本质:实例化和连续
 可以用面包板开发,但是逐渐转成RTL开发(效率高、更方便)
补充:RTL级和Verilog语言
RTL:寄存器传输级
Verilog可以从五个层次对电路(系统)进行描述,包括:系统级、算法级、寄存器传输级(即RTL级)、门级、开关级。我们平时用的最多的为RTL级,故Verilog代码也经常被称为RTL代码。
入门verilog文章–想学verilog的,可以看看这篇文章
五、处理器芯片设计包含很多软件问题
两个本质原因
- 处理器芯片和其他芯片不同,离开软件就无法工作.
 - 代码即软件- RTL代码也是,即使它描述的是硬件
需要使用合适的软件技术管理/维护/测试/评估/优化代码 
软件怎么在处理器上运行?等等
六、处理器芯片的评价指标
- 正确性-最基本。运行100000000次后,是否也能正常运行?
 - 软件支持–你设计的芯片只能运行排序程序,还是能启动Linux
 - 微结构复杂度 - 单周期 复杂度 cache 分支预测
 - PPA(性能(IPC主频)、功耗、面积)
 - 可配置性
 - 代码可读性、可维护性
 
七、复杂系统的构建和维护
- 了解全系统的每一处细节,为调bug有大方向
 - 先完成后完美,体会每一项技术对系统带来的性能提升
 - 构建正确的工具,提升开发速率
 - 经验总结
 
八、专业世界观
- 代码要独立完成
 

九,提问的艺术(提问模板)
模板:
 请回答以下问题:
- 你认为本问题是否属于能力训练的范畴?
 
- 是, 我应该尽最大努力解决这个问题来得到训练
 - 否, 我要汇报讲义或框架代码中的问题, 或提供改进的建议
 - 其他, 请补充说明
 
- 这个问题是否可以通过自己动手试一试来了解答案? (例如类似"执行ls会发生什么"/“C语言中除0会发生什么”/“Cache是直接相联更好还是组相联更好”)
 
- 是, 我试一试就可以知道答案
 - 否, 这个问题不属于此类别
 
- 是否已经阅读并理解相关的报错信息
 
- 是
 - 否
 - 不适用, 这个问题没有报错信息
 
- 是否已经仔细阅读了讲义, 并确认讲义中没有提到相关信息
 
- 是
 - 否
 - 不适用, 这个问题属于调试的训练, 需要我独立解决
 
- 是否可以通过重新编译解决问题?
 
- 是
 - 否
 - 不适用, 这个问题和代码无关
 
- 是否已经尝试STFW?
 
- 是
 - 否
 - 不适用, 这个问题和我的代码强相关, 无法在网上直接搜索到相关信息
 
- 是否已经尝试RTFM?
 
是
- 否
 - 不适用, 这个问题和手册无关
 
- 是否已经尝试RTFSC(包括Makefile等脚本和相关配置文件)?
 
- 是
 - 否
 - 不适用, 这个问题和代码无关
 
- 这个问题是否可以稳定复现?
 
- 是
 - 否
 
-  
请列出你认为对解决问题有帮助的版本信息, 可以是系统/工具/代码等版本.
 -  
请详细描述复现这个问题的具体步骤(需要的时候附上截图).
 -  
请描述你期望看到的结果.
 -  
请阐述你尝试的过程和得到的结果, 并针对这些尝试结果进行分析, 给出自己的思考(需要的时候附上截图).
 
十、考核情况
在所提交的项目里面随机注入三个bug,
 覆盖软件、硬件、环境
 约45分钟找出bug
