- 博客(28)
- 收藏
- 关注
原创 冯·诺依曼结构及工作流程
冯·诺依曼结构(计算机基本结构)结构输入设备存储器:存放数据和指令控制器:取指令等操作运算器:取出指令后运算输出设备工作流程要执行的工作编写成程序程序存入主存启动程序根据pc取出指令提取指令中的信息执行指令更新pc重复4到7的过程
2024-10-24 10:11:30
593
原创 计算机系统的层次
目录计算机系统的层次ISA(指令集体系结构)计算机系统的层次计算机硬件是基础指令集体系结构:将硬件的功能封装从指令供软件使用操作系统:提供人机交互界面、提供服务功能的内核例程语言处理系统:语言处理程序:编译、汇编、链接运行时系统:库函数、调试、优化等功能应用程序ISA(指令集体系结构)是硬件与软件之间的接口ISA将硬件的功能包装成指令软件通过使用ISA来使用硬件
2024-10-23 10:03:41
207
原创 程序描述语言
目录程序描述语言机器级语言指令汇编语言高级语言程序描述语言机器级语言指令0/1序列构成机器易识别不易阅读和书写汇编语言用助记符和标号来表示的指令一条汇编语言就相当于一条指令只不过每一条指令有了自己的“代号”书写复杂程序时仍然麻烦高级语言有“面向过程”和“面向对象”的语言之分有两种转换方式:“编译”和“解释”编译程序(Complier):将高级语言源程序转换为机器级目 标程序,执行时只要启动目标程序即可解释程序(Interpreter ):将高级语言语句逐条翻译成机
2024-10-22 10:33:16
177
原创 程序的机器级表示
整数加法溢出在c语言中为无定义行为,编译器可以随意输出,要避免这种行为在指令层面中有定义行为。溢出后 回滚,即 最大正数 + 1 = 最小复数除法除零在c语言中为无定义行为在指令层面中有定义行为,riscv中将结果 定义为-1常见未定义行为应对方法。
2024-10-22 10:32:58
656
原创 单周期处理器设计思路
RCA在计算某一分支的时候,使用较多的门,一个连着一个,延迟大。而在计算其他分支时,延迟小。而最终的延迟,就是最大的分支的延迟。而CLA,则更好地平衡了两个分支的延迟,让两个分支的延迟尽量相同,则总延迟也会下降。右边的图为真值表,可以发现溢出的时候Cn-1和Cn一定不相同。因此将整个大位宽的CLA拆成几个小位宽的CLA。当计算的位宽更大时,也会导致延迟增加。(用综合器综合±*/等效果更好)将全加器替换成4位CLA。交叉开关式 桶形移位器。
2024-10-21 12:57:37
596
原创 pa4学习笔记
ev_handler() (在这里返回切换后的context)让context中的gpr[10] (a0)为arg。让context中的mecp为entry。进程的上下文以及指向它的指针cp的位置。创建一个cp指向context。
2024-10-21 12:56:32
1074
原创 pa3学习笔记
目录批处理模式(操作系统)自陷操作初始化:自陷循环批处理模式(操作系统)作用:当一个程序运行结束后切换到下一个程序来运行的程序维护:程序崩溃了会回到操作系统,但如果操作系统崩溃了就糟糕了,所以要将与操作系统、系统有关的函数保护起来方法:给不同程序设立等级,操作系统等级最高,可以运行系统相关的操作,用户程序等级最低,只能运行最基础的操作。当用户程序想越界操作时,cpu会先检查其等级是否合适,然后分类讨论本质:在硬件中加入一些与特权级检查相关的门电路(例如比较器电路), 如果发现了非法操作,
2024-10-20 11:34:19
740
原创 pa2学习笔记
当按键被按下或松开,都有专门的指示信号keydown因此游戏让按键生效的判断条件可以是:当keydown=1时,按键生效当keydown=0时,按键失效这样可以让多个按键的keydown同时为1。
2024-10-20 10:09:52
1846
原创 Verilog——宏定义与使用
这个专栏会专门讲一些Verilog的知识,后续会慢慢更新,欢迎关注Verilog专栏`define 宏名 值或代码片段假如你将宏定义在了专门的一个文件,名为define.v那么你可以这样来引用该文件//这里写相对路径。
2024-10-16 14:36:11
643
原创 Verilog——建模方式和特点
建模类型及特点数据流建模(assign语句)据流建模侧重于描述信号之间的关系和数据的流动路径,而不关心具体的硬件结构。主要使用assign语句来描述信号的赋值和逻辑运算。通常用于组合逻辑电路的描述。结构化建模(调用模块)结构化建模描述了硬件电路的层次结构,通过实例化基本模块(如门电路)来搭建更复杂的电路。这种建模方式类似于使用元器件搭建电路图。适合描述层次化设计和组合复杂模块。行为级建模(always语句块)行为级建模描述了电路的功能行为,而不是具体的硬件实现。使用alway
2024-10-15 14:04:58
220
原创 Verilator——最简单、最细节上手教程
此教程会以为例从如何安装,到如何使用全程帮助你学习和使用verilator狂肝3h,倾心之作如有笔误、问题,欢迎指出、讨论~
2024-10-14 11:35:08
4388
1
原创 Gowin高云IDE——最简单、最全面上手教程
本教程将是最简单、最全面的高云IDE上手教程我将同时介绍Linux端和Windows端的使用方法。以及针对Linux软件启动麻烦的问题进行优化。
2024-10-13 11:01:29
2924
1
转载 【转载:供自己学习使用】可以编写没有main()的c程序吗
【原文链接:https://www.quora.com/Why-does-a-program-stop-at-the-main-function-in-C-programming#:~:text=When%20execution%20encounters%20either%20a,the%20main()%20function%20block.】
2024-06-01 10:15:26
43
2024年嵌入式FPGA创新设计赛道赛题.zip
2024-10-11
2023年嵌入式FPGA创新设计赛道赛题.zip
2024-10-11
TANG-MEGA-138K-Pro-Dock的FPGA开发板原理图
2024-10-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人