第三章习题-ddg课件
第三章课后习题答案PPT课件

t1 = mT = 8*100ns = 8*10-7s
t2 T (m 1) 100ns 7 *50ns 450ns 4.5*107 s
顺序存储器和交叉存储器的带宽分别是: W1 q / t1 512 (8 *107 ) 64 107[位 / s]
异步刷新方式
各刷新周期分散安排在2ms内 每隔一段时间刷新一行:
2ms ≈15.6 微秒 128行
RW
…
RW 刷新1 …
500ns
15.5微秒
500ns
RW
…
RW 128 RW
15.5微秒
第八题
存储器带宽:单位时间存储器所存取的信息 量; 度量单位:位/秒、字节/秒;
访问方式: 顺序存储器采用顺序访问方式 交叉存储器采用流水线访问方式
第三章课后习题答案
P127 第一题
(1)220 * 32 4M字节 8
(2) 1024K *32 2* 4 8片 512K *8
(3) 1位地址作芯片选择
第三题
64K *32 4* 4 16片 16K *8
其中4个芯片为一组,通过一个片选信号选择; 总共有四组,故需要四个片选信号。
根据题意,存储总容量为64KB,故地址总线需16 位。现使用16K*8位DRAM芯片,共需16片。芯片 本身地址线占14位,剩下的2位通过一片2:4译码 器作为片选信号,其组成逻辑图如图所示:
交叉存储器的流水存取方式
字
M0 M3 M2 M1 M0
T: 模块存取周期
:总线传输周期
m: 存储器交叉模块数
时间
顺序方式存T 储器连 续读取m个字所需时间为:t2=mT 交叉方式连续读取m个字所需的时间为: t1=T+(m-1)τ
第三章习题解答ppt课件

