- 博客(71)
- 收藏
- 关注
原创 QA26\28
#QA26I7CPU的VA:48位PA:52位,VPO:12位PPO:12位VPN:36位PPN:40位采用4级页表其页表项数依次为L1 PT:每个条目512GB区域L2 PT:每个条目1GB区域L3 PT:每个条目2MB区域L4 PT:每个条目512GB区域页表空间为5*512字节每一页表项占5字节(40位)。TLB采用Cache类型16组,TLB-D1为4路64条,则其TLBI4 位,TLBT32位。CacheD1为8路32K,则其64组,Block为64字节,tag为40位。PA中CT/CI/CO依
2022-06-28 20:35:15
224
1
原创 tesorflow2与pycharm
如果还没安装anaconda和tensorflow,可以看这个:Anaconda3和tensorflow2的安装打开pycharm,点击File -> New Project选择conda这里改成你自己电脑对应的anaconda安装路径里的这个文件:然后点击create需要等待一段时间等待右下角进度条全都走完,时间可能比较长测试一下import tensorflow as tftf.compat.v1.disable_eager_execution()hello = t
2022-01-04 19:50:52
510
原创 Anaconda3和tensorflow2的安装
首先,说一下这篇文章写于2022年1月份,如果你看到这篇文章的时候离这个时间太远,那不建议往下看了(超过一年就不建议看了)其次,Anaconda的版本是目前对应的python版本是3.9,tensorflow版本是2.7.0,其实安装完Anaconda后,python和tensorflow的版本我们就无需关心了,一切交给conda就行了接下来是完整的安装步骤如果你的电脑以前有python,那么把它卸载掉,因为Anaconda是自带python的,避免冲突下载Anaconda的安装包:清华
2022-01-04 18:55:06
1008
原创 csapp重点
%rdi 第一个参数%rsi 第二个参数%rdx 第三个参数%rax 返回值int x = 100 / y, 当y=0时会发生什么,结合异常和信号的知识分析原因VPN多少位,XXXX多少位,背 汇编转C语言 上面代码有什么漏洞?如何攻击上面的代码? 背微操作 面向CPU的优化 long img[1092][1080]; val[i][j] = img[i][j] * 4 - img[i - 1][j] - img[i + 1][j] - img[i][..
2021-12-26 21:08:04
422
原创 经济学人:进击的“奥密克戎”
翻译硕士外刊晨读|经济学人:进击的“奥密克戎” rotten adj. 腐烂的;corrupt adj. 腐败的;plunder v. 掠夺、抢夺;relief funds 救济金;deadly riots 致命的骚乱;rolling 绵延起伏的、断断续续的、陆陆续续的;power cuts 断电;hobble v. 跛行、妨碍、阻止;deservedly 应得的、理所应...
2021-12-09 10:32:59
203
原创 QA25-
QA 25计算机的地址空间有哪几种?怎么进行变换?计算机的地址空间分为物理空间和虚拟空间物理地址 (physical address): 放在寻址总线上的地址。放在寻址总线上,如果是读,电路根据这个地址每位的值就将相应地址的物理内存中的数据放到数据总线中传输。如果是写,电路根据这个地址每位的值就将相应地址的物理内存中放入数据总线上的内容。物理内存是以字节(8位)为单位编址的。虚拟地址 (virtual address): CPU启动保护模式后,程序运行在虚拟地址空间中。注意,并不是所有的“程序”都是
2021-10-23 22:50:46
165
原创 QA23-
QA23fork函数调用一次返回两次,怎么可能呀?当程序执行到下面的语句: pid=fork(); 的时候会复制父进程的堆栈段,所以两个进程都停留在fork函数中,等待返回。因此fork函数会返回两次,一次是在父进程中返回,另一次是在子进程中返回,这两次的返回值是不一样的。通过fork返回的值来判断当前进程是子进程还是父进程1)在父进程中,fork返回新创建子进程的进程ID;2)在子进程中,fork返回0;3)如果出现错误,fork返回一个负值。进程状态有哪几种?进程终止有几种方法?linu
2021-10-23 22:47:14
208
原创 QA24-
QA24简述hello从命令行到运行的过程1.fork2.execve3.load4.dl_init setjmp等到 _start-(所有C程序的入口点,在ctrl.o中)5.libc_start_main(系统启动函数,在libc.so,初始化执行环境 调用main执行,处理main返回值,控制返回给内核)6.main–>exit(0) 或 return 0 终止—>bash回收信号与异常的区别与联系1.异常定义:异常就是控制流中的突变,用来响应处理器状态的某些变化
2021-10-23 22:46:20
829
原创 QA22-
Q&A 22计算机系统的各层发生哪些异常控制?在硬件层,硬件检测到事件会触发控制突然转移到异常处理程序。在操作系统层,内核通过上下文切换,将控制从一个用户进程转移到另一个用户进程。在应用层,一个进程可以发送信号到另一个进程,而接收者会将控制信号突然转移到他的一个信号处理程序。一个程序可以通过回避通常的栈规则,并执行其他程序中任意位置的非本地跳转来对错误作出反应。异常处理后有哪三种返回机制?1)处理程序将控制返回给事件发生时正在执行的当前指令2)处理程序将控制返回给没有发生异常将会
2021-10-19 08:52:04
234
原创 QA15 - 21
QA15为什么用连接器?链接器可以使得分离编译成为可能:我们可以把一个大的应用程序分解成许多小的,更好管理的模块,单独编译每一个模块。在修改的时候,只用编译被修改的模块,重新链接就行。能节省大量时间。连接器工作内容与步骤?符号解析重定位局部变量 链接时按照 本地符号 进行解析全局变量 按照 全局符号 进行解析链接器对局部变量、参数等符号怎么解析?对符号的解析:规则 1:不允许多个同名的强符号规则 2:若有一个强符号和多个弱符号同名,则选择强符号规则 3:如果有..
2021-10-18 20:57:48
280
原创 QA14-
Q&A 14Y86-64的SEQ顺序结构实现的缺点是什么?实际使用起来太慢信号必须能在一个周期内传播所有的阶段,其中要经过指令内存、寄存器文件、ALU以及数据内存等时钟必须非常慢硬件单元只在时钟周期的一部分时间内被使用......
2021-10-18 20:56:51
73
原创 QA13-
Q&A 13Y86的SEQ分哪几个阶段?各阶段的主要过程是什么?取指:从指令存储器读取指令译码:读程序寄存器执行:计算数值或地址访存:读或写数据写回:写程序寄存器更新PC:更新程序计数器对Y86的SEQ阶段分析,12条指令的微操作实现的共同点有哪些?所有的指令有相同的格式,都按照6个阶段顺序执行每一阶段的微操作,按照顺序有3-8种每一条指令在各阶段执行时,根据指令类型按顺序执行不同的微操作Y86的硬件结构包括哪些?硬件单元(组合、时序逻辑)、控制逻辑、信号连接线组合
2021-10-18 20:56:09
120
原创 QA12-
Q&A12Y86-64CPU的状态存储部件主要有哪些?RF:程序寄存器 15个64位 %rax,%rcx,%rdx.%rbx,%rsp,%rbp,%rsi,%rdi,%r8到%r14CC:条件码 3个1位 ZF SF OFStat:程序状态PC:程序计数器DMEM:内存Y86-64的寻址方式有哪几种?指令寻址方式:顺序寻址方式 PC跳跃寻址方式 jXX指令操作数寻址方式:寄存器寻址立即寻址间接寻址基址寻址Y86-64指令系统的算逻操作的操作数与X86-64有什么
2021-10-18 20:55:05
373
原创 QA11-
Q&A11静态局部变量是怎么生成汇编语言的?空间:全局区赋初值:定义该变量的函数第一次被调用时生命周期:整个源程序的周期分析全局变量、局部变量、传值的参数的生命周期静态全局变量:整个源程序的周期动态全局变量:整个源程序的周期静态局部变量:整个源程序的周期动态局部变量:定义它的函数的周期传值的参数:定义它的函数的周期简述缓冲器溢出的原理缓冲区溢出,简单的说就是计算机对接收的输入数据没有进行有效的检测,向缓冲区内填充数据时超过了缓冲区本身的容量,而导致数据溢出到被分配空间之
2021-10-18 20:54:35
122
原创 QA10-
Q&A 10switch多分支,case条件码规律时是怎么实现的?(注意我们讲的与书上不同,看下不同在哪儿?)主要采用的数据结构是什么?跳转表跳转表的元素类型?(不同)一个代码段的地址跳转表的元素个数怎么计算?跳转元素的最大可能值-最小可能值跳转表的初值是什么?什么时候由谁来赋初值的?没看懂元素下标怎么计算?跳转元素-跳转元素最小可能值怎么计算跳转地址?当下标在跳转表中时,跳转地址=基地址+下标*8跳转指令是什么寻址方式?变址寻址叶子节点与非叶子节点的函数汇编语言
2021-10-18 20:53:49
108
原创 QA9--
Q&A 9int a[100]; 在作为全局变量、局部变量、参数时是怎么实现对a[i]元素的访问的?全局变量:利用%rip+偏移量访问局部变量:利用%rbp+偏移量访问参数:先通过%rbp+偏移量得到栈中作为参数传递的a的首地址,然后利用此地址+偏移量访问int p;(p++)与(*p)++实现有什么不同?对于*(p++),是取得p+sizeof(int)地址处的值mov -0x8(%rbp),%raxadd $0x4,%raxmov %rax,-0x8(%r
2021-10-18 20:49:31
172
原创 QA1-8
QA11.简述C、ASM、ML的关系,各自优缺点?机器语言是二进制数据表示的语言,机器可以直接识别;汇编语言是与机器指令一一对应的助记符,是一种低级语言,经过汇编和链接之后机器可以运行;C语言在低级语言的基础上,采用最接近人类自然语言的单词和符号来表示一组低级语言程序。C语言的优点:提供了结构化程序设计的环境和工具,设计出来的程序可读性好,可维护性强,可靠性高;抽象程度高,远离机器语言,和计算机硬件关系不大,编程门槛低,无需懂计算机原理和计算机结构;编写出来的程序可移植性好,重用率高缺点:相对汇编语
2021-10-18 20:45:47
353
原创 矩阵---
秩为1这两个的值是上方两个矩阵的迹注意他们的转置关系对称矩阵平方和把A拆成行的比×列的比的形式2×3=63×4=121×4×6=2413个0
2021-10-09 16:57:08
100
原创 数据结构课件习题
文章目录第一章 绪论第一章 绪论① O(1)O(1)O(1)② O(n)O(n)O(n)③ O(n2)O(n^2)O(n2)④ O(n2)O(n^2)O(n2)⑤ O(logn)O(logn)O(logn)遍历遍历//最大值int find_max(int a[], int len){ int max_v = a[0]; for(int i = 0; i < len; ++ i) { if( max_v < a[i]) max_v = a[i
2021-10-06 23:40:22
74
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人