浏览器输入网址并回车发生了什么你真的清楚吗? 硬件篇

相信很多人对这个问题可能嗤之以鼻,浏览器输入网址后回车不就是发生了dns解析,找到ip,然后建立tcp连接,什么三次握手,四次挥手,然后服务端接受请求回传给浏览器,浏览器渲染出页面吗,这有什么好说的。


可是真的是这样吗,真的有这么简单吗?

相信我问一个问题90%的搞软件的同学都答不上来,按下键盘到该字符显示到屏幕上都发生了什么?是不是开始怀疑自己了,要想弄清楚这个问题涉及到中断,cpu动态流水线等,本文就来厘清这些概念。本文中参考了胡伟武老师的 计算机体系结构课件相关内容,以国产CPU龙芯为例进行讲解,本质跟Intel CPU机制类似。

    因本人研究生搞的是硬件,CPU研发(胡老师就是我老师哦),一以贯之贯吾道!

键盘输入的硬件过程

• 以龙芯处理器为例

* 键盘产生一个信号送到桥片(南桥、北桥)

* 桥片通过HT总线向处理器发出外部中断信号

* 外部中断信号传到控制寄存器模块与Cause的屏蔽位相与

* 如果没有被屏蔽,再传到寄存器重命名模块并附在四条指令的第一条

中送到ROB模块;由于该指令发生了例外,不会送到功能部件执行

* 当该指令成为ROB的第一条指令被提交时向所有模块发出取消信号,

取消该指令后面的所有指令,在EPC等寄存器中保存例外现场,同时

在控制寄存器Status中把系统状态置为核心态。

* 向取指模块发出中断信号,取指模块根据中断类型到0x80000180取指

以龙芯处理器+Linux操作系统为例 

• 0x80000180为操作系统例外处理代码

• 操作系统保留现场(把通用寄存器保存到堆栈区)

• 操作系统通过读Cause寄存器分析例外原因是外部中断

• 操作系统向桥片中的中断控制器读中断原因,读的同时清中断

• 操作系统根据中断原因调用驱动程序,读取键盘数据

• 操作系统唤醒正在由于等待数据而阻塞的进程

• Chrome根据读到的键盘数据决定显示出来,调用显示驱动程序 

• 驱动程序把要显示的内容送到显存,并通知GPU

• GPU通过访问显存空间刷新屏幕

    等等,是不是看到里面很多个概念,其余的大家自行百度搜索,此处终点讲解下ROB模块是什么。

    首先需要讲下Tomasulo算法:

    Tomasulo算法是用来实现动态流水线的一个算法结构,大量用在现代CPU的设计中,Intel、龙芯等CPU都是用的该技术。

不知上图你看懂了没有,保留站就是类似软件系统中的缓冲队列,寄存器就是通常意义上的寄存器,就是在各个部件前面加了一些保留站,为什么要加这个呢,以为指令执行的时候有些源操作数还没有准备好,需要等它们准备好后再送到加/减法器等去执行。


例外的意思就是中断和异常等了,很多事情可以触发例外,比如本文的敲击键盘就会触发,例外给CPU动态流水线的实现增加了难度,因为是乱序执行,需要有个机制保证例外前的指令都执行了,例外后的执行都未执行,此时重排序缓存该出场了,就是用来做顺序提交的。

下图是增加了ROB的流水线,注意图中右下角。

    ROB的重要思想就是先将对寄存器的修改写到ROB中,指令的读取也去ROB中读,这样可以避免在指令的中间执行过程中,去修改寄存器的问题。

这时候下次面试官问你发生了什么的时候,这个时候你可以扶一下自己的眼镜,背部靠到椅子上,开始装逼了~

声明: 本文中图片的内容引用了  胡伟武老师的计算机体系结构课件。

想要获取完整版,关注并回复公众号:  "胡伟武" 即可获取课件完整版下载链接。


    文中主要引述了。其中01_计算机系统结构基础.pdf和LEC05_动态调度.pdf ,想要有更深入了解的可以去仔细研读下。


                                            关注微信公众号支持哦~


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,639评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,277评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,221评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,474评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,570评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,816评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,957评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,718评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,176评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,511评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,646评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,322评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,934评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,755评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,987评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,358评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,514评论 2 348

推荐阅读更多精彩内容