第三章 语法分析 3.14 在算符优先分析法中,为什么要在找到最左素 短语的尾时才返回来确定其对应的头,能否按扫描顺 序先找到头后再找到对应的尾,为什么? 【解答】 设句型的一般形式为N1a1N2a2…NnanNn+1。其 中,每个ai都是终结符,而Ni则是可有可无的非终结符。 对上述句型可以找出该句型中的所有素短语,每个素 短语都具有如下形式: …aj-1⋖aj≡aj+1≡…≡ai⋗ai+1…
FOLLOW(Q′)={c}
.
第三章 语法分析 对于P´→Pc|Qc,有:
FIRST(P) ∩FIRST(Q)={b} ∩{a}=Ø 对于Q´→a Q´|ε,有:
.
第三章 语法分析 (3) 求出文法G[S]的FIRSTVT集和LASTVT集: FIRSTVT(S)={a,b} FIRSTVT(P)={b} FIRSTVT(Q)={a} LASTVT(S)={b,c} LASTVT(P)={c} LASTVT(Q)={a} 根据优先关系构造规则有:
a<·FIRSTVT(S) LASTVT(S) ·>b a≡b b<·FIRSTVT(P) LASTVT(P) ·>c b≡c b<·FIRSTVT(Q) LASTVT(Q) ·>c LASTVT(Q) ·>a 构造优先关系表如表3-8所示。
.
第三章 语法分析 对产生式V′→ε |[E]
有:FIRST(ε)∩FIRST(‘[’]= Φ; FIRST(‘[’)∩FOLLOW(V′)={[}∩{#,+,]}=Φ;
对E′→ε | +E 有:FIRST(ε)∩FIRST(‘+’)= Φ; FIRST(‘+’)∩FOLLOW(E′)={+}∩{ ] }=Φ。 故文法G[V′]为LL(1)文法。
习题-ddg

第二章习题答案1.给出以下概念的解释说明。
真值机器数数值数据非数值数据无符号整数带符号整数定点数原码补码变形补码溢出浮点数尾数阶阶码移码阶码下溢阶码上溢规格化数左规右规非规格化数机器零非数(NaN)BCD码逻辑数ASCII码汉字输入码汉字内码机器字长大端方式小端方式最高有效位最高有效字节(MSB) 最低有效位最低有效字节(LSB) 掩码算术移位逻辑移位0扩展符号扩展零标志ZF 溢出标志OF 符号标志SF 进位/借位标志CF2.简单回答下列问题。
(1)为什么计算机内部采用二进制表示信息既然计算机内部所有信息都用二进制表示,为什么还要用到十六进制或八进制数(2)常用的定点数编码方式有哪几种通常它们各自用来表示什么(3)为什么现代计算机中大多用补码表示带符号整数(4)在浮点数的基数和总位数一定的情况下,浮点数的表示范围和精度分别由什么决定两者如何相互制约(5)为什么要对浮点数进行规格化有哪两种规格化操作(6)为什么有些计算机中除了用二进制外还用BCD码来表示数值数据(7)为什么计算机处理汉字时会涉及到不同的编码(如,输入码、内码、字模码)说明这些编码中哪些用二进制编码,哪些不用二进制编码,为什么3.实现下列各数的转换。
(1)10= ()2= () 8= () 16(2)2 = ()10= () 8= () 16= () 8421(3)(0101 1001 8421 = ()10= () 2= () 16(4)16 = ()10= () 24.假定机器数为8位(1位符号,7位数值),写出下列各二进制数的原码表示。
+,–,+,–,+,–,+0,–05.假定机器数为8位(1位符号,7位数值),写出下列各二进制数的补码和移码表示。
+1001,–1001,+1,–1,+10100,–10100,+0,–06.已知[x]补,求x(1)[x]补= (2)[x]补= (3)[x]补=01010010 (4)[x]补=7.某32位字长的机器中带符号整数用补码表示,浮点数用IEEE 754标准表示,寄存器R1和R2的内容分别为R1:0000108BH,R2:8080108BH。
习题-ddg

第二章习题答案1.给出以下概念的解释说明。
真值机器数数值数据非数值数据无符号整数带符号整数定点数原码补码变形补码溢出浮点数尾数阶阶码移码阶码下溢阶码上溢规格化数左规右规非规格化数机器零非数(NaN)BCD码逻辑数ASCII码汉字输入码汉字内码机器字长大端方式小端方式最高有效位最高有效字节(MSB) 最低有效位最低有效字节(LSB) 掩码算术移位逻辑移位0扩展符号扩展零标志ZF 溢出标志OF 符号标志SF 进位/借位标志CF2.简单回答下列问题。
(1)为什么计算机内部采用二进制表示信息?既然计算机内部所有信息都用二进制表示,为什么还要用到十六进制或八进制数?(2)常用的定点数编码方式有哪几种?通常它们各自用来表示什么?(3)为什么现代计算机中大多用补码表示带符号整数?(4)在浮点数的基数和总位数一定的情况下,浮点数的表示范围和精度分别由什么决定?两者如何相互制约?(5)为什么要对浮点数进行规格化?有哪两种规格化操作?(6)为什么有些计算机中除了用二进制外还用BCD码来表示数值数据?(7)为什么计算机处理汉字时会涉及到不同的编码(如,输入码、内码、字模码)?说明这些编码中哪些用二进制编码,哪些不用二进制编码,为什么?3.实现下列各数的转换。
(1)(25.8125)10= (?)2= (?) 8= (?) 16(2)(101101.011)2 = (?)10= (?) 8= (?) 16= (?) 8421(3)(0101 1001 0110.0011)8421 = (?)10= (?) 2= (?) 16(4)(4E.C)16 = (?)10= (?) 24.假定机器数为8位(1位符号,7位数值),写出下列各二进制数的原码表示。
+0.1001,–0.1001,+1.0,–1.0,+0.010100,–0.010100,+0,–05.假定机器数为8位(1位符号,7位数值),写出下列各二进制数的补码和移码表示。
第三章课后习题讲

0 33.9 64.6 50.5 101.8 136 173.2 62.8 184.1 254.6 153.94 182.8 252.3
291.9 291.9 308.9 334.4 343.4 376.1 414.6 459.3 435.1 486.8 557.1 554.6 575.5 629.9
(2)若丙产品停产后,其生产设备可以出租给别 的工厂,预计每年获得租金收入1800元时,如果 生产丙产品,则有1800元的机会成本发生,此时 若丙产品停产: E=R-C=(6000+8000+1800)-(4600+6400+1500) =3300(元) 与丙产品未停产时实现的总利润2500元相比,利 润额多了800元,所以此时丙产品应停产。
第六章作业讲解:
5、现要拟建一个工程项目,起始时用去投资 1000万元,第一年年末投资2000万元,第二 年年末再投资1500万元,从第三年起,连续八 年每年年末获利1200万元。假定工程项目的残 值不计,基准贴现率为12%。试画出工程项目 的净现金流量图,求出该项目的净现值为多少 万元?以此判断该项目是否可行?
5、某公司生产丙产品,现有生产能力可生产 7000件,已定货5000件,市价为40元,生产 能力尚有剩余,有A公司拟出价30元,额外订 购丙产品1800件。按照现已订货量,丙产品的 单位生产成本为32元(其中直接材料费为12元, 直接人工费为9元,变动制造费用5元,固定制 造费用6元)。请问该公司是否应该接受订货。 由于企业的生产能力尚有2000剩余,因此新增 加的1800订货不增加固定成本,顾不考虑新增 部分产品的固定制造费用,其成本为26元。A 公司的出价为30元,大于成本价26元,应接受 订货。
DL教育 最新高考 高中数学课件(可改)第三章 章末复习课

A4 (1,1,1)
A5 (1,2,1)
产品编号
A6
质量指标(x,y,z) (1,2,2)
A7 (2,1,1)
A8 (2,2,1)
A9 (1,1,1)
A10 (2,1,2)
(1)利用上表提供的样本数据估计该批产品的一等品率;
解析答案
(2)在该样本的一等品中,随机抽取2件产品, ①用产品编号列出所有可能的结果; ②设事件B为“在取出的2件产品中,每件产品的综合指标S都等于4”,求 事件B发生的概率.
观察球的颜色;
②在公交车站候车不超过10分钟的概率;
③同时抛掷两枚硬币,观察出现“两正”“两反”“一正一反”的次数;
④从一桶水中取出100 mL,观察是否含有大肠杆菌.
A.1个
B.2个
C.3个
D.4个
解析答案
1 2345
4.甲、乙两人随意入住两间空房,则甲、乙两人各住一间房的概率是( C )
1 A.3
新知探究 点点落实
[知识梳理] 1.频率与概率 频率是概率的 近似值 ,是随机的,随着试验的不同而 变化 ;概率是多数 次的试验中频率的稳定值,是一个 常数,不要用一次或少数次试验中的频 率来估计概率. 2.求较复杂概率的常用方法 (1)将所求事件转化为彼此 互斥 的事件的和; (2)先求其 对立 事件的概率,然后再应用公式 P(A)=1-P( A )求解.
反思与感悟 解析答案
跟踪训练1 某射击运动员为备战奥运会,在相同条件下进行射击训练,
结果如下:
射击次数 n
10 20
50 100 200 500
击中靶心次数 m 8
19
44
92 178 455
击中靶心的频率 0.8 0.95 0.88 0.92 0.89 0.91
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题1.给出以下概念的解释说明。
机器语言程序机器指令汇编语言汇编指令汇编语言程序汇编助记符汇编程序反汇编程序机器级程序通用寄存器定点通用寄存器栈指针寄存器指令指针寄存器标志寄存器条件标志(条件码)控制标志寻址方式立即寻址寄存器寻址存储器操作数实地址模式保护模式比例变址非比例变址比例系数(比例因子)MMX指令SSE指令集SIMD 多媒体扩展通用寄存器栈(Stack)调用者保存寄存器被调用者保存寄存器帧指针寄存器当前栈帧按值传递参数按地址传递参数嵌套调用递归调用缓冲区溢出缓冲区溢出攻击栈随机化2.简单回答下列问题。
(1)一条机器指令通常由哪些字段组成?各字段的含义分别是什么?(2)将一个高级语言源程序转换成计算机能直接执行的机器代码通常需要哪几个步骤?(3)IA-32中的逻辑运算指令如何生成条件标志?移位指令可能会改变哪些条件标志?(4)执行条件转移指令时所用到的条件标志信息从何而来?请举例说明。
(5)无条件转移指令和调用指令的相同点和不同点是什么?(6)按值传递参数和按地址传递参数两种方式有哪些不同点?(7)为什么在递归深度较深时递归调用的时间开销和空间开销都会较大?(8)为什么数据在存储器中最好按地址对齐方式存放?(9)造成缓冲区溢出的根本原因是什么?3.对于以下AT&T格式汇编指令,根据操作数的长度确定对应指令助记符中的长度后缀,并说明每个操作数的寻址方式。
(1)mov 8(%ebp, %ebx, 4), %ax(2)mov %al, 12(%ebp)(3)add ( , %ebx,4), %ebx(4)or (%ebx), %dh(5)push $0xF8(6)mov $0xFFF0, %eax(7)test %cx, %cx(8)lea 8(%ebx, %esi), %eax4.使用汇编器处理以下各行AT&T格式代码时都会产生错误,请说明每一行存在什么错误。
(1)movl 0xFF, (%eax)(2)movb %ax, 12(%ebp)(3)addl %ecx, $0xF0(4)orw $0xFFFF0, (%ebx)(5)addb $0xF8, (%dl)(6)movl %bx, %eax(7)andl %esi, %esx(8)movw 8(%ebp, , 4), %ax5.假设变量x和ptr的类型声明如下:src_type x;dst_type *ptr;这里,src_type和dst_type是用typedef声明的数据类型。
有以下一个C语言赋值语句:*ptr=(dst_type) x;若x存储在寄存器EAX或AX或AL中,ptr存储在寄存器EDX中,则对于表3.12中给出的src_type和dst_type 的类型组合,写出实现上述赋值语句的机器级代码。
要求用AT&T格式汇编指令表示机器级代码。
6.假设某个C语言函数func的原型声明如下:void func(int *xptr, int *yptr, int *zptr);函数func的过程体对应的机器级代码用AT&T汇编形式表示如下:1 movl 8(%ebp), %eax2 movl 12(%ebp), %ebx3 movl 16(%ebp), %ecx4 movl (%ebx), %edx5 movl (%ecx), %esi6 movl (%eax), %edi7 movl %edi, (%ebx)8 movl %edx, (%ecx)9 movl %esi, (%eax)请回答下列问题或完成下列任务。
(1)在过程体开始时三个入口参数对应实参所存放的存储单元地址是什么?(提示:当前栈帧底部由帧指针寄存器EBP指示)(2)根据上述机器级代码写出函数func的C语言代码。
7.假设变量x和y分别存放在寄存器EAX和ECX中,请给出以下每条指令执行后寄存器EDX中的结果。
(1)leal (%eax), %edx(2)leal 4(%eax, %ecx), %edx(3)leal (%eax, %ecx, 8), %edx(4)leal 0xC(%ecx, %eax, 2), %edx(5)leal ( , %eax, 4), %edx(6)leal (%eax, %ecx), %edx8.假设以下地址以及寄存器中存放的机器数如表3.13所示。
分别说明执行以下指令后,哪些地址或寄存器中的内容会发生改变?改变后的内容是什么?条件标志OF、SF、ZF和CF会发生什么改变?(1)addl (%eax), %edx(2)subl (%eax, %ebx), %ecx(3)orw 4(%eax, %ecx, 8), %bx(4)testb $0x80, %dl(5)imull $32, (%eax, %edx)(6)decw %cx9.假设函数operate的部分C代码如下:1 int operate(int x, int y, int z, int k)2 {3 int v = ;4 return v;5 }以下汇编代码用来实现第3行语句的功能,请写出每条汇编指令的注释,并根据以下汇编代码,填写operate函数缺失的部分。
1 movl 12(%ebp), %ecx2 sall $8, %ecx3 movl 8(%ebp), %eax4 movl 20(%ebp), %edx5 imull %edx, %eax6 movl 16(%ebp), %edx7 andl $65520, %edx8 addl %ecx, %edx9 subl %edx, %eax10.假设函数product的C语言代码如下,其中num_type是用typedef声明的数据类型。
1 void product(num_type *d, unsigned x, num_type y ) {2 *d = x*y;3 }函数product的过程体对应的主要汇编代码如下:1 movl 12(%ebp), %eax2 movl 20(%ebp), %ecx3 imull %eax, %ecx4 mull 16(%ebp)5 leal (%ecx, %edx), %edx6 movl 8(%ebp), %ecx7 movl %eax, (%ecx)8 movl %edx, 4(%ecx)请给出上述每条汇编指令的注释,并说明num_type 是什么类型。
11.已知IA-32是小端方式处理器,根据给出的IA-32机器代码的反汇编结果(部分信息用x 表示)回答问题。
(1)已知je 指令的操作码为01110100,je 指令的转移目标地址是什么?call 指令中的转移目标地址0x80483b1是如何反汇编出来的?804838c : 74 08 je xxxxxxx 804838e: e8 1e 00 00 00 call 80483b1<test>(2)已知jb 指令的操作码为01110010,jb 指令的转移目标地址是什么?movl 指令中的目的地址如何反汇编出来的?8048390: 72 f6 jb xxxxxxx8048392: c6 05 00 a8 04 08 01 movl $0x1, 0x804a800 8048399: 00 00 00(3)已知jle 指令的操作码为01111110,mov 指令的地址是什么?xxxxxxx: 7e 16 jle 80492e0 xxxxxxx: 89 d0 mov %edx, %eax(4)已知jmp 指令的转移目标地址采用相对寻址方式,jmp 指令操作码为11101001,其转移目标地址是什么? 8048296: e9 00 ff ff ffjmp xxxxxxx804829b:29 c2sub %eax, %edx12.已知函数comp 的C 语言代码及其过程体对应的汇编代码如下:要求回答下列问题或完成下列任务。
(1)给出每条汇编指令的注释,并说明为什么C 代码只有一个if 语句而汇编代码有两条条件转移指令。
(2)按照书中图3.22给出的“if () goto …”语句形式写出汇编代码对应的C 语言代码。
13.已知函数func 的C 语言代码框架及其过程体对应的汇编代码如下,根据对应的汇编代码填写C 代码中缺失的表达式。
1 void comp(char x, int *p)2 {3 if (p && x<0) 4*p += x;5 }1 movb 8(%ebp), %dl2 movl 12(%ebp), %eax3 testl %eax, %eax4 je .L15 testb $0x80, %dl6 je .L17 addb %dl, (%eax) 8 .L1:14.已知函数do_loop 的C 语言代码如下:1 short do_loop(short x, short y, short k) {2 do {3 x*=(y%k) ;4 k--;5 } while ((k>0) && (y>k));6 return x;7 }函数do_loop 的过程体对应的汇编代码如下: 1 movw 8(%ebp), %bx 2 movw 12(%ebp), %si 3 movw 16(%ebp), %cx 4 .L1:5 movw %si, %dx6 movw %dx, %ax7 sarw $15, %dx8 idiv %cx9 imulw %dx, %bx 10 decw %cx11 testw %cx, %cx 12 jle .L213 cmpw %cx, %si 14 jg .L1 15 .L2:16 movswl %bx, %eax请回答下列问题或完成下列任务:1 movl 8(%ebp), %eax2 movl 12(%ebp), %edx3 cmpl $-100, %eax4 jg .L15 cmpl %eax, %edx6 jle .L27 addl %edx, %eax 8 jmp .L3 9 .L2:10 subl %edx, %eax 11 jmp .L3 12 .L1:13 cmpl $16, %eax 14 jl .L4 15 andl %edx, %eax 16 jmp .L3 17 .L4:18 imull %edx, %eax 19 .L3:(1)给每条汇编指令添加注释,并说明每条指令执行后,目的寄存器中存放的是什么信息? (2)上述函数过程体中用到了哪些被调用者保存寄存器和哪些调用者保存寄存器?在该函数过程体前面的准备阶段哪些寄存器必须保存到栈中?(3)为什么第7行中的DX 寄存器需要算术右移15位?15.已知函数f1的C 语言代码框架及其过程体对应的汇编代码如下,根据对应的汇编代码填写C 代码中缺失部分,并说明函数f1的功能。