计算机体系结构


在这里插入图片描述

前言

计算机体系结构指软、硬件的系统结构 ,有两方面的含义:它包括机器内的数据表示、寻址方式以及对这些数据的运算和控制这些运算的执行等(即指令系统)看成是一台计算机的逻辑组成中最基本的软件。计算机运算器、存储器、控制器、输入设备和输出设备等主要功能部件的相互连接和相互作用,借以实现机器指令级的各种功能和特性。从最基本的功能和作用原理来说,计算机是在控制器的全面控制下,接收经数字化编码的输入信息(程序和数据),把它存放在存储器中,根据程序的要求对数据进行快速运算,产生结果数据输出。因此,可以把运算器、存储器、控制器、输入设备和输出设备看成是一台计算机的逻辑组成中最基本的硬件。

一. 物理(电子的运动)

如果问大家CPU的原料是什么,大家可能都会轻而易举的给出答案—是硅,准确的来说是单晶硅,硅(Silicon,Si)是第Ⅳ族元素,因此其化合价外层有4个电子,并与4个相邻元素紧密连接,形成晶格(lattice)。在上古时代,世界上第一个和第一个商用的双极结型晶体管都是用锗做的。摩托罗拉是当时第一家使用晶体管来制造收音机的厂商。但是好景不长,摩托罗拉收到了大量用户投诉,说他们发现摩托罗拉的车载收音机在午后的阳光下曝晒一个下午后,就不再工作了。因为锗在受热之后会变成本征态,这使得nMOS晶体管和pMOS晶体管都失去了他们特有的性质,结果双极结型晶体管不能再工作了。而硅可以经受更高温度的考验,具有更好的热稳定性,并且有着和钻石一样棒的晶体结构,这赋予了硅极好的稳定性和强度。电子的运动不只是在CPU里面进行,一开机TA就在所有通电的硬件里运动着,电源的电经由主板上电阻、电容等元器件的控制变成微弱的电流在适合TA运动的二级管里运动。

  • 二进制
  • 逻辑门()

二.器件(晶体管、二极管)

  1. 晶体管(transistor)是一种固体半导体器件,具有检波、整流、放大、开关、稳压、信号调制等多种功能。晶体管泛指一切以半导体材料为基础的单一元件,包括各种半导体材料制成的二极管、三极管、场效应管、可控硅等(晶体管有时多指晶体三极管)。晶体管作为一种可变电流开关,能够基于输入电压控制输出电流。与普通机械开关(如Relay、switch)不同,晶体管利用电讯号来控制自身的开合,而且开关速度可以非常快,实验室中的切换速度可达100GHz以上。

  2. 二极管(Diode)是一种具有两个电极的装置,只允许电流由单一方向流过,许多的使用是应用其整流的功能。而变容二极管(Varicap Diode)则用来当作电子式的可调电容器。大部分二极管所具备的电流方向性我们通常称之为“整流(Rectifying)”功能。二极管最普遍的功能就是只允许电流由单一方向通过(称为顺向偏压),反向时阻断 (称为逆向偏压)。因此,二极管可以想成电子版的逆止阀。

  3. 高速缓存

  4. 虚拟存储器

  5. 嵌入式I/O

  6. PC I/O

三.模拟电路(放大器、滤波器)

四.数字电路(逻辑门与、或、非)

五.逻辑(加法器、存储器)

六.微体系结构(数据路径控制器)

1.单周期处理
2.多周期处理
3.流水线处理
4.硬件描述语言表示
5.高级微体系结构
6.x86微体系结构

七.体系结构(指令寄存器)

体系结构是程序员所见到的计算机,它由指令集(汇编语言)和操作数地址(operand location)(寄存器和存储器)来定义。如x86、MIPS、SPARC、PowerPC等。

理解计算机体系结构的第一步是学习它的语言。计算机语言中的单词叫做指令(instruction),词汇表叫做指令集(instruction set),在同一台计算机上运行的所有程序使用相同的指令集。即使是非常复杂的软件应用(如webstorm、myeclipse等)最终都会被编译为一系列诸如加法、减法或跳转的简单指令,计算机指令包含需要完成的操作和要使用的操作数,如MIPS汇编代码:add a, b, c用高级语言表示就是a=b+c;
1.汇编语言
在这里插入图片描述
因为计算机用电路的通断处理信息,所以计算机硬件只能理解二进制信息,指令也会被编码为二进制,这样微处理器才可以读取并执行指令需要完成的操作,但是变成了二进制我们人去阅读就会很枯燥并且麻烦,所以就用符号格式来表示指令,称为汇编语言(assembly language),所以汇编语言是计算机机器语言的人类可阅读表示,每条汇编语言指令都指明了需要完成的操作和操作所处理的操作数,操作数可以存放在寄存器或者存储器中,也可以作为常数存储在指令自身当中,访问寄存器和指令自身的操作数会很快。

汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。

许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器。

汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。

  1. 机器语言
  2. 编程
  3. 寻址方式
  4. 编译、汇编和装入
  5. x86结构

八.操作系统(设备驱动程序)

九.应用软件(程序 “hello world”)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值