计算机组成原理期末复习题

  1. 地址总线A15~Ao(低),存储空间(按字节编址)分配如下 2000H~3FFFH为ROM区, 5000H~6FFFH为RAM区。用 ROM芯片(4Kx4)和RAM芯片(4Kx4)组成该存储器。请回答 :(1)分别需要ROM和RAM多少片? (2)用二进制形式写出每组芯片的地址范围,并说明可以通过哪些地址位来形成片选信号。
    解:参照P123 (1)ROM区的地址范围为2000H~3FFFH ,(H16进制位缩写)
    3FFFH-2000H+1=2000H=2*16^3=2^13=8KB,(1KB=2^10)
    即具有8K的地址空间, 8K*8(1B=8b)/4k*4=2*2=4片,因此需要4Kx4的ROM芯片4片,每两片位扩展,两组之间进行字扩展。
    同理RAM的地址范围为5000H-6FFFH ,具有8K的地址空间,因此也需要 RAM芯片4片,每两片位扩展,两组之间进行字扩展。

       (2)

  1. 设短实数(float)型变量x=-158.625 ,请
  1. 写出-158.625的二进制形式。
    (2)根据IEEE754标准写出x的浮点数形式。
    (3)若该变量在存储器中的形式(16进制)为C3 1E A0 00 ,请问,在该计算机中浮点数表示方法是不是遵循了IEEE754标准?

    : (1) (-158.625) 10= (-10011110.101) 2
    参照P56(2) -10011110.101=-1.0011110101x2^111
    阶码为111+1111111 (7FH) =10000110
    浮点数形式为: 1 100 0011 0001 1110 1010 0000 0000 0000

数符

阶码(含阶符)

尾数

数符:表示浮点数的正负。

阶码:用移码表示。位数8

尾数:用原码表示,(只包含小数位)位数23

总位数:32
(3)

浮点数形式为: 1 100 0011 0001 1110 1010 0000 0000 0000

四位对一位:  C     3    1    E     A  0    0    0

上述浮点数写成16进制形式为: C31EA0 00,说明遵循了该标准。 

3.主存的容量为128KB, Cache(缓存)的容量为2KB,按字节编址。块的大小为32个字节,采用直接映射方式。
(1)主存的地址为多少位,可以分为多少块?
(2)缓存的地址为多少位,可以分为多少块?
(3)写出直接映射方式下的内存的地址格式。
4) 内存地址为B7FC的字节映射到缓存的哪 块中?

解: (1)主存的地址需要17(128KB=2^17)位,可以分为(128K/32)=4*2^10=4*1024=4096块。
2)缓存地址为11(2KB=2^11)位,可以分为(2K/32) =1024/16=64块。

参照P131(3)

主存字块标记6位(17-11=6)

缓存块号6位(11-5=6)

块内地址5位(32=2^5)


(4) B7FC写成二进制形式为: 从后往前

主存字块标记6位(17-11=6)

缓存块号6位(11-5=6)

块内地址5位(32=2^5)

01011 0                      111 111                           1 1100

缓存对应的块号为111111,是十进制的63,所以对应缓存的第63块。
4某计算机系统CPU的主频为50MHz,想在主存和硬盘之间进行连续数据交换,若数据传输速率要求达到3MBps,有两种数据传输控制方式可以选择,DMA方式和程序中断方式。请问:

  1. 若采用DMA方式与主存交换数据,DMA控制器的预处理需要800个时钟周期,后处理需要400个时钟周期,在DMA进行数据传输过程中不需要考虑访存冲突,每次DMA完成6KB数据的传输,则CPU需要用多少比例的时间进行硬盘传输管理。
    (2)若改为中断方式进行传输,每次中断可以传输6B,每次中断需要100个时钟周期,则CPU需要用多少比例的时间进行硬盘传输管理。
    (3)你认为哪种传输控制方式比较合适。
    注意:本题中1M=10^6 , 1K=10^3)

    参照P157,P166 解:  DMA方式下,若要达到3MBps,则需要每秒进行3M/6K=3*10^6/(6*10^3)=500次DMA传输过程。每次DMA传输需要用800+400=1200个时钟周期,每秒共需500*1200=600000个时钟周期。而CPU每秒共有时钟周期50*10^6个,因此600000/ (50*10^6) *100%=1.2%,因此CPU需要用1.2%的比例进行 DMA传输管理。(4分)
    (2)若采用中断方式,一次中断传输6B,则要达到3MBps,则每秒需要中断3M/6=500000次。每次中断需要100个时钟周期,则管理中断每秒共需500000*100=50*10^6. CPU每秒共有时钟周期50*10^6,因此CPU要100%的时间进行中断传输管理。
    (3)对比上述两种方式,对于高速IO传输,显然采用DMA方式比较好。(
    比例越小越好)

