![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机系统基础概念
文章平均质量分 92
gusangg
一个憧憬逍遥生活的男子
展开
-
计组《高速缓存》四组联16行+LRU替换实例
何为高速缓存? 高速缓存,简称cache。 我们知道,常用的32位计算机上的内存条可以存储000…000-111…1111也就是2^32大小的键值对,key为32位的地址,value为32位的值。当cpu通过MMU想要访问内存某个地址的时候,主存就会返回相应地址的值。 内存中的数据通常是以块为单位存储的,一个块是什么呢?一个块的大小若为4bytes,那么就刚好占了某一个32位地址的32位值。 如果cpu直接从内存中读取值,这个速度会很慢很慢,于是就有聪明的B想出了高速缓存(Cache)的办法:在cpu到内存原创 2020-11-08 21:48:14 · 1446 阅读 · 0 评论 -
csapp第7章《链接》基本概念
何为链接? 我们写的c语言程序是一个.c,但是这个.c到.exe过程经历了什么呢?首先是预处理从.c -->> .i ,然后是变成汇编语言 .i -->> .s ,接着是将汇编语言变成机器可以识别的二进制文件 .s -->>.o ,接下来的一步就是这章的内容了,也就是将其他的.o文件链接(合并)到我们写的程序的.o文件中,最后生成.exe。 合并各种代码段、数据段的过程就叫做链接,就比如说,你通过#include<stdio.h>引用了printf()函数,原创 2020-10-27 15:54:32 · 286 阅读 · 0 评论 -
csapp第9章《虚拟内存》基本概念
1.虚拟内存是什么,如何实现的? 介绍 计算机的主存(内存条)被组织成一个由M个连续的字节大小的单元组成的数组,每一个byte都有一个唯一的物理地址。 早期的计算机寻址使用物理寻址的方式,也就是cpu需要某一个地址的值,那么久直接从内存中去找这个地址并且取值。 而虚拟内存:虚拟虚拟,也就是实际不存在与内存中的地址,cpu生成一个虚拟地址,这个地址在物理内存中是不存在的!那么要如何寻求实际需要的地址呢?cpu芯片中有一个叫MMU(memory management Unit)内存管理单元的硬件,这原创 2020-10-20 21:07:53 · 389 阅读 · 0 评论