程序员角度看计算机结构 Chapter0 (2)

second thema:
处理器是如何读取和运行相应的程序的,
在运行c源程序的时候,首先我们要在计算机中用到另外一个程序,shell,这个是操作系统自带的程序(Unix),
在shell的提示行,下我们敲入命令,计算机执行相关的操作,等此源程序执行完后,shell会回到它的初始状态,输出一个提示,(prompt),等待下一次程序的执行。
(当shell 发现在提示行输入的不是内部命令,则自动认为是一个源程序的名称,然后找到相应源程序进行处理)

计算机是怎样通过自己的结构来执行上文所谓的相关的操作,执行这个源程序的?

下面先介绍计算机基本的结构,
计算机的硬件组成结构
CPU Central Prossesor Unit
USB     Universal  Serial Bus
ALU Arithmetic /Logic Unit
PC   Program Counter

Buses,总线,
贯穿整个系统用来在各个部件中传输数据的通道集(electrical conduits collection),这些数据通常是几个字节的集合,这些集合被称为words,字,
字长在不同的系统中各有不同,平常所有的Inter pentium 平台的字长是4个字节,

I/O devices.
基本组成,键盘,鼠标,硬盘,以及显示器,
每个输入输出设备都是跟输入输出总线相连接的I/O bus,但是连接的方式有两种,一种是通过controller(控制器),一种是通过adaptor(适配器)。
两种连接方式的具体不同点在于他们的包装形式,controller 是在设备本身或者主板线路上的芯片,main printed circuit board, motherboard.
adaptor 是插在主板上的插槽上的卡,(个人认为键盘属于前者,controller装在设备本身,显示器属于后者,显卡插在主板上);
除此,两者的目的都是在I/O设备和总线之间 传输数据。P.S 在系统中,I/O设备和外部网络都被当做文件处理。

Main memory(主存,通常意义所说的内存)
主存是一个短暂的存储装置,存储处理器执行时所需要的数据和程序,
DRAM  Dynamic Random Access Memory,动态随机存取记忆,
从物理 角度说,主存是一个DRAM芯片的集合,逻辑上,内存是一些线性字节数组,这些字节每个都有自己独一无二的地址,而且每个地址都从
零开始。
P.S通常来说,每个组成程序的机器指令都由个数不同的字节组成。这些字节包括数据,变量名,和一些保留字。 但是数据的大小根据其类型改变。

Processor 处理器,
CPU,simply processor,   中央处理器的核心部分是一个几个字节大小的存储设备,叫做 PC,程序计数器,Program counter,任何时候,它都指向主存里的机器指令。
contiguous 靠近, 处理器从通电到断电期间一直读取PC指向的指令,翻译,并且执行相关操作,PC一直指向下一步操作。

这些操作中有两个,他们需要循环指向主存内的命令。 它们是register file 和arithmetic /logic unit(ALU)。
前者是一个小存储设备,由几个字节大小的寄存器组成,每个都有自己的名字,
后者计算出新的数据和地址的值,
几个CPU可能执行的操作,
Load,装载,从主存内复制数据到寄存器,覆盖寄存器中先前的数据。
Store,存储,从寄存器复制一个字节或字给主存中的一个位置,覆盖先前这个位置的数据。
Update, 更新,将两寄存器中的内容赋值给ALU,ALU将两个数据相加并将结构存在寄存器,重写先前寄存器中的内容。
I/O Read,从I/O设备中 读取数据给寄存器。
I/O Wirte,从寄存器中赋值一个字节给I/O设备。
Jump,(跳),从机器指令中抽象出字,将这个字赋值给PC,覆盖PC中原来的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值