5、某微机指令格式如下所示:
15                     10 9                      8 7                      0

OP

x

D


格式中OP为操作码, D为偏移量, X为寻址特征位。寻址特征位的值和寻址方式的对应关系如下表所示。

寻址特征x的值

表示的寻址方式

00

直接寻址(直接后八位)

01

用变址寄存器R1进行变址寻址 (后八位加上R1)

10

用基址寄存器R2进行基址寻址(后八位加上R2)

11

相对寻址(后八位加上PC)


设(PC) =1300H, (R1) -2012H, (R2)-4528H, (H代表十六进制数),请分别写出如下四条指令的有效地址:
参照P178,P188(1) 3472H (2) 4214H (3)3352H (4)2561H
(5)若该系统指令操作码长度固定,则最多可以表示多少条指令?

解(1) 3472H写出二进制形式为0011 0100 0111 0010,寻址特征位是00.
表示直接寻址,有效地址则为0111 0010,即十六进制的72H.
(2) 4214H写出二进制形式为0100 0010 0001 0100,寻址特征位是10,表示基址寻址,则有效地址为R2,的内容加上形式地址4528H+14H=453CH.
(3) 3352H写出二进制形式为0011 0011 0101 0010,寻址特征位是11 表示相对寻址,则有效地址是PC的值加上形式地址值:
1300H +52H=1352H.
(4)2561H写出二进制形式为0010 0101 0110 0001,寻址特征位是01表示变址寻址,有效地址为2012H+61H=2073H.
(5)操作码长度一共6位,最多可以表示2^6=64条指令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/309931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

干货分享:如何使用Kubernetes的Ingress API

导语以Kubernetes的Kong为例,聊聊当前流行的开源且与云无关的Ingress控制器。正文您可以通过使用诸如Kong for Kubernetes的Ingress控制器(使用自定义资源定义并提供许多插件)来极大地扩展Ingress资源的功能。Kubernetes正在整个技术行业中得…

[PAT乙级]1029 旧键盘

旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。 输入格式: 输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每…

表空间oracle查询,Oracle表和表空间查询

用户查询查询和用户相关的数据创建用户CREATE USER userIDENTIFIED BY password[DEFAULT TABLESPACE tablespace][TEMPORARY TABLESPACE tablespace]查询所有用户数select username from dba_users;查询当前实例名称select instance_name from v$instance;表空间查询查询用户表…

计算机组成原理期末复习往年卷子

1. I/O设备的编址方式通常有___统一编址__和_独立编址__两种方式。P145 2.Cache是一种高速缓冲存储器,是为了解决____CPU____和___主存____之间速度不匹配而采用的一项重要技术。P124 3.在计算机系统中,I/O设备与主机传递消息的…

.NET Core接入ElasticSearch 7.5

写在前面最近一段时间,团队在升级ElasticSearch(以下简称ES),从ES 2.2升级到ES 7.5。也是这段时间,我从零开始,逐步的了解了ES,中间也踩了不少坑,所以特地梳理和总结一下相关的技术点…

[C++11]字符串原始字面量

代码如下: #include <iostream> #include <string> using namespace std;int main() {string str1 R"(D:\hello\world\test.txt)";cout << str1 << endl;string str2 R"(dsdasasdasasda asdagdfhadagd)";cout << str2 &l…

oracle实现序列,oracle中创建序列和自增长列的实现方式

众所周知&#xff0c;在SQL Server中设置自增长列很简单&#xff0c;但是在ORACLE中则不然&#xff0c;现在介绍一下ORACLE中自增长列如何实现&#xff1a;1.创建序列。举例如下&#xff1a;create sequence seq_personincrement by 1start with 1nomaxvalue --不设最大值nocy…

ASP.NET Core on K8s学习之旅(13)Ocelot API网关接入

【云原生】| 作者/Edison Zhou这是恰童鞋骚年的第232篇原创文章上一篇介绍了Ingress的基本概念和Nginx Ingress的基本配置和使用&#xff0c;考虑到很多团队都在使用Ocelot作为API网关&#xff08;包括我司&#xff09;做了很多限流和鉴权的工作&#xff0c;因此本篇介绍一下如…

