今天还挺充实的,早上在图书馆本来想学一下notion,结果看李沐老师的动手深度学习看到十点半,在电脑上配置了李沐老师的d2l和jupyter,等后续有时间的时候再继续学。
下午看了一下notion的使用方法,这玩意初学者用起来是真的麻烦,如果每天没有很多事情需要schedule的话,用这个我认为反而是个累赘,还不如mac自带的提醒事项。
然后去健身房练了腿️♀️,100kg深蹲,再做两组固定器械就去洗澡了。晚上在图书馆复习了一下嵌入式,最近因为看老石的视频,感觉复习嵌入式的时候也有了些动力。
现在回来写一下一天的总结~
老师PPT中给出的定义是:
以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、重量、功耗严格要求的专用计算机系统。
简单来说,就是含有处理器的、专用的软硬件系统,具有自主的信息处理能力。
其中,硬件层是使用硬件描述语言——verilog完成的电路设计,将代码烧到FPGA上,快速进行调试。除了FPGA之外,还有专用集成芯片ASIC的存在。FPGA的速度没有ASIC快,但是可以快速成品而且价格便宜。因此在当前行业里,FPGA几乎是所有电子系统的必要部件。
分别是传统设计方法和系统级设计方法。
而在系统级设计方法中,强调软硬件的协同设计和系统整合,可以更好地管理复杂性并提高设计效率。
我还是想引用一下chatgpt对ARM的解释,我觉得写的很不错:
ARM 的全称是 “Advanced RISC Machines”,意为 “高级精简指令集计算机”。ARM 是一种广泛使用的处理器架构和系列,由 ARM Holdings(现为 Arm Limited)开发和授权给各个芯片制造商使用。
ARM 架构采用精简指令集计算机(Reduced Instruction Set Computing,RISC)的设计理念,旨在提供高效、低功耗的处理器解决方案。ARM 处理器广泛应用于移动设备、嵌入式系统、智能手机、平板电脑、物联网设备和消费电子产品等领域。
ARM 提供了多个处理器系列,包括 Cortex-A 系列、Cortex-R 系列和 Cortex-M 系列。Cortex-A 系列用于高性能应用,如移动设备和嵌入式系统;Cortex-R 系列用于实时应用,如汽车电子和工业控制;Cortex-M 系列用于低功耗、低成本的嵌入式系统,如微控制器和传感器设备。
复习之后,我认为ARM最大的特点就是:
迄今为止,arm定义了8个版本,用1-8来表示。每一个版本下又有不一样的额外版本。命名规则如下:
其中,老师要求重点掌握的是ARM7和ARM9。
ARM7的主要特点如下:
这就导致三级流水存在很严重的问题:执行单元的工作占用很多时钟周期,并且数据存储器和指令存储器的合并会导致流水线阻断的情况,从而影响流水性能。
所以引入了采用五级流水的ARM9,将数据存储器和指令存储器给分开。
本质就是把原来执行单元所做的工作给细分了两个出来,一个是存储器访问,一个是寄存器回写,这样就减少了每个时钟周期内必须完成的工作。
同时将数据存储器和指令存储器给分开也解决了三级流水中访存在指令执行阶段的延迟问题。
今天时间不早了,就先写那么多,没有把复习的内容全部写完,我发现上面写的东西还是过多了,有点不够精简。但是我又觉得每部分都比较重要,唉。。。