- 博客(66)
- 收藏
- 关注
原创 计算机组成原理(唐朔飞版)第四章课后习题
存储器的带宽指单位时间内从存储器进出信息的最大数量。单位可以是字每秒,字节每秒,位每秒。从题目中我们可以知道该机器的存储字长是32位的即4字节。带宽 = 总线宽度/存储周期 = 1(字)/ 200(ns) = 5M 字/秒 = 20 MB/S程序运行的局部性原理指:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大(大约 5:1)。
2024-07-14 11:09:23
1325
原创 计算机网络第四章课后习题
最大传送单元MTU:是数据链路层协议规定的一个数据帧中的数据字段的最大长度。当一个IP数据报封装成链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不能超过下面数据链路层所规定的MTU值。例如,最常用的以太网就规定其MTU值是1500字节。如果IP数据报超过了最大传送单元MTU的长度,就必须要进行分片。MTU与IP数据报的总长度字段有关系。在目的站而不是在中间的路由器进行组装更好:1)路由器处理数据报更简单些。
2024-07-08 17:56:30
1217
原创 计算机组成原理(唐朔飞版)第三章课后习题
总线是连接多个部件的信息传输线,是各部件共享的传输介质部件应内置或支持总线仲裁逻辑,以便在多个部件请求使用总线时,能够按照一定的规则(如优先级或公平性)决定哪个部件可以使用总线。支持DMA(Direct Memory Access)部件如果支持DMA,可以直接与内存交换数据而无需CPU介入,这样可以减少CPU对总线的占用。部件应具有错误检测和纠正功能,如奇偶校验或ECC(Error Correcting Code),这可以减少由于数据错误导致的重试和重新传输,从而减轻总线负载。
2024-07-08 10:44:07
762
原创 Linux|信号
每一个硬件都有一个中断号,硬盘也不例外,当按下一个键后,通过8529这个芯片向cpu 发出硬件中断,某一个寄存器上就有了键盘的中断号,再在中断向量表中查询对应的键盘读入方法~这样就完成了cpu知道键盘输入的一个过程。当信号的处理动作是自定义的信号处理函数时才返回时先到用户态再从内核态到用户态(因为hander方法 和 main 函数不是调用关系并不能直接返回)。当我们用编译器O1的优化时,main函数 里面又没有修改 gflag的值,于是编译器把内存中的值拷贝到寄存器后,就只看寄存器中的值了。
2024-07-06 19:28:07
1025
1
原创 c++|二叉搜索树
情况d:寻找以删除节点为根的,左子树最大,或者右子树最小(也就是中序相邻的节点),将它的值赋值给希望删除的节点,然后我们现在转换到删除这个替罪羊节点。首先查找元素是否在二叉搜索树中,如果不存在,则返回, 否则要删除的结点可能分下面四种情。看起来有待删除节点有4中情况,实际情况a可以与情况b或者c合并起来,因此真正的删除过程。情况b:删除该结点且使被删除节点的双亲结点指向被删除节点的左孩子结点–直接删除。情况c:删除该结点且使被删除节点的双亲结点指向被删除结点的右孩子结点–直接删除。
2024-05-24 20:17:11
347
1
原创 c++|多态
``cpppublic:virtual void BuyTicket() { cout << "买票-全价" << endl;public:virtual void BuyTicket() { cout << "买票-半价" << endl;/*注意:在重写基类虚函数时,派生类的虚函数在不加virtual关键字时,虽然也可以构成重写(因为继承后基类的虚函数被继承下来了在派生类依旧保持虚函数属性),但是该种写法不是很规范,不建议这样使用*/
2024-05-22 08:26:00
843
原创 c++ |继承
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。基类的其他成员在子类的访问方式 == Min(成员在基类的访问限定符,继承方式)基类private成员在派生类中无论以什么方式继承都是不可见的。
2024-05-21 17:15:49
1082
原创 01背包问题
线性动态规划,我们尝试设置dp[i][j] 从1到i号背包,体积小于等于V的最大重量.因为dpdp[x][V] 从1到x号背包,体积小于等于V的最大重量.下标从1开始,而vw[i][j] 下标从 0开始所以 x - 1= j。特别注意 dp[x][X] 和 vw[i][j] 的映射关系。01背包问题就是一个背包只能选0次或者1次,求相关值的问题。dp表的更新,根据最后一步分类判断。注意选 i 位置的时候。
2024-05-14 19:29:57
425
原创 Linux|进程地址空间
上小学的的时候,我们都会遇到这种情况,就是和同桌划分三八线,本来各占桌子的百分之五十,但是一天你突发奇想想要把区域划分大一点。这怎么用计算机描述呢?我们可以定义一个区域的结构体来描述自己的区域大小。另外一个结构体用来描述来个区域的信息。int start;int end;area left;area right;进程地址空间本质上也是一个结构体,很多属性表示end 和start的范围。
2024-05-09 17:27:57
889
原创 Linux|进程控制
比如说我们解引用空指针写入数据,会发生segmentation fault(段错误)其实本质是操作系统给进程了一个信号我举个例子证明,下面这个代码正常情况会一直运行但是我们给它一个信号他就会报段错误异常的时候我们看退出信号是什么就可以判断出是什么异常了衡量一个进程退出只需要两个数字一个退出码另一个退出信号。
2024-05-09 16:42:11
791
原创 C++|list的模拟实现
我们模拟实现的list是带头双向循环链表,list的成员变量有指向头节点的指针。所以在实现list之前我们应该实现节点这个类型。
2024-04-19 20:30:19
547
1
原创 flood_fill 算法|图形渲染
dx dy可以看作 x方向 和 y 方向的向量,sr+dx[i],sc+dy[i] 用来合成四个方向。我们输入 dx 和 dy 数组时只需要对应位置只有一个零,1和-1的先后顺序不用管。这个数组合成的涵义是 y 方向先 -1 ,x方向 +1 ,x方向-1,y方向+1。从逻辑上每个节点只需要走一次即可。
2024-04-09 00:06:54
782
原创 N皇后问题
不可以,因为reserve并没有初始化path里面的值,后面我们append尾插一串字母的时候,path[i].append(n,ch) 在随机值后面插入n个字符了与逻辑不符,应该是在空字符串后插入n个字符。检查对角线数组 本来的数组大小关系是2*n -1(因为最中间的主对角线共用了)所以我们开了20。因为题目说n最大为9,所以我们开的横和竖的空间至少大于等于9。
2024-04-07 22:33:38
398
原创 计网|谢希仁版|第二章物理层课后习题
EPON ( Ethernet PON )是以太网无源光网络,已在2004年6月形成了 IEEE 的标准802.3ah。在链路层使用以太网协议,利用 PON 的拓扑结构实现以太网的接入。EPON 的优点是:与现有以太网的兼容性好,并且成本低,扩展性强,管理方便。GPON ( Gigabit PON )是吉比特无源光网络,其标准是 ITU 在2003年1月批准的 ITU - T G .984。
2024-03-16 10:53:08
1182
1
原创 计网《二》|物理层|信道极限容量|码分复用|曼彻斯特编码
比如S站的码片序列为00011011 则发送1时 00011011 发送0时 11100100为了方便我们把码片中的0记为-1 1记为+1 则S站的码片为(-1 -1-1+1+1-1+1+1)码元的传送速率越高,信号的传送距离越远,噪声干扰越大或传输媒体质量越差,在接收端失真越严重。当某用户暂时无数据发送时,在时分复用帧中分配给该用户的时隙只能处于空闲状态,其他用户即使一直用数据要发送,也不能使用这空闲的时隙,这就造成了信道利用率的不高。在每一位的中心处都有跳变。
2024-03-14 21:11:08
1055
原创 c++|模板初阶
对于非模板函数和同名函数模板,如果其他条件都相同,在调动时会优先调用非模板函数而不会从该模板产生出一个实例。如果模板可以产生一个具有更好匹配的函数, 那么将选择模板。函数模板是一个蓝图,它本身并不是函数,是编译器用使用方式产生特定具体类型函数的模具。我们在写交换两个整型的swap函数的时候,突然需求变成交换两个双浮点型,我们这时有得写一个函数,想交换单精度类型的又得写一个函数,比如我想交换a1 和 b2的值这时编译器就懵了,一个int 一个double我该听谁的?在函数名后的中指定模板参数的实际类型。
2024-03-05 11:17:45
609
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人