二面跪 CPU流水线分为几层 fork介绍 TCP与IP的关系 快排代码 二叉树搜索代码 智力题:放硬币 算法设计:二维点阵包含在指定矩行中的点 算法设计:一个升序数组给定区间【a,b】输出数组中区间中的数,数可以重复(...
分类:
其他好文 时间:
2014-09-26 21:06:38
阅读次数:
148
1. GPU在处理能力和存储带宽上比CPU更优势,这是由于GPU芯片更多的面积(也就是更多的晶体管)用于计算和存储,而不是控制(复杂控制单元和缓存)。
2. 指令级并行-->线程级并行-->处理器级并行-->节点级并行
3. 指令级并行办法:超标量,乱序执行,超流水,超长指令字,SIMD,分支预测。超长指令字可以减少访存。
4. 超长流水线会带来效率问题,需要更精准的预测功能和更大规模的缓存.......
分类:
其他好文 时间:
2014-09-23 21:17:47
阅读次数:
472
流水线功能的目的:通过减少客户端与服务器之间的通信次数来提高程序的执行效率。一、通信在一般情况下, 用户每执行一个 Redis 命令,客户端与服务器都需要进行一次通信:客户端会将命令请求发送给服务器,而服务器则会将执行命令所得的结果返回给客户端。当程序执行一些复杂的操作时, 客户端可能需要执行多个命...
分类:
其他好文 时间:
2014-09-22 22:08:43
阅读次数:
237
为了尽量减少转移指令带来的损失,OpenMIPS在译码阶段进行转移条件的判断,如果满足转移条件,那么修改PC为转移目标地址。
在译码阶段多了转移判断的步骤,此外,PC的取值变为三种情况。
情况一:PC等于PC+4。这属于一般情况,每个时钟周期PC加4,指向下一条指令。
情况二:PC保持不变。当流水线暂停的时候,就会发生这种情况,参考第7章中流水线暂停的实现。
情况三:PC等于转移判断的结果。如果是转移指令,且满足转移条件,那么会将转移目标地址赋给PC。...
分类:
其他好文 时间:
2014-09-18 14:52:28
阅读次数:
219
在WebKit渲染网页之前,它需要将页面和所有引用的资源加载完毕。其中会涉及到不同层面的工作。在本文中,我将重点关注WebCore(WebKit中主要渲染组件)是如何在加载过程中发挥作用的。WebKit包含两条加载流水线,其中一条负责将凯时娱乐城文档加载到frames当中,另一条负责加载其他资源(比...
分类:
Web程序 时间:
2014-09-17 10:04:13
阅读次数:
170
Netty3 源码分析 - ChannelUpstreamHandler
ChannelUpstreamHandler处理上行的通道事件,并且在流水线中传送事件。这个接口最常用的场景是拦截IO工作现场产生的事件,传输消息或者执行相关的业务逻辑。在大部分情况下,我们是使用SimpleChannelUpstreamHandler 来实现一个具体的upstream ha...
分类:
Web程序 时间:
2014-09-13 22:54:15
阅读次数:
940
前面关注的地方都是Netty采用的流水线处理方式的组织方式,ChannelHandler如何管理,通道状态,通道事件等这些上层的架构设计,那么Netty中如何实现诸如套接字绑定,连接,关闭等这些底层的操作呢?不能只顾着套用API写程序,却对细节不求甚解。这里大致追踪下OIO模式下Channel中套接字绑定的实现,(NIO以后分析)其实逻辑都是一样的,只是在线程模型的地方时不同的。
大致过程如下(...
分类:
Web程序 时间:
2014-09-12 17:10:13
阅读次数:
175
ChannelPipeline的作用就是组织一系列的ChannelHandlers 为某一个Channel服务,处理各种事件。实现了拦截过滤器模式的高级形式(an advanced form of the Intercepting
Filter pattern),进而有效控制如何处理一个事件以及ChannelHandlers之间如何交互。类型结构图为:
流水线的创建:对于...
分类:
Web程序 时间:
2014-09-12 12:00:13
阅读次数:
310
新建立的团队,特别是没磨合过的,遇到的问题太多了:讨论氛围,一跨部门就吵架,一创新就被质疑,一改东西就发火,一开会就是一天...压力节奏,有人闲得打了一个月的游戏,有人忙得连续加班半年推倒重来,决策人员常常把项目设计案彻底推翻然后重新再来,导致流水线后的人员常..
分类:
其他好文 时间:
2014-09-12 02:27:33
阅读次数:
199
Netty3 源码分析 - ChannelEvent
ChannelEvent是和这个Channel相关的IO事件和请求,会由各个ChannelHandler来处理。
事件分为上行和下行两种。当服务器从客户端收到一个消息,那么与之相关的就是一个上行事件(upstream event),流水线中的UpstreamChannelHandler会处理它;如果服务要回应这个...
分类:
Web程序 时间:
2014-09-10 15:49:20
阅读次数:
332