计算机组成与嵌入式系统笔记01

            计算机组成与嵌入式系统笔记

第1章 计算机的基本结构

1.计算机组成
1
(1)程序是执行任务的指令序列。程序存储在存储器中。处理器从存储器中一条接一条地取出程序指令,然后完成所需要的操作。

(2)存储器的功能是存储程序和数据。它分为主存储器和辅助存储器两种。
作为主存储器的辅助手段,一个更小更快的被称为高速缓存(cache)的RAM(random-access memory)设备可用于存储目前正在执行的程序段以及所有相关的数据。
在程序开始执行的时候,高速缓存是空的。所有程序指令和任何所需的数据都存储在主存中。随着执行过程的推进,指令被读取到处理器芯片中,并且在高速缓存中存放每一条指令的副本。当指令执行需要主存中的数据时,数据被取出同时拷贝到高速缓存中。
比如执行循环语句,这些指令可以从高速缓存中获取,或者当相同的数据单元被反复访问时,这些内容也可以从高速缓存中获得。

(3)大多数计算机的操作是由处理器的算术逻辑部件(ALU)或运算器执行的。任意的算术或逻辑运算,都是通过将所需的操作数送至ALU执行运算的处理器中开始的。得到的结果数据可能存储在主存中,或者保留在处理器中以便直接使用。

当操作数被送入处理器时,它们被存储在寄存器(register)中,每个寄存器可以存储一个字的数据。寄存器的访问时间比处理器芯片上的高速缓存的访问时间更短。

(4)计算机内的所有活动都由控制器控制。

2.基本操作
Load R2,LOC
读取地址标签LOC所指向的存储单元的内容,然后将其装入处理器寄存器R2中。(R2原始值被覆盖)
Add R4,R2,R3
把寄存器R2与R3的内容相加,然后将 和 放入寄存器R4中(R4原始值被覆盖)
Store R4,LOC
把寄存器R4中的操作数复制到存储单元LOC中。(LOC的原始内容被覆盖)

比如执行如下命令所需步骤:(假设包含该指令的存储单元的地址最初是在寄存器PC中。)
L o a d   R 2 , L O C Load\ R2,LOC Load R2,LOC
● 将指令字的地址从寄存器 PC 发送到存储器中,并发出一个读控制命令。
● 等待所请求的字从存储器中取回,然后把它装入寄存器 IR 中,它在 IR 中被控制电路解释(或译码)以便确定所需执行的操作。
● 递增寄存器 PC 的内容以指向存储器中的下一条指令。
● 将地址值 LOC 从寄存器 IR 中的指令发送到存储器并发出一个读控制命令。
● 等待所请求的字从存储器中取回,然后将其装入寄存器 R2 中。

3.寄存器
指令寄存器(instruction register,IR),保存当前正在执行的指令。它的输出结果可由控制电路使用,以产生控制指令执行过程中不同处理部件的时序信号。
程序计数器(program counter,PC)时另一个专用的寄存器,它包含下一条即将被读取和执行的指令的存储器地址。在一条指令的执行过程中,PC中的内容相应地更新为下一条将被执行指令的地址。
通用寄存器(general-purpose register),也被称作处理器寄存器。功能很多,比如保存从存储器中载入的待处理的的操作数。

4.处理器-存储器接口是管理主存储器和处理器之间数据传输的电路。如果需要从存储器中
读取一个字,该接口会向存储器发送该字的地址,同时送出一个读控制信号。接口等待要取回
的字,然后将它传输到适当的处理器寄存器中。如果一个字需要被写入到存储器中,接口会向
存储器传输该字的存储地址和内容,同时送出一个写控制信号。

5.中断
设备发出一个中断(interrupt)信号,向处理器提出服务请求。处理器通过
执行中断服务程序(interrupt-service routine)来提供所请求的服务。因为这样的转变可能会改
变处理器的内部状态,所以必须在处理中断请求之前将处理器的状态保存在存储器中。通常,
要保存的信息包括 PC 中的内容、通用寄存器的内容以及一些控制信息。当中断服务程序完成
时,处理器的状态就从存储器中恢复,从而使得被中断的程序可以继续执行。

6.溢出问题
当两个加数具有相同的符号,而和的符号与加数的符号不同时就发生了溢出,如果两个数做减法,或者两个加数符号不同时,怎么判断溢出呢?
以8位有符号二进制数为例,其实计算机可以控制第9位的,计算机在处理溢出时,如果第9位和第8位数字组成是10或者01,就表示溢出了。01比较简单就是两个正数相加或者正数减去负数等等的溢出,
10也表示溢出是因为:假设我们现在面对的是9位二进制数,那么
-129~-256表示为: 1 0111 1111 ~ 1 0000 0000,第8位始终是0,即负数溢出时只能是10。
以上,计算机用(符号位+1,符号位)组成的数:01和10来判断溢出。

7.计算机体系结构研究软件和硬件功能的划分,比如:
如果这个计算机要做乘法操作,可以这样:
(1)只有加法器(硬件)时,软件借助加法器进行累加操作,实现乘法
(2)有乘法器(硬件)时,硬件自己就实现了乘法,不需要借助软件。
计算机组成是计算机体系结构的逻辑实现,它研究部件怎么组合完成硬件功能。
计算机实现是计算机体系结构的物理实现。
系列机,虽然计算机的型号不一样,但是逻辑实现是一样的。

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.2 如何理解计算机系统的层次结构? 答:从计算机系统的层次结构来看,它通常可有五个以上的层次,在每一层次(级)上都能进行程序设计。由下至上可排序为:第一级微程序设计级,微指令由硬件直接执行;第二级传统机器级,用微程序解释机器指令;第三级操作系统级,一般用机器语言程序解释作业控制语句;第四级汇编语言机器级,这一级由汇编程序支持和执行;第五级高级语言机器级,采用高级语言,由各种高级语言编译程序支持和执行。还可以有第六级应用语言机器级,采用各种面向问题的应用语言。 1.3 说明高级语言、汇编语言和机器语言的差别及联系。 答:机器语言由代码0、1组成,是计算机能直接识别的一种语言。汇编语言是面向机器的语言,它用一些特殊的符号表示指令。高级语言是面向用户的语言,它是一种接近于人们使用习惯的语言,直观、通用,与具体机器无关。 它们之间的联系:汇编语言和高级语言编写的源程序必须通过汇编或编译成机器语言程序才能在机器上运行。 1.4 如何理解计算机组成计算机体系结构? 答:计算机体系结构是指程序员所见到的计算机系统的属性,即概念性的结构与功能特性。通常是指用机器语言编程的程序员(也包括汇编语言程序设计者和汇编程序设计者)所看到的传统机器的属性,包括指令集、数据类型、存储器寻址技术、I/O机理等,大都属于抽象的属性。 计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的(即程序员不知道的)硬件细节。例如一台机器是否具备乘法指令是一个结构问题,而实现乘法指令采用什么方是一个组成问题。 1.9 画出主机框图,分别以存数指令“STA M”和加法指令“ADD M”(M均为主存地址)为例,在图中按序标出完成该指令(包括取指阶段)的信息流程。假设主存容量为256M×32位,在指令字长、存储字长、机器字长相等的条件下,指出图中各寄存器的位数。 答: (1)存数指令STA M的信。。。。。。。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值