指令怎么样转为电信号
我总觉得@水无痕的回答把关键的地方漏掉了……你按下键盘的时候键盘是有个缓存的,它定时与CPU的中断控制器通信,把缓存中的按键信息写入到x86 CPU的I/O端口并清空缓存。接下来驱动程序从I/O端口读到键盘发来的数据包,然后存到内存中,接下来操作系统会把按键信息通知应用程序响应。所以题主的直接存到内存的想法完全不对。然后吐槽,这个问题的标题和补充说明差太远了,迟一点可能根据题主的意见把补充说明和标题其中之一完全改掉。好吧我现在理解了,@水无痕完全是在答标题而没有在答补充说明……我就专答补充说明吧。
■网友
抛个砖。键盘的原理跟单片机开发板的switch应该是一个道理吧。
你把键盘按键扣开,下面是一个小开关,类似于上图的S1,当你按下去后PA0就由高电平变成低电平。当监测到这个电平的变化之后,电脑就知道,哦,S1被按下去了。然后你的键盘硬件驱动再把它报告给OS,然后CPU会进入一个中断来处理这个S1,比如说存到内存里,或者说根本就没有意义。内存用电信号表示,1/0分别用电容的有电没电来表示,拓展阅读:随机存取存储器(RAM)的工作原理 博闻网。当你把许多这样的按键排起来的时候,键盘就做好了。(这是一个矩阵键盘的图)
内存里面的a是a的ascii码转换成二进制来表示的。内存和处理器之间还有一个cache(缓存),缓存和内存的交互这个……要说明白了要好久呢,简而言之就是缓存的容量要比内存小很多,他会把内存的地址归类,比如说内存地址101,10011,规定后五位是index: 10011,前三位是tag:101,相同index的内存地址共用一个缓存的存储单元,这个例子里面就是1000个内存地址共用1个缓存单元。这么设计是因为不是所有的内存地址都会被CPU频繁读写,被频繁读写的会放到缓存里。所以缓存会被经常擦掉重写。缓存会被防止在CPU封装里面,但是同CPU完全独立的器件。CPU除了逻辑运算单元之外还有很多单元,其中一个是存储单元,叫做寄存器。命令和值是在寄存器里面被ALU直接调用的。 (终于说到自己学的比较扎实的一部分了。。)先传两张图:这是一个32字节的寄存器。
对于R-type的指令集,比如说 add $a0, $a1, $a2 :把a1和a2寄存器中的值加起来,存放到a0寄存器中。指令集中的add是由寄存器的op和funct部分决定的,对R-type的指令集来讲,做什么运算都是由op和funct决定的。rs rt rd 分别就是$a1, $a2, $a0
【指令怎么样转为电信号】
这是一个I-type的指令集,目的是从内存中读取或者向内存中存入value。lw $t1, 32($t2) :向$t1寄存器中存储内存中的信息,内存地址在$t2中并且此地址要平移32bit。如果用sw的话就是把寄存器中的value存入内存中。到此就是“内存怎样把\u0026#39;a\u0026#39;给cpu”了。当然题主可能会有疑问,处理器是如何判断寄存器中的指令集是哪种type的?这个就是CPU中的控制单元在做的事情了。如果题主有兴趣的话可以自行google一下 Single-Cycle Architecture 和 ?Pipelined Multi-Cycle Architecture了。这块也没学特别好,欢迎拍砖交流。推荐阅读:程序员的自我修养 计算机体系结构
■网友
1、这个a如何存在内存里?你在输入的时候就是输入的电信号,你以为你只是输入了一个a,其实你输入的是一个机械信号“按下”,然后触发了电信号“1”,即接通线路产生电流。然后这个电流按照硬件固定的线路通过中间的很多层到达存储器,这里有无数的晶体管(大部分是三极管),经过设定好的一系列的与或非门(实质是电流的变换)处理变成了ASCII码所对应高低电平存储下来。(关于内存,一般是DRAM,本质上是电容阵列,由一个晶体管作为开关,一个电容用于存储电子,用高电平代表1,低电平代表0,也就是电容充电和放电的情况。读取只要判断当前电容的状态就可以了,具体的电路设计就比较复杂,但大致原理如此。还有一种内存用在CPU内部,叫SRAM,它不使用电容,而仅仅使用晶体管,利用开关的通断来存储信息。)
推荐阅读
- dart这编程语言现在发展怎么样了,语法与Java,c#很相似,甚至更简洁
- 青年|一汽奔腾T77怎么样?车主吐槽:后排座椅太短,和坐小板凳似的
- 电商网站支付流程的流失率是怎么样的从用户点击充值/支付按钮,到支付完成,其中每一步的流失比率都是咋样的
- 作为一个服装供应商,怎么样与淘宝卖家沟通才能卖出自己的产品或者拿到订单
- 在丁丁租房工作的感受是怎么样的
- 城市数据团是怎么样一个团队
- win7中本地连接跟无线网卡同时使用时是怎么样的模式
- 猫扑网南迁广西,媒体唱衰BBS,论坛的未来会怎么样怎样改变
- 被人围攻是怎么样一种体验,包括但不限于(蛋糕,口舌,拳脚,西瓜刀,机枪,code review)
- o2o模式的电商怎么样进行线上线下的引流
