@740340735
2016-03-28T01:10:35.000000Z
字数 3873
阅读 1594
嵌入式系统 作业一
嵌入式系统
陆一洲 5140309557 of F1403020
1.1
(2) 电子计算机一般分成哪些组成部分?为什么要分成这些组成部分?
- 电子计算机主要有五个组成部分:输入设备、控制单元、存储器、运算单元和输出设备。
- 这些部件相互配合,相互协调地完成运算任务。输入设备用于接收外界信息,输出设备将计算的结果从计算机中输出,控制器完成操作步骤的控制和协调,存储器用于存储程序和数据,运算器则是完成计算工作的部件。
(4) 运算器中可以有哪些寄存器?为什么?
- 首先讲一下寄存器的概念,寄存器是运算中临时存放数据的部件,由触发器构成,用于存储最频繁使用的数据。
运算器中可以有存储数据的寄存器,用于存放一些中间运算结果等;运算器中还可以有保存指令的寄存器、保存运算状态的寄存器以及保存存储器地址的寄存器。
原因:数据和存储器地址等信息从存储器中取出后需要临时保存在运算器中,运算的中间结果在存放到存储器中之前也需要临时存放。
(6) 什么是存储器的容量?什么是数据字?什么是指令字?
- 存储器的容量是衡量存储器容纳信息能力的指标。主存储器中数据的存储一般是以字为单位时进行,存储器中存储的一个字的信息如果是数据则称为数据字,如果是指令则称为指令字。
(9) 存储器中每一个字节都有一个地址,当我们要从存储器中读取一个 32 位的字, 也就是 4 个字节时是否需要向存储器提供 4 个地址呢?
- 只需要提供一个低位地址。
(12) 存储器中存储的数据和程序是怎样区分的?
- 数据和指令都以二进制代码的形式存储在存储器中,从代码本身无法区别它是数据还是指令,CPU 在取指令时把从存储器中读取的信息都看作指令,在读取数据时把从存储器中读取的信息都看成是数据。为了区分运算数据和程序中的指令,程序员在编写程序时需要知道每个数据的存储位置以及指令的存储位置,以避免将指令当作数据或者将数据当作指令。
(14) 当 CPU 中有许多存放数据的寄存器时,如何指定某一个数据寄存器?
- CPU对指令进行译码,并根据指令生成控制信号,便可指定某一个数据寄存器。
(21) 高级语言有哪些特点?
-
- 高级程序设计语言不依赖于具体的机器,对计算机了解较少的人也可以学习和使用,有良好的可移植性,在一种类型的机器上编写的程序不做很大的改动就能在别的机器上运行;
- 每条高级语言语句对应于多条汇编指令或机器指令,编程效率高;
- 高级语言提供了丰富的数据结构和控制结构,提高了问题的表达能力,降低了程序的复杂性;
- 高级语言接近于自然语言,编程更加容易,编写出的程序有良好的可读性,便于交流和维护。
1.2
2.将以下十进制数据表示成二进制数,小数点后保留 6 位。
-
- 35=100011b
- 67=1000011b
- 103=1100111b
- 252=11111100b
- 10=1010b
- 52=110100b
- 5.5=101.1
- 120.125=1111000.001
(3) 将下列二进制数转换成十进制数。
-
- 10011101b=157
- 10110110b=182
- 10000111b=135
- 00111000b=56
(4) 将下列十进制数转换成二进制数,再转换成八进制数和十六进制数。
-
- 234=11101010b=352o=EAh
- 1023=1111111111b=1777o=3FFh
- 131.5=10000011.1b=203.4o=83.8h
- 27/32=0.11011b=0.66o=0.D8h
(5) 将 100 1011102 转换成八进制数和十六进制数。
- 100101110b=456o=12Eh
(6) 将十进制数 0.81 转换成二进制数。
- 0.81=0.11001111010111000010100011110101b
(7) 将 167o 和 1C4h 转换成十进制表示。
-
(9) 在定点整数计算机中,若寄存器的内容为 80h,当它分别代表原码、补码、反码和无符号数时,所对应的十进制数各为多少?
-
- 原码:0
- 补码:0
- 反码:127
- 无符号数:128
(26) 二进制信息 10001111 代表什么?假定它是
-
- 一个整数的补码:113
- 一个无符号整数:143
- 一个定点小数的补码:0.44140625
- 一个无符号整数的奇偶校验码,最右 1 位为校验位:71
(27) 对于二进制机器数 1000 1111 1110 1111 1100 0000 0000 0000:
-
- 表示一个补码整数,其十进制值:240551854080
- 表示一个无符号整数,其十进制值:291469918208
- 表示一个 IEEE 754 标准的单精度浮点数,其值:-1.98438e-20
1.3
(2) 已知x和y的二进制值,用补码运算求[x+y]补和[x-y]补,并指出结果是否溢出。
-
- x=0.10111, y=0.11011: [x+y]补=1.10010 溢出 [x-y]补 =1.11100
- x=0.11101, y=0.10011: [x+y]补=1.10000 溢出 [x-y]补 =0.01010
- x=0.11011, y=-0.01010: [x+y]补=0.10001 [x-y]补 =1.00101 溢出
- x=-0.11111, y=0.11011: [x+y]补=1.11100 [x-y]补 =1.11010 溢出
(9) 已知下列x和y的二进制值,计算x和y的与、或、异或的结果:
-
- x=00001010, y=00000011: x&y=00000010 x|y=00001011 x^y=00001001
- x=00000011, y=00001100: x&y=00000000 x|y=00001111 x^y=00001111
- x=00001010, y=00001100: x&y=00001000 x|y=00001110 x^y=00000110
- x=11111100, y=11111100: x&y=11111100 x|y=11111100 x^y=00000000
第三章
(3) 电可擦写的 ROM 中存储的信息可以任意擦除并修改,它是否可以代替 RAM 成为计算机的主存用芯片?
- 不能。由于其擦写速度缓慢而且复杂,所以无法作为 RAM。
(4) ROM 存储器中的存储单元能否被随机地访问?
- 能
(5) 存储器芯片的容量通常用 aXb 的方式表示,其中 a 为字数,b 为每个字的位数。以下几种存储器芯片分别有多少地址线和数据线?
-
- 2 K × 16:11,16
- 64K × 8:16,8
- 16M × 32:24,32
- 4 G × 4:32,4
(6) 用 4K×8 的存储器芯片构成 16K×8 的存储器,地址线为 A_15~A_0,请写出全部片选信号的逻辑表达式。
(7) 用 4K×8 的存储器芯片构成 8K×16 位的存储器,共需多少片?如果CPU的信号线有读写控制信号 R/W*,地址线为A_15 ~A_0,存储器芯片的控制信号有 CS* 和 WE*,请画出此存储器与 CPU 的连接图。
- 4片。
(9) 假定计算机系统需要 512 字节 RAM 和 512 字节 ROM 容量。使用的RAM芯片是 128 字 × 8 位,ROM 芯片为 512 字 × 8 位。RAM 芯片有CS * 及WE * 控制端,ROM 芯片有控制端,有地址线A_15 ~A_0、数据线 D_7~D_0、读写控制线 RW* 等,试确定各存储器芯片的地址区间,指出存储器以及各存储器芯片需要的地址线数量,并画出存储器与CPU的连接图。
- RAM: 000 0000~111 1111 四个芯片
ROM: 0 0000 0000~1 1111 1111 一个芯片
(10) 某 32 位计算机系统的主存采用 32 位字节地址空间和 32 位数据线访问存储器,若使用 4M 位的 DRAM 芯片组成 32MB 主存,并采用内存条的形式,问:
-
- 若每个内存条为 4M × 32 位,共需多少内存条?8
- 每个内存条内共有多少片 DRAM 芯片?4
- 主存共需多少芯片?32
- 如何有选择地访问各内存条?使用 3-8 译码器
(14) 某计算机的主存地址空间中,从地址 ~ 为ROM存储区域,从 ~ 为保留地址区域,暂时不用,从 ~ 为 RAM 地址区域。RAM 的控制信号为 CS# 和 WE#,CPU 的地址线为 A_15~A_0,数据线为 8 位的线路D_7~D_0,控制信号有读写控制 R/W# 和访存请求 MREQ#,画出地址译码方案,如果 RAM 和 ROM 存储器芯片都采用 8K×1 的芯片,试画出存储器与的连接图。
-
(15) 一台计算机采用 256 × 8 的 RAM 芯片和 1024 × 8 的 ROM 芯片。计算机系统需要 2K 字节的 RAM 和 4K 字节的 ROM,以及 4 个输入/输出接口,每个接口有 4 个 8 位的寄存器,采用存储器映像的编址方式,位于 8KB 地址空间的高端。存储器地址的最高 2 位为 00 表示访问 RAM,为 01 或 10 表示访问 ROM,为 11 表示访问输入/输出接口寄存器。
-
- 需要多少 RAM 和 ROM 芯片?8,4
- 画出存储器地址映像表,指出地址空间中各段分别映像到什么芯片。
- RAM: 000FF~007FF
- ROM: 010FF~017FF 100FF~107FF
- 接口寄存器:11000~1100F
- 用十六进制数给出 RAM、ROM 和接口寄存器的地址范围。
- RAM: 000FF~007FF
- ROM: 010FF~017FF 100FF~107FF
- 接口寄存器:11000~1100F