计算机的基本硬件系统由运算器.控制器.存储器和输入.输出设备五大部件组成.运算器和控制器等部件被集成在一起统称为中央处理单元(Central Processing Unit,CPU). CPU的功能 (1)程序控制   CPU通过执行指令来控制程序的执行顺序,这是CPU的重要职能. (2)操作控制   一条指令功能的实现需要若干个操作信号来完成,CPU产生每条指令的操作信号并将操作信号送往不同的部件,控制相应的部件按指令的功能要求进行操作. (3)时间控制   CPU对各种操作进行时间上的控制,…
CPU(Central Processing Unit)是计算机中进行算术和逻辑计算处理指令的主要部件. CPU结构 CPU由通用寄存器组,运算器,控制器和数据通路等部件组成. 寄存器包括 数据寄存器: AX,BX,CX,DX; 指针与变址寄存器:SP, BP, SI,DI 栈寄存器: CS,DS,SS,ES 详情参见寄存器与寻址方式的介绍 运算器主要是指算术逻辑单元(arithmetic and logic unit, ALU). 上图所示的CPU采用单总线结构, ALU通过两个暂存器T,S与…
IF(Instruction fetch) 取指:从 Instruction-Memory 中读取指令,并在下一个时钟上升沿到来时把指令送到 ID 级的指令缓冲器 id_ir 中.该级控制信号决定下一个指令指针的 pc 信号(即 Instruction-Memory 的指令地址 i_addr)ID(Instruction decode)指令译码: 对 IF 级的指令进行译码,根据指令操作码获取操作数read reg_1.read reg_2 或者要 直接储存的数据内容 smdr,并在下一个时钟上…
Linq指令执行分析 一.Linq中IEnumerable的结构 Linq在执行聚合操作和ToXxx系统方法之前,一直都是一个数据源和一串指令(下面的讨论都是基于未执行聚合操作和ToXxx系统方法之前). 大部分linq返回的迭代器都是一个如下的数据结构: IEnumerable: source:IEnumerable 指令:针对不同的操作,指令不同,对where来说,就是一个predicate谓词条件, 这个source字段 可以是一个简单的集合,比如List或Array等, 可以不包含指令的…
1. 通过glibc api执行系统指令 0x1:system() glibc api system是linux系统提供的函数调用之一,glibc也提供了对应的封装api. system函数的原型为: #include <stdlib.h> int system (const char *string); 它的作用是,运行以字符串参数的形式传递给它的命令并等待该命令的完成.命令的执行情况就如同在shell中执行命令:sh -c string. 如果无法启动shell来运行这个命令,system…
CPU的介绍 CPU 也称为微处理器,是计算机的心脏和/或大脑. 深入研究计算机的核心,可以帮助我们有效地编写计算机程序. CPU 是计算机的心脏和大脑,它执行提供给他们的指令.它的主要工作是执行算术和逻辑运算并将指令编排在一起. 我们先来看一下CPU的主要组件是什么以及它们的作用: 处理器两个主要组件 控制单元 CU 算术和逻辑单元 ALU 1.控制单元 CU 控制单元CU是CPU的一部分,它可以帮助CPU协调指令的执行,它告诉CPU该怎么办. 并根据说明,它有助于激活将CPU连接到计算机的其…
第一阶段:加载阶段 angularJs要运行的话,需要去等待angular.js加载完成,加载完之后呢,angular就会去查找到ng-app这个指令,ng-app在每个应用里面只能出现一次, 它也就相当于我们的main方法,angularjs找到了ng-app之后,就确定了我们应用的边界在哪里. 所谓的边界,就是angularjs知道自己要管理哪一块的内容. 这样的话,angularjs才可以去启动起来,加载完成之后,就进入了第二阶段 第二阶段:编译阶段 这个阶段,angular.js会做很多…
从虚拟机指令执行的角度分析JAVA中多态的实现原理 前几天突然被一个"家伙"问了几个问题,其中一个是:JAVA中的多态的实现原理是什么? 我一想,这肯定不是从语法的角度来阐释多态吧,隐隐约约地记得是与Class文件格式中的方法表有关,但是不知道虚拟机在执行的时候,是如何选择正确的方法来执行的了.so,趁着周末,把压箱底的<深入理解Java虚拟机>拿出来,重新看了下第6.7.8章中的内容,梳理一下:从我们用开发工具(Intellij 或者Eclipse)写的 .java 源程…
代码文件存放在E:/Temp/JAVA_TEMP/tmp文件夹,代码如下: package tmp; public class Temp { public static void main(String[] args) { int a = 10; System.out.println("a=" + a); } }    1. 使用javac编译生成.class文件 注:此处可以用-d命令让.class文件存放在我们指定的位置,例如我希望.class文件存在E盘,可以这样写: javac…
实模式 实模式又称实地址模式,实,即真实,这个真实分为两个方面,一个方面是运行真实的指令,对指令的动作不作区分,直接执行指令的真实功能,另一方面是发往内存的地址是真实的,对任何地址不加限制地发往内存. 实模式寄存器 指令的操作数,可以是寄存器.内存地址.常数,其实通常情况下是寄存器 实模式下访问内存 虽然有了寄存器,但是数据和指令都是存放在内存中的.通常情况下,需要把数据装载进寄存器中才能操作,还要有获取指令的动作,这些都要访问内存才行,而我们知道访问内存靠的是地址值.计算过程如下图. 所有的内…