一 计算机系统体系结构
1.1 什么是计算机体系结构
本章的第一个概念是计算机系统(computer system)。
计算机系统包括读取并执行程序的 中央处理单元(CPU
保存程序和数据的存储器以及将芯片转换为实用系统的 其他子系统
这些子系统会使CPU与显示器、打印机、Internet等外部设备之间的通信变得更加容易。
•cpu(处理器): 计算机实际执行程序的部分
•微处理器: 在单个硅片上实现的CPU
•微机: 围绕微处理器构建的计算机
计算机的性能既取决于CPU;也取决于其他子系统。如果不能高效进行数据传输,
仅仅提高CPU的性能是毫无意义的。
Figure 1:
•信息(程序和数据): 保存在存储器中;计算机会使用不同类型的存储器,达到不同的目的。
–如果不能叫信息保存在正确的存储器,那么CPU的速度再快也将毫无意义
–Cache: 保存常用的数据是 高速专用 的存储器。
–主存: 存放大量的工作数据,断电消失
–辅存: 指磁盘等,用于存储海量的数据。永久存储
•组成计算机的各个子系统通过 总线 连接在一起,
数据通过总线从计算机中的一个位置传递到另一个位置。
什么是计算机
Figure 2:
•输入: 指用户交给计算机的信息
•输出: 指计算机返回给用户的信息
可编程计算机接收两种类型的输入: 它将要处理的 数据
以及准确描述要如何处理输入数据的程序。
程序 不过是计算机所执行的完成给定任务的 操作序列
Figure 3:
CPU 读程序并完成程序指定的操作。内部使用寄存器来保存数据
•存储器系统保存两类信息:程序,程序处理或产生的数据
计算机从存储器中读出指令并执行这些指令(即完成或执行指令定义的动作)。
执行指令时,可能要从存储器中读出数据,对数据进行操作,将数据写回存储器。
寄存器是CPU内部用来存放数据的存储单元。时钟提供了脉冲流,
所有内部操作都在 时钟脉冲 的触发下进行。时钟频率是决定计算机速度的一个因素
程序执行过程
Figure 4:
CPU先读取一条指令;在CPU分析或解码指令;从存储器中读出这条指令所需的所有数据。
1.LOAD X: 从存储器中读出变量X的值。并将它暂存到寄存器中
2.LOAD Y: 从存储器中读出变量X的值。并将它暂存到寄存器中
3.Z=X+Y: 将两个寄存器中的内容相加,并将结果写在第三个寄存器中
4.STORE Z: 将结果写回到存储单元z中
###计算机指令
尽管计算机能够执行上百种不同指令,但下面的6基本指令 可以将所有计算机指令进行分类:
Mov A, B: 将B的值复制到A
LOAD A, B: 将存储单元B的值复制到寄存器A
STORE A, B: 将寄存器B的值复制到存储单元A
ADD A, B: AB相加,结果保存到A
TEST A: 测试A的值是否为o
BEQ Z: 若最后一次测试结果为TRUE,执行地址Z处的代码,否则继续执行
1.2 体系结构和组成
体系结构: 描述了一些与计算机组成方式有关的内容;因为不同的用户会从完全不同的角度看待计算机。
寄存器
60进制计算器5.用来存放 一个单位的数据字数据 的存储单元。使用它保存数据的位数来描述
–典型的有8位、16位、32位和64位。
6.与存储器中的字存储单元没有本质区别。唯一区别在于寄存器里cpu近,
访问速度远远大于存储器
计算机体系结构通常被认为是程序员视角中的计算机
•程序员看到的是计算机的抽象视图;计算机的实际硬件和实现都被隐藏起来了
•这个抽象视图现在通常被称作 指令集体系结构(ISA)
计算机 组成表示其体系结构的具体实现
机器码 汇编语言 高级语言
计算机上执行的代码表示为二进制1和0组成的串,被称作机器码(machine code)。
每种计算机都只能执行一种特定的机器码。
人类可读的机器码(例如 ADD R0 ,Time)叫作汇编语言。
能够在类型完全不同的计算机上运行,与底层计算机体系结构几乎没有关系的代码叫作高级语言
(比如C或Java)。在执行之前,高级语言程序必须首先被编译为计算机的本地机器码。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。