技术标签: 计算机基础
完成一条指令分为了三个阶段:取指令-分析指令-执行指令。
下面我们分析上图的取数指令。(取数指令 ≠ 取指令 , 取数指令需要实施取指令、分析指令)
我们采用总线方式实现外部设备与系统主机的连接,外部设备有地址,主机通过地址确认这次数据传输与哪个设备参与此次输入输出。
下面主要介绍第三种。
原本我们介绍的主存的结构都是主存当中一个存储字长等于机器字长,也就是说cpu在执行一条指令的时候,如果想取指令的话,指令长度假设和存储字长相等,一次在存储器当中只能取一条指令(一次在存储器当中,如果取数也只能取机器字长相等的数据)。
这是我们就需要调整主存结构使得CPU和存储器存储速度能够匹配。
多体并行方式有两种,其中高位交叉编址的多体存储器中,程序按体内地址顺序存放,而低位交叉编址的多体存储器中,程序连续存放在相邻体中 。
以实际数据为例,比如说某个存储体的有2个存储芯片,每个芯片的存储周期为100ns,如果你去读数据,如果你的数据按照这种放置方法,先放第一个芯片,放满后再放第2个芯片(顺序方式)。那么你读数据的过程就是这样:
读0位置数据,等100ns,读1位置数据,等100ns读2位置数据。很容易理解。
但如果你换个方式来放,比如说我0位置是1号芯片起始,1位置是2号芯片起始位置,2位置是1号芯片第2个单元,3位置是2号芯片的第2个单元这样交叉来编址。再回忆存储周期的概念:其实从芯片中把数据读到缓冲区,再从缓冲区读到CPU,这个读的过程非常短,仅仅是个脉冲就可以解决的问题,但由于芯片的物理属性,你读一个芯片后,必须间隔一段时间才能去读。采用交叉编址后,你的读过程就像这样:
读0位置数据到缓冲区,40ns后,CPU取走了数据。这时1号芯片的100ns的周期还没过,不能去读,但幸运的是我们读的不是1号芯片,而是2号芯片,这样,我们就把2号芯片的数据读到缓冲区。过了40ns后,CPU取走数据,此时过去了80ns,我们只需再等20ns就可以继续去读3号位置数据,这样速度就比以前快了很多
练习:
一个4体并行低位交叉存储器,每个模块的容量是64K×32位,存取周期为200ns,在以下说法中,( )是正确的。
A. 在200ns内,存储器能向CPU提供256位二进制信息
B. 在200ns内,存储器能向CPU提供128位二进制信息
C. 在50ns内,每个模块能向CPU提供32位二进制信息
D. 都不对
解:对CPU来说,它可以在一个存取周期内连续访问4个模块,32位×4=128位。本题答案为B。
cache的改进
cache主存的三种映射
1. 将I/O设备中内容送入主存:
2. I/O设备与主机信息传送的控制方式:
为什么要设置接口?
ISR1没有触发中断,INTR1为低电平。
ISR2触发中断,INTR2拉高电平,它的非就是低电平,即引脚左端输入为低电平,导致与非门输出为高电平,传递到INTP3’ 就变成了低电平(中间还有一个非门),并一直向下传递INTP4’ … (紫色为低电平,黄色为高电平)
然后我们需要将中断筛选出来,将INTP’ 与INTR做一次与非门然后取非。
硬件排队器对中断请求源进行排队后,他的输出 I N T P i INTP_i INTPi在从1到N的这些 I N T P INTP INTP中只有一个值为1,该值表明了在所有有中断请求的中断源中,优先级最高的中断源。
确认了我们要选择哪个中断源的中断请求之后,下一步最重要的任务就是如何找到中断服务程序的入口地址。
DMA与主存交换数据的三种方式:
为了解决“正负相加等于0”的问题,在“原码”的基础上,人们发明了“反码”
“反码”表示方式是用来处理负数的,符号位置不变,其余位置相反
当“原码”变成“反码”时,完美的解决了“正负相加等于0”的问题过去的(+1)和(-1)相加,变成了0001+1101=1111,刚好反码表示方式中,1111象征-0人们总是进益求精,历史遗留下来的问题—— 有两个零存在,+0 和 -0我们希望只有一个0,所以发明了"补码",同样是针对"负数"做处理的 "补码"的意思是,从原来"反码"的基础上,补充一个新的代码,(+1)
我们的目标是,没有蛀牙(-0)
结论:保存正负数,不断改进方案后,选择了最好的"补码"方案
前提:一定要考虑计算机规定的字长进行转换。
指令字(简称指令)即表示一条指令的机器字。
指令格式则是指令字用二进制代码表示的结构形式,由操作码字段和地址码字段组成。操作码字段表征指令的操作特性与功能;地址码字段通常指定参与操作的操作数的地址。
文章浏览阅读749次。使用rsa非对称加密 实现前后端加密通信 JSEncrypt和node-rsa_node rsa
文章浏览阅读2.1k次。 期现脱节下的悲剧——再看海南中商所F703咖啡事件 1995年12月21日,海南中商所宣布自F605合约始咖啡期货合约放大交割限量(交割总量由象征性的1吨扩大为1万吨),交割限量以外的头寸全部按进入交割月至最后交易日全部成交的加权平均价实行强制平仓。自F605始,中商所的咖啡品种演出了既不同于纽约咖啡行情又有别于历次中国期货交易风波的多幕闹剧。 回首咖啡F703事件 _海南咖啡事件认识和感悟
文章浏览阅读3.3k次,点赞2次,收藏7次。linux的内核参数,可以通过sysctl 命令进行配置和优化。实际参数很多,就不一一赘述了,大家可以在实际业务中适时的实践。_sysctl -p
文章浏览阅读1.4w次,点赞15次,收藏188次。一、二值化关于二值化的介绍,以前的博客中有介绍,这里就不再描述了,二值化介绍;二值化分为固定阈值二值化和自适应阈值二值化,固定阈值二值化方式是我们常用的二值化方式,需要自己摸索一个经验阈值,不断调整,直到找到最佳阈值,这种方式在刚刚的链接中已经介绍;而这篇文档主要介绍的就是另一种二值化方式:自适应阈值二值化。二、自适应阈值二值化图像进行二值化,且做到自适应阈值参数,有4种自适应阈值二值化方法;先从自适应阈值的作用范围来区分,自适应阈值分为:全局阈值使用自适应全局阈值的全局二值化方法有:大津_自适应阈值二值化
文章浏览阅读2.5k次。第一步:对系统当前各个磁盘的状态要有一定的了解。这个就要用到fdisk -l 这个命令了。fdisk -l由上图可以看出/dev/sdb/并没有被分区、下面的例子我们就要为/dev/sdb进行分区而且还要把它挂载到linux目录树上去。第二步:fdisk /dev/sdb -- 这个的意思就是对/dev/sdb这个盘进行操作,如上图所示,说明已经进入了fdisk这个程序了;它的一些重要的操作项有..._sdb和sdb1
文章浏览阅读524次。错误: 找不到或无法加载主类 com.itan.EurekaServer01Application点击install后org.apache.maven.plugins:maven-install-plugin:2.5.2:install (default-cli) on project eureka-server01: The packaging for this project did not assign a file to the build artifact不行后来点击lifecyle_找不到或无法加载主类 com.eurekaserverapplication
文章浏览阅读541次,点赞6次,收藏9次。戴尔R720戴尔R730。
文章浏览阅读2.8k次,点赞3次,收藏19次。实验链接Xplico是一款开源的网络取证分析工具,其分析与呈现的能力非常强大。Xplico可以捕获Internet网络应用层流量,通过流量解析,解析出网络包中的各种应用数据,还原网络数据发送现场。通过本实验学习掌握Xplico使用方法,学会利用Xplico对网络流量进行分析取证。链接:http://www.hetianlab.com/expc.do?ce=10748f62-5706-403d-..._xplico
文章浏览阅读119次。Dockerfile 实战,搭建在 centos 上的 httpd。_doceker 镜像中增加驱动
文章浏览阅读2.7w次,点赞18次,收藏182次。临近期末,大一新生的各种考试和专业结课作业纷至沓来。web实训大作业、网页期末作业、web课程与设计、网页设计等,简直让人头大。你还在为网页设计老师的作业要求感到头大?网页作业无从下手?网页要求的总数量太多?没有合适的模板?等等一系列问题。你想要解决的问题,在这篇博文中基本都能满足你的需求, 废话不多说,直接看效果。网站布局方面:计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的浮动网页布局结构。网站程序方面:计划采用最新的网页编程语言HTML5+CSS3+JS程序语言完成网站的功能设计。并确_免费网页代码大全
文章浏览阅读9.6k次。解决matlab 2016 图片标题显示乱码的问题。_matlab2018a图片显示中文
文章浏览阅读158次。参考链接:(https://blog.csdn.net/OnlyloveCuracao/art0icle/details/80768334)原博主的代码可能因为单词发音的音频爬取有问题,导致无法将单词存入数据库,不过也非常感谢原博主,我根据源码做了一定删减和更改,下次可能会根据用户的需求,输入需求,爬取相应的单词。主要步骤:1.连接数据库2.创建word单词表3.获取网页主界面HTML代码4.获取..._python爬取英语考试重点