数据结构期末复习

1.完全二叉树的第5层有9个节点&#xff0c;该完全二叉树总计有多少个节点( B ). A.41 B.24 C.40 D.25 2.具有21个顶点的无向图至少有多少条边才能形成连通图 ( B ). A.21 B.20 C.22 D.21…

oracle有入参的试图,Oracle 带参视图

创建包:create or replace package p_view_param isfunction set_param(num number) return number;function get_param return number;end p_view_param;create or replace package body p_view_param isparamValue number;function set_param(num number) return number is…

C++实现拓扑排序(vector模拟邻接表存储,优先队列实现)

代码如下: #include <iostream> #include <queue> #include <vector> using namespace std; const int N 10010; int in[N]; vector<int>v[N]; vector<int>print;//存放拓扑序列 int main() {int n, m;//n为点的个数&#xff0c;m为边的条数,点…

ASP.NET Core分布式项目实战(运行Consent Page)--学习笔记

任务21&#xff1a;运行Consent Page修改 Config.cs 中的 RequireConsent 为 true&#xff0c;这样登录的时候就会跳转到 Consent 页面修改 ConsentController 的 Index 为异步[HttpGet] public async Task<IActionResult> Index(string returnUrl) {var model await Bu…

HDU - 2444——The Accomodation of Students(判断二分图,二分图最大匹配)

题意&#xff1a; 题意&#xff1a; 有n个人&#xff0c;m对人相互认识&#xff1b; 问能否分成两个组&#xff0c;组内任意两个人之间不认识&#xff1b; 若不能&#xff0c;则输出No&#xff1b; 若能&#xff0c;则相互认识的两个人一间房&#xff0c;求最多需要几间房&…

php代码时间控制,PHP 网页过期时间的控制代码

当然,前提要先打开CDN中一个功能reload_into_ims on.这样用户发送过来no-cache也不怕了.因为这样会给给no-cache转成If-Modified-Since .所以我们写程序主要是对If-Modified-Since控制就好了.记的,缓存系统架构中计中最好是后端来控制,所以最好的方法是程序来管理过期. 呵,我只…

[C++11]指针空值类型nullptr

代码如下: #include <iostream> using namespace std;void func(char *p) {cout << "void func(char *p)" << endl; }void func(int p) {cout << "void func(int p)" << endl; }int main() {func(10);func(NULL);return 0;…

一些有关使用EF的错误用法展开的思考

前言这是一个对话性的讨论&#xff0c;它讨论了一个严重的问题趋势&#xff0c;我发现在由初级团队到架构师团队的各种规模的组织中&#xff0c;EntityFramework的利用率都很高。这不是一个如何做的问题,这也不适合新手。如果有什么能激发您的想法&#xff0c;或者您对我提到的…

php字符串类型详解,php数字类型之字符串类型详解

在php中可字符一个字符串我们常用的就是单引号和双引号以前后面的语法结构heredoc和nowdoc定义&#xff0c;这两个要在php5.3.0以上版本。PHP中一个字符串可以通过下面的4种方式来定义&#xff1a;单引号双引号heredoc 语法结构nowdoc 语法结构 (自PHP 5.3.0以后)单引号定义一个…

Round Numbers POJ - 3252(数位dp+判断前导零)

题意 求二进制表示中0的个数大于1的数的个数。 题目 The cows, as you know, have no fingers or thumbs and thus are unable to play Scissors, Paper, Stone’ (also known as ‘Rock, Paper, Scissors’, ‘Ro, Sham, Bo’, and a host of other names) in order to mak…

[C++11]常量表达式函数

constexpr修饰函数。 普通函数/类成员函数。 1.函数必须要有返回值&#xff0c;并且return返回的表达式必须是常量表达式。 代码如下: #include <iostream> using namespace std;//error 不是常量表达式函数 constexpr void func1() {int a 200;cout << a &l…

Magicodes.IE Csv导入导出

说明本章主要说明如何使用Magicodes.IE.Csv进行Csv导入导出.主要步骤1.安装包Magicodes.IE.CsvInstall-Package Magicodes.IE.Csv2.使用Magicodes.IE.Csv导出Csv通过如下代码片段我们将导出的内容通过相应的特性做出相应的处理.ExporterHeaderAttributeDisplayName&#xff1a;…