zoukankan      html  css  js  c++  java
  • 计算机组成原理

    1.cpu的设计

    CPU的设计包括数据通路和控制部件以及执行时序的设计。

    以单周期处理器为例,需要进行以下步骤:

    (1)了解各个指令的功能

    (2)根据指令功能确定所需的元件,考虑如何将各个部件连起来

    (3)确定每个元件所需的控制信号的取值

    (4)将所有指令的控制信号汇总到一起,生成指令和控制信号的关系表

    (5)根据关系表,得到每个控制信号的逻辑表达式,据此设计控制电路

    单周期CPU的缺点:各组成部件的利用率不高,所有指令都必须使用最长的指令周期

    单周期CPU的优点:每条指令占用一个时钟周期,CPI=1,逻辑设计简单,时序设计也简单。

    多周期的CPU设计需要将指令的执行过程分为多个步骤,每个步骤占用一个CPU周期,同时保存好下一步骤要用到的值,控制信号可以发出控制信号是指令转到下一步执行。

    (1)确定数据通路

    (2)划分指令执行步骤(指令流程图)

    (3)安排每条指令每个步骤的功能并给出相应的控制信号

    (4)为指令执行步骤设计状态机,即状态寄存器和组合逻辑电路的设计

    (5)为每个步骤的控制型号设计控制信号的生成逻辑

    2.组合逻辑控制器(硬连线控制器)和微程序控制器有什么异同?

    组合逻辑控制器采用组合逻辑线路,根据指令及其执行步骤直接产生控制信号

    微程序控制器采用存储器电路把控制信号存储起来,依据指令执行的步骤读出要用到的信号组合

    3.RISC和CISC

    分别是精简指令系统和复杂指令系统

    RISC一般使用的都是组合逻辑控制,指令数目少,指令比较简单,寄存器多,组合逻辑控制使得RISC处理的延时小,CPU周期短

    CISC一般采用微程序控制,指令数目多。

    2.寄存器和存储器的区别

    寄存器是存储器的一种。

    3.多级存储系统的作用

    多级存储系统从上至下一次是寄存器、缓存、主存、外存,通过将存储器分层,可以时间速度价格和容量的协调,寄存器速度最快,容量最小价格最高,一般寄存器是用于存放一些指令以及运算数据的,是CPU的组成部分,在CPU的控制部件中,有指令寄存器和地址计数器,算逻运算部件中有累加器ACC,另外还有一些通用寄存器,用于存放运算的中间结果。缓存的引入主要是为了解决CPU和内存之间速度不匹配,数据粒度不匹配等的问题,缓存速度比主存的速度要更快一些,只需要将CPU近期要用的信息调入缓存,CPU就可以直接从缓存中获取信息,从而提高访存速度。主存就是用于存放程序等数据,将外存的内容调入主存,供CPU处理。外存的话就是用于存放大量的暂时没有用到的数据,然后还有虚拟存储系统,可以解决内存空间不够用的问题,提高系统的吞吐量和资源利用率。

    5.DMA的流程

    预处理:CPU设置DMA为读方式或者写方式,设置主存起始地址,设备地址以及传送数据个数,启动设备

    数据传送:CPU继续执行主程序,同时DMA和I/O设备之间完成一批数据(数据块)的传送

    后处理:DMA完成数据传出后,发出中断信号,CPU处理中断服务程序,做DMA结束处理

    DMA的组成:DMA控制逻辑、中断机构以及寄存器(主存地址寄存器、字计数器、数据缓冲寄存器、设备地址寄存器)

    控制逻辑包括控制电路、时序电路以及命令状态控制寄存器

    6.寻址方式

    寻址方式就是处理器根据指令中给出的地址信息来寻找有效地址的方式,是确定本条指令的数据地址以及下一条要执行的指令地址的方法。

    寻址方式包括指令寻址和数据寻址。

    指令寻址包括顺序寻址和跳跃寻址,顺序寻址可以通过程序计数器PC加1,跳跃寻址通过转移类指令实现。

    数据寻址包括立即寻址、直接寻址、间接寻址、隐含寻址、寄存器寻址、基址寻址、变址寻址和相对寻址。https://www.cnblogs.com/l20902/p/10610945.html

    7.什么是指令流,什么是数据流

    指令流:在计算机的存储器与CPU之间形成的不断传递的指令序列。
    数据流:在计算机的存储器与CPU之间形成的不断传递的数据序列。

    8.程序和数据在内存中是怎样存放的?如何取出指定的程序和数据?

    在存储器中,数据和程序是以二进制形式存放的。程序操作所需的计算机程序和数据以二进制形式存储在计算机内存中。程序就是指令的集合,在取指阶段取出的就是指令,取数据阶段取出的就是数据,根据指令周期来进行判断是取出的程序还是数据。

    9.什么是总线?总线由哪几部分组成?各部分的作用是什么?总线查询的方式?

    总线是连接计算机内多个部件的传输线,是各部件共享的传输介质。

    总线包括片内总线和系统总线及通信总线。

    片内总线是指CPU芯片内部的总线连接。

    系统总线是指CPU、主存、I/O设备各大部件之间的信息传输线。系统总线包括数据总线、地址总线和控制总线。数据总线用于传输各功能部件之间的数据信息,地址总下主要用于指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址。控制总线用于发出各种控制信号。

    通信总线用于计算机系统之间的通信,包括串行传输和并行传输。

    总线上连接的各种设备,按其对总线的控制权可以将其分为主设备和从设备。如果多个主设备要使用总线,就需要对总线进行查询判优。主设备向总线控制部件发出总线请求信号,总线控制部件需要对设备发回总线同意信号。

    总线的查询包括链式查询、计数器定时查询和独立请求的方式。

    链式查询使用三根总线(总线忙、总线请求和总线同意)控制,指总线同意信号串行地从一个I/O设备到下一个I/O设备。这种方式的特点是只需要少量的几根线就可以实现设备的判优,离总线距离最近的设备具有最高的优先级,缺点是对电路故障敏感。

    计时器定时查询与链式查询相比多了一组设备地址线,少了一根总线同意线。当设备向总线发送设备请求信号后,在总线没有被使用的情况下,总线控制部件的计数器开始计数,并通过设备地址线,向各个设备发出一组地址信号,如果计数值和请求占用总线的设备地址一致时,就获得总线控制权,终止计数查询。各个设备优先级相等,但是控制方式比较复杂,对于电路故障也不敏感。

    10.指令时序控制方式有几种?试说明每种控制方式的特点?

    11.微程序控制器通常由哪几部分组成,各部分的作用是什么?他们之间是怎么进行连接的?

    12.什么是中断?中断方式是如何进行信息交换的?中断周期完成哪些操作?

    中断是CPU在正常运行时,由于内部或者外部事件或者由程序实现安排的事件,使得CPU需要停止当前正在运行的程序,而转到内部或者外部事件或者由程序实现安排的事件的服务程序中去,服务完毕,再返回执行被中断的程序。

    信息交换是指主机和I/O设备的信息交换,当I/O设备需要向主机发送信息时,向CPU发送中断信号,CPU在每条指令执行阶段的最后时刻,查询所有的设备是否有中断请求,如果有,就响应中断,执行中断服务程序

    中断周期需要完成的工作有:中断响应,程序断点进栈、关中断以及中断向量地址送给PC或者使用软件查询方式

    中断服务程序需要完成的工作有保护现场(保存通用寄存器和状态寄存器的内容)、中断服务、恢复现场(将原来程序的寄存器内容恢复)和中断返回(修改PC值)。

    13.CPU如何处理外部中断

    CPU响应中断后,即进入中断周期.在中断周期内,CPU要自动完成一系列操作,都是通过一条中断隐指令实现的:
    (1)保护程序断点.保护程序断点就是要将当前程序计数器PC的内容(程序断点)保存到存储器中.它可以存在存储器的特定单元(如0号地址)内,也可以存入堆栈.
    (2)寻找中断服务程序的入口地址.由于中断周期结束后进入下条指令(即中断服务程序的第一条指令)的取指周期,因此在中断周期内必须设法找到中断服务程序的入口地址.由于入口地址有两种方法获得,因此在中断周期内也有两种方法寻找入口地址:
    其一,在中断周期内,将向量地址送至PC(对应硬件向量法),使CPU下一条执行无条件转移指令,转至中断服务程序的入口地址.
    其二,在中断周期内,将软件查询入口地址的程序(又叫中断识别程序)其首地址送至PC,使CPU执行中断识别程序,找到入口地址(对应软件查询法).
    (3)关中断.CPU进入中断周期,意味着CPU响应了某个中断源的请求,为了确保CPU响应后所需作的一系列操作不至于又受到新的中断请求的干扰,在中断周期内必须自动关中断,以禁止CPU再次响应新的中断请求.允许中断触发器EINT和中断标记触发器INT可选用标准的R-S触发器.当进入中断周期时,则T为"1"状态,触发器原端输出有一个正跳变,经反相后产生一个负跳变,使EINT置0,即关中断.

    14.虚拟存储系统有哪些特点?Cache和虚拟存储器在原理和功能上有什么相同和不同之处?

    虚拟存储器的特点是

    虚拟扩充,在逻辑上扩充内存的容量。

    部分装入,不需要将运行的程序的所有数据都装入内存。

    离散分配,不需要连续的空间进行存储。

    多次对换,将需要的换入内存,不需要的换出内存。

    Cache和虚拟存储器相似之处:

    ①把程序中最近常用的部分驻留在高速的存储器中;
    ②一旦这部分变得不常用了,把它们自送回到低速的存储器中;
    ③这种换入换出是由硬件或操作系统百成的,对用户是度透明的;
    ④力图使存储系统的性能接近高速存储器,价格接近低速存储器。
    主要区别:在虚拟问存储器中未命中的答性能损失要远大于Cache系统中未命中的损失。

  • 相关阅读:
    Linux监控平台、安装zabbix、修改zabbix的admin密码
    LVS DR模式搭建、keepalived+lvs
    负载均衡集群相关、LVS介绍、LVS调度算法、LVS NAT模式搭建
    集群相关、用keepalived配置高可用集群
    mysql基础
    MySQL主从、环境搭建、主从配制
    Tomcat配置虚拟主机、tomcat的日志
    Tomcat介绍、安装jdk、安装Tomcat、配置Tomcat监听80端口
    FTP相关、用vsftpd搭建ftp、xshell使用xftp传输文件、使用pure-ftpd搭建ftp服务
    HTTP Status 500
  • 原文地址:https://www.cnblogs.com/helloworldToDu/p/12844607.html
Copyright © 2011-2022 走看看