实验一熟悉WinDLX的使用

实验一熟悉WinDLX的使用
实验一熟悉WinDLX的使用

实验一熟悉WinDLX的使用

1.实验目的:

通过本实验,熟悉WinDLX模拟器的操作和使用,了解DLX指令集结构及其特点。

2.实验内容:

(1)用WinDLX模拟器执行求阶乘程序facts。执行步骤详见“WinDLX教程”。

这个程序说明浮点指令的使用。该程序从标准输入读入一个整数,求其阶乘,然后将结果输出。该程序中调用了input. s中的输入子程序,这个子程序用于读入正整数。

(2)输入数据“3”采用单步执行方法,完成程序并通过上述使用WinDLX,总结WinDLX的特点。

(3)注意观察变量说明语句所建立的数据区,理解WinDLX指令系统。

3.实验程序:

求阶乘程序facts

;***********WINDLX Ex.2: Factorial*************

Program begin at symbol main

requires module INPUT

read a number from stdin and calculate the factorial (type: double)

the result is written to stdout

.data

Prompt: .asciiz "An integer value >1:”

PrintfFormat: .asciiz "Factorial=%g\n\n"

.align 2

PrintfPar: .word PrintfFormat

PrintfValue: .space 8

.text

.global main

mam:

;***Read value from stdin into R1

addi r1,r0,Prompt

j al InputUnsigned;***init values

movi2fp f10,r1 ;R1一>DO DO二Count register

cvti2d f0,f10

addi r2,r0,1;1一>D2 D2..result

movi2fpfl 1,r2

cvti2d伦,fl l

movd f4,fZ;1一>D4 D4二Constant 1

;***Break loop if DO=1

Loop: led f0,f4 ;DO<=1?

bfpt Finish

;***Multiplication arid next loop

multd伦,fZ,fO

subd f0,f0,f4

j Loop

Finish:;***write result to stdout

sd PrintfValue,f2

addi r14,r0,PrintfPar

trap 5

;***end

trap 0

该程序中调用了input. s中的输入子程序

;***********WINDLX Ex. l : Read a positive integer number************* ;Subprogram call by symbol "InputUnsigned"

;expect the address of a zero-terminated prompt string in R1

;returns the read value in R1

;changes the contents of registers R1,R13,R14

.data

;***Data for Read-Trap

ReadBuffer: .space 80

ReadPar: .word O,ReadBuffer,80

;***Data for Printf-Trap

PrintfPar: .space 4

SaveR2: .space 4

SaveR3:.space 4

SaveR4: .space 4

SaveRS:.space 4

.text

.global InputUnsigned

InputUnsigned:

;***save register contents

sw SaveR2,r2

sw SaveR3,r3

sw SaveR4,r4

sw SaveR5,r5

; * * * Prompt

swPrintfPar,rl

addi r14,r0,PrintfPar

trap 5

;***call Trap-3 to read line

addi r14,r0,ReadPar

trap 3

;***determine value

addi r2,r0,ReadBuffer

addi r1,r0,0

addi r4,r0,10 ;Decimal system Loop:;***reads digits to end of line lbu r3,0(r2)

seqi r5,r3,10 ;LF一>Exit

bnezrS,Finish

subi r3,r3,48;??

multu rl,rl,r4 ;Shift decimal

add rl,rl,r3

addi r2,r2,1 ;increment pointer

j Loop

Finish:;***restore old register contents 1w r2,SaveR2

1w r3,SaveR3

1w r4,SaveR4

1w rS,SaveRS

jr r31;Retur

4.实验过程截图:

j al的分支地址命名为“InputUnsigned"。为找到此符号地址的实际值,点击主窗口中的Memory和Symbols,出现的子窗口中显示相应的符号和对应的实际值。在“Sort":区域选定“name",使它们按名称排序,而不是按数值排

序。数字后的“G”代表全局符号,"L”代表局部符号。" input”中的“InputUnsigned" 是一个全局符号,它的实际值为0x144,用作地址。点击OK按纽关闭窗口。

再一次点击F7,第一条命令(addi)到达流水线的最后一段。如果想了解

某条命令执行后处理器内部会发生什么?你只要对准Clock cycle diagram窗口中相应命令所在行,然后双击它,弹出一个新窗口。窗口中会详细显示每一个流水段处理器内部的执行动作。这个窗口“Information about ...”作为将来的Information窗口。观察完后,点击OK按钮关闭窗口。

(双击Code窗口中的某一行或者Pipeline窗口中的某一段,同样可以Information 窗口。)

指向Code窗口中包含命令trap 0x5的Ox0000015c行,此命令是写屏幕的系统调用。单击命令行,然后点击主窗口菜单Code,单击Set Breakpoint(确保命令行仍被标记!),将弹出一个新的“Set Breakpoint”窗口。通过此窗口,你可以选择命令运行到流水线的哪一阶段时,程序停止执行。缺省为ID段。点击OK关闭窗口。

现在你只要点击Execution / Run或按FS,模拟就继续运行。会出现一个对话框提示你“ID-Stage: reached at Breakpoint #1",按’·确认’,按钮关闭。点击Clock cycle diagram窗口中的trap 0x5行,你将看到模拟正处于时钟周期14 ,0trap 0x5行如下所示:

为进一步模拟,点击Code窗口,用箭头键或鼠标向下滚动到地址为0x00000194的那一行(指令是1w r2, SaveR2(r0),点击此行,然后按Ins键,或点击Code / Set Breakpoint / OK,在这一行上设置一个断点。

采用同样的方法,在地址Ox000001a4(指令jar r31)处设置断点。现在按FS 继续运行。这时,会弹出DLX-Standard-I/O窗口,在信息“An integer value > 1:”后鼠标闪烁,键入20然后按Enter,模拟继续运行到断点#2处。

单步执行:

光标后不能输入数字

输入数字20,并得出结果:

实验二.用WinDLX模拟器执行程序求最大公约数1.实验目的:

通过本实验,熟练掌握WinDLX模拟器的操作和使用,清楚WinDLX五段流水行具体程序时的流水情况,熟悉DLX指令集结构及其特点。

2.实验内容:

(1)用WinDLX模拟器执行程序gcm. s。

该程序从标准输入读入两个整数,求他们的greatest common measure,然后斗结果写到标准输出。该程序中调用了inputs中的输入子程序。

(2).给出两组数6, 3和6, 1,分别在main+OxB(add r2,r1,r0), gcm.loop(seg r; 和result+Oxc(trap 0x0)设断点,采用单步和连续混合执行的方法完成程序,注意中间寄存器的变化情况,然后单击主菜单execute/display dlx-i/0,观察结果。3.实验程序

求最大公约数程序:gcm.s

;***********WINDLX Ex. l : Greatest common measure*************

Program begins at symbol main

;requires module INPUT

Read two positive integer numbers from stdin, calculate the gcm

and write the result to stdout

.data

;***Prompts for input

Prompt 1:.asciiz

Prompt2: .asciiz

“First Number:”

“Second Number:

;***Data for printf-Trap

PrintfFormat: .asciiz“gcM=%d\n\n"

.align 2

PrintfPar: .word PrintfFormat

PrintfValue: .space 4

.text

.global main

mam:

;***Read two positive integer numbers into R1 and R2

addi r1,r0,Promptl

jalInputUnsigned ;read uns.-integer into R1

add r2,r1,r0 ;R2<一Rl

addi r1,r0,Prompt2

jalInputUnsigned ;read uns.-integer into R1

Loop:;***Compare R1 and R2

seq r3,rl,r2 ;R1==R2?

bnez r3,Result

sgt r3,rl,r2 ;R1>R2?

bnez r3,rlGreater

r2Greater:;***subtract r 1 from r2

sub r2,r2,r1

j Loop

r 1 Greater:;***subtract r2 from r 1

sub rl,rl,r2

j Loop

Result:;***Write the result (R1)

swPrintfValue,rl

addi r14,r0,PrintfPar

trap 5

;***end

trap 0

该程序中调用了input. s中的输入子程序。

;***********WINDLX Ex. l : Read a positive integer number************* ;Subprogram call by symbol“InputUnsigned"

;expect the address of a zero-terminated prompt string in R1

;returns the read value in R1

;changes the contents of registers R1,R13,R14

.data

;***Data for Read-Trap

ReadBuffer: .space 80

ReadPar: .word O,ReadBuffer,80

二* * * Data for Printf-Trap

PrintfPar: .space 4

SaveR2: .space 4

SaveR3:.space 4

SaveR4: .space 4

SaveRS:.space 4

.text

.global InputUnsigned

InputUnsigned:

;***save register contents

sw SaveR2,r2

sw SaveR3,r3

sw SaveR4,r4

sw SaveR5,r5

;***Prompt

swPrintfPar,rl

addi r14,r0,PrintfPar

trap 5

;***call Trap-3 to read line

addi r14,r0,ReadPar

trap 3

;***determine value

addi r2,r0,ReadBuffer

addi r1,r0,0

addi r4,r0,10 ;Decimal system Loop:;***reads digits to end of line lbu r3,0(r2)

seqi r5,r3,10 ;LF一>Exit

bnezrS,Finish

subi r3,r3,48;??

multu rl,rl,r4 ;Shift decimal

add rl,rl,r3

addi r2,r2,1 ;increment pointer

j Loop

Finish:;***restore old register contents 1w r2,SaeeR2

1w r3,Sa}eR3

1w r4,Sa}eR4

1w rS,SaveRS

jr r31;Retur

4.实验结果截图

七.实验二用WinDLX模拟器完成求素数程序

1.实验目的:

通过实验,熟练掌握WINDLX的操作方法,特别注息在单步执行WinDLX程序中,流水线中指令的节拍数

2.实验内容:

(1)用WinDLX模拟器执行求素数程序prim.s.这个程序计算若}干个整数的素数

(2)单步执卞两轮程序,求出素数2和3

(3)在执行程序过程中,注息体验单步执行除法和乘法指令的节拍数,并和主菜单

configuration/floatin g point slages中的各指令执行节拍数进行比较。

3.实验程序

求素数程序prim.s.}

;***********WINDLX Exp.2: Generate prime number table*************

;Program begins at symbol

;generates a table with the

mayn

first 'Count' prime numbers from 'Table'

.data

;***size of table

.global Count

Count: .word 10

.global Table

Table: .space Count*4

.text

.global main

mam:

;***Initialization

addi r1,r0,0 ;Index in Table

addi r2,r0,2 ;Cuwent value

;* * * Determine, if R2 can be divided by a value in table

NextValue: addi r3,r0,0 ;Helpindex in Table

Loop: seq r4,rl,r3 ;End of Table?

bnez r4,IsPrim ;R2 is a prime number

1w rS,Table(R3)

divu r6,r2,r5

multu r7,r6,r5

subu r8,r2,r7

beqzrB,IsNoPrim

addi r3,r3,4

j Loop

IsPrim:;***Write value into Table and increment index

sw Table(rl),r2

addi r1,r1,4

;***'Count' reached?

1w r9,Count

srli r10,r1,2

sge r11,r10,r9

bnez r11,Finish IsNoPrim:;***Check next value addi r2,r2, l ;increment R2 jNextValue

Finish:;***end

trap 0

1.实验口的:

通过本实验,加深对结构相关的理解,了解结构相关对CPU性能的影响。

2.实验内容:

(1)用WinDLX模拟器运行程序structure_ d.s。

(2).通过模拟,找出存在结构相关的指令对以及导致结构相关的部件。

(3).记录由结构相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。

(4)论述结构相关对CPU性能的影响,讨论解决结构相关的方法。

3.实验程序:

程序structure d.s

LHI R2, (A; 16)&OxFFFF

ADDUI R2, R2, A&OxFFFF

LHI R3, (B;16)&OxFFFF

ADDUI R3, R3, B&OxFFFF

ADDU R4, R0, R3

loop:

LD F0, 0(R2)

LD F4, 0(R3)

ADDD F0, F0, F4

ADDD F2, F0, F?;<一A stall is found (an example of how to answer

your questions)

ADDI R2, R2, #8

ADDI R3, R3, #8

SUB R5, R4, R2

BNEZ R5, loop

TRAP #0;;Exit<一this is a comment!!

A: .double 1, 2. 3, 4, 5, 6, 7, 8, 9, 10

B: .double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

1.实验目的:

通过本实验,加深对数据相关的理解,掌握如何使用定向技术来减少数据相关带来的暂停。

2.实验内容:

(1)在不采用定网技术的情况下(通过Configuj0ation菜单中的Enable Forway}ding选

项设置),用WinDLX模拟器运行程序data d.s .

(2)记录数据相关引起的暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。

(3)在采用定向技术的情况下,用WinDLX模拟器再次运行程序data d.s

(4)记录数据相关引起的暂停时钟周明数以及程序执行的总时钟周明数,计算暂停时

钟周期数占总执行周期数的百分比。

(5)根据上面记录的数据,计算采用定向技术后性能提高的倍数。

3.实验程序:

程序data d. s

LHI R2, (A; 16)&OxFFFF

ADDUI R2, R2, A&OxFFFF

LHI R3, (B;16)&OxFFFF

ADDUI R3, R3, B&OxFFFF

loop:

LW R1, 0 (R2)

ADD R1, R1, R3

SW 0(R2), RI

LW R5, 0 (R1)

ADDI R5, R5, #10

ADDI R2, R2, #4

SUB R4, R3, R2

BNEZ R4, loop

TRAP #0

A: .word 0, 4, 8, 12, 16, 20, 24, ?8, 3?, 36

B: .word 9, 8, 7, 6, 5, 4, 3, 2, 1, 0

十.实验六:指令调度

1.实验目的:

通过本实验,加深对指令调度的理解,了解指令调度技术对CPU性能改进的好处。

2.实验内容:

(1)通过Configuration菜单中的“Floating point stages”选项,把除法单元数设置为3,把加法、乘法、除法的延迟设置为3个时钟周期。

(2)用WinDLX模拟器运行调度前的程序scli-before.s。记录程序执行过程中各种相关发生的次数以及程序执行的总时钟周期数。

(3)用WinDLX模拟器运行调度后的程序sch-afters,记录程序执行过程中各种相关发生的次数以及程序执行的总时钟周期数。

(4)根据记录结果,比较调度前和调度后的性能。

(5)论述指令调度对于提高CPU性能的意义。

3.实验程序:

程序sch-before.s

;Example to illustrate instruction scheduling

.data

.global ONE

ONE: .word 1

text

global main

mam:

If f1,ONE ;turn divf into a move

cvti2f f7,fl ;by storing in f7 1 in

nop ;floating-point format

divf fl,f8,f7 ;move Y=(f8) into fl

divf f2,f}3,f7 ;move Z=(f}) into f2

addf f3,f1,f2

divf f10,f3,f7 :move f3 into X=(f10)

divf f4,fl 1,f7 ;move B=(fl l) into f4

divf f5,f12,f7 ;move C=(f12) into f5

multf f6,f4,f5

divf f13,f6,f7 ;move f6 into A=(f13)

Finish:

trap 0

调度后的程序sch-after.s

Example to illustrate instruction scheduling一reordered instructions

.data

.global ONE

ONE: .word 1

.text

.global main

mam:

if f1,ONE ;turn divf into a move

cvti2ff7 ;by storing in f7 1 in

nop ;floating-point format

divf fl,f8,f7 ;move(f8) into f1

divf f2,f9,f7;move Z=(f9) into f2

divf f4,f11,f7 ;move B=(fl 1) into f4

divf f5,f12,f7 ;move C=(f12) into f5

addf f3,f1,f2

multf f6,f4,f5

divf f10,f3,f7 ;move f3 into X=(f10)

divf f13,f6,f7 ;move f6 into A=(f13)

Finish:

trap 0

—.

实验一匕:

多处理机并行计算

‘灾验日的:

通过完成

“:的井行计JI-

了解井行JI一法的原理及执行过程,观察比较斗

行算法与井行算法在时间与效率方而的}T.异,加深对井行计算的理解。

2.实验原理:

:的计JI一可通过积分

、夕办

得到。由微积分知识知此积分可通过求极限

1 im (1/n) =} } [4. 0/ (l. 0+ ( (1/n) * (i-0. 5) ) -) (n} } ) i=1, 2, 3, . . . , n+l得到取小同值则得到的:具有小同的粘度,木程序中n1勺定为200000000

井行程序中协个结点计算for循环中的‘部

串行程序核心如卜

井行程序核心如卜

h== 1.0/(double) n;

h== 1.0/(double) n;

sum== 0.0;

sum== 0.0;

for (i==1;i<==n;i++)

for (i== my_ra n k+1;i<==n; i+=group size;

{x==h*(i-0.5);

计算机体系结构实验报告二

实验二结构相关 一、实验目得: 通过本实验,加深对结构相关得理解,了解结构相关对CPU性能得影响。 二、实验内容: 1、用WinDLX模拟器运行程序structure_d、s 。 2、通过模拟,找出存在结构相关得指令对以及导致结构相关得部件。 3、记录由结构相关引起得暂停时钟周期数,计算暂停时钟周期数占总执行 周期数得百分比。 4、论述结构相关对CPU性能得影响,讨论解决结构相关得方法。 三、实验程序structure_d、s LHI R2, (A>>16)&0xFFFF 数据相关 ADDUI R2, R2, A&0xFFFF LHI R3, (B>>16)&0xFFFF ADDUI R3, R3, B&0xFFFF ADDU R4, R0, R3 loop: LD F0, 0(R2) LD F4, 0(R3) ADDD F0, F0, F4 ;浮点运算,两个周期,结构相关 ADDD F2, F0, F2 ; < A stall is found (an example of how to answer your questions) ADDI R2, R2, #8 ADDI R3, R3, #8 SUB R5, R4, R2 BNEZ R5, loop ;条件跳转 TRAP #0 ;; Exit < this is a ment !! A: 、double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 B: 、double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 四、实验过程 打开软件,load structure_d、s文件,进行单步运行。经过分析,此程序一 次循环中共有五次结构相关。(Rstall 数据相关Stall 结构相关) 1)第一个结构相关:addd f2,,f0,f2 由于前面得数据相关,导致上一条指令addd f0,f0,f4暂停在ID阶段,所以下一条指令addd f2,,f0,f2发生结构相关,导致相关得部件:译码部件。

六年级科学实验报告

滕州市辰龙希望小学 六年级科学上册实验报告 六年级上册第三课《馒头发霉了》 实验名称:探究霉菌的生长所需要的条件 1 选做 实验目的:探究霉菌的生长所需要的条件。 实验材料:每组准备:放大镜、烧杯、吸管、小刀、水、塑料袋、馒 头 实验步骤: 1.将密封好的两袋馒头,一袋放在温度较高的地方,另一袋放在冰箱里,每天按时观察,看霉菌是否已经出现,把霉菌出现的时间和出现的部位记录在自己提前设计好的记录表里。 2.将密封好的两袋馒头,一袋滴上适量的水,使馒头保持湿润,另一袋不滴水,使馒头保持干燥,将两袋馒头放在相同的环境中,每天按时观察,看霉菌是否已经出现,把霉菌出现的时间和出现的部位记录在自己提前设计好的记录表里。 实验结论: 放在温度较高地方的馒头和滴上水的馒头很快长出了霉菌,而放在冰箱里的馒头和不滴水的馒头却经过较长的时间才长出霉菌。 实验分析: 因为霉菌的生活需要适宜的温度和适量的水份,所以放在温度较高地方的馒头和滴上水的馒头很快长出了霉菌。 六年级上册第二课《馒头发霉了》 实验名称:馒头发霉的对比实验 2 选做

实验目的:比较馒头在什么情况下容易发霉 实验器材:四片馒头(或用其他容易发霉的食物)塑料袋 实验步骤: 1选4片馒头(或用其他容易发霉的食物),分别贴上号码。 2.在1、3号上滴水,将2、4号烤干。 3?将4片馒头分别装入袋中。 4?将1 2号放在朝阳的窗台上(或其他温度较高的地方),3、4号放入冰箱里。 5.几天后,观察4片馒头,看一看发生了什么变化,并记录下来。 实验结论: 1号馒头发霉最早,发霉的面积最大。 2号、3号馒头发霉时间和面积居中。 4号馒头发霉时间晚,发霉面积小。 实验分析:馒头在潮湿,高温的情况下最容易发霉。 六年级上册第五课《蜡烛的变化》 实验名称:蜡烛燃烧的变化实验 1 必做 实验目的:点燃蜡烛,将干玻璃片放在火焰上方看是否会产生新物质。 实验类型:演示 实验材料: 每组准备:蜡烛、火柴、干玻璃片、试管夹 实验过程: 1 .点燃蜡烛,观察现象。

计算机系统结构实验报告

计算机系统结构实验报告 一.流水线中的相关 实验目的: 1. 熟练掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点; 2. 加深对计算机流水线基本概念的理解; 3. 进一步了解DLX基本流水线各段的功能以及基本操作; 4. 加深对数据相关、结构相关的理解,了解这两类相关对CPU性能的影响; 5. 了解解决数据相关的方法,掌握如何使用定向技术来减少数据相关带来的暂停。 实验平台: WinDLX模拟器 实验内容和步骤: 1.用WinDLX模拟器执行下列三个程序: 求阶乘程序fact.s 求最大公倍数程序gcm.s 求素数程序prim.s 分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的执行情况,观察 CPU中寄存器和存储器的内容。熟练掌握WinDLX的操作和使用。 2. 用WinDLX运行程序structure_d.s,通过模拟找出存在资源相关的指令对以及导致资源相 关的部件;记录由资源相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的 百分比;论述资源相关对CPU性能的影响,讨论解决资源相关的方法。 3. 在不采用定向技术的情况下(去掉Configuration菜单中Enable Forwarding选项前的勾选符),用WinDLX运行程序data_d.s。记录数据相关引起的暂停时钟周期数以及程序执行的 总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。 在采用定向技术的情况下(勾选Enable Forwarding),用WinDLX再次运行程序data_d.s。重复上述3中的工作,并计算采用定向技术后性能提高的倍数。 1. 求阶乘程序 用WinDLX模拟器执行求阶乘程序fact.s。这个程序说明浮点指令的使用。该程序从标准 输入读入一个整数,求其阶乘,然后将结果输出。 该程序中调用了input.s中的输入子程序,这个子程序用于读入正整数。 实验结果: 在载入fact.s和input.s之后,不设置任何断点运行。 a.不采用重新定向技术,我们得到的结果

数电实验-实验报告-实验六

实验一 TTL与非门的参数测试 一、实验目的 ·掌握用基本逻辑门电路进行组合逻辑电路的设计方法。 ·通过实验,验证设计的正确性。 二、实验原理 1.组合逻辑电路的分析: 所谓组合逻辑电路分析,即通过分析电路,说明电路的逻辑。 通常采用的分析方法是从电路的输入到输出,根据逻辑符号的功能逐级列出逻辑函数表达式,最好得到表示输出与输入之间的关系的逻辑函数式。然后利用卡诺图或公式化简法将得到的函数化简或变换,是逻辑关系简单明了。为了使电路的逻辑功能更加直观,有时还可以把逻辑函数式转化为真值表的形式。 2.逻辑组合电路的设计: 根据给出的实际逻辑问题,求出实现这一逻辑功能的最简单电路,陈伟组合逻辑电路的设计。 3.SSI设计:设计步骤如下: ①逻辑抽象;分析时间的因果关系,确定输入和输出变量。 ②定义逻辑状态的含义:以二值逻辑0、1表示两种状态。 ③列出真值表 ④写出逻辑表达式,并进行化简,根据选定器件进行转换。 ⑤画出逻辑电路的连接图。 ⑥实验仿真,结果验证。 三、实验仪器及器件 数字万用表1台

多功能电路实验箱1台 四、实验内容 1.设计5421BCD 码转换为8421BCD 码(用双输入端与非门实现)。 四位自然二进制码 5421BCD码 B3 B2 B1 B0 D3 D2 D1 D0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 1 1 1 0 0 1 1 1 1 0 1 0 伪码 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 根据5421BCD 码与8421BCD 码真值表可得 2.设A 、B 、C 、D 代表四位二进制变量,函数X=8A-4B+2C+D ,试设计一个组合逻辑电路,判断当函数值介于4

实验六-实验报告

《数据库原理》实验报告 实验六、视图和图表的定义及使用实验 姓名胡艺敏学号38 系别 女 数计学院 班 级 11计科师 范 主讲教师江凤莲指导教师江凤莲实验日期2013 4-27 专 业 计算机 课程名称数据库原理同组实验者 一、实验目的 使学生掌握利用SQL Server企业管理器的视图创建向导和图表创建向导建立视图表和关系图(图表),加深对视图和图表概念的理解,了解视图和图表的作用。 二、实验要求 1)调出创建视图向导,在图书-读者库中按下列T-SQL描述创建读者视图。 CREATE VIEW 读者_VIEW AS SELECT 图书.*,借阅.* FROM 图书,借阅,读者 WHERE 图书.书号=借阅.书号AND借阅.读者编号=读者.编号; 2)调出向导,按T-SQL描述创建借阅_计算机图书视图。 CREATE VIEW 借阅_计算机图书 AS SELECT 图书.*,借阅.* FROM 图书,借阅 WHERE 图书.书号=借阅.书号AND图书.类别=‘计算机’ 3)调出创建图表向导,完成在图书_读者数据库中建立图书_借阅图表的操作。要求该图表包括图书和借阅两个表,通过“图书.书号=借阅.书号”外码与被参照表之间的关联。 4)查看以上视图和图表的属性,并修改到正确为止。 三、实验类型:验证、设计、综合 四、实验环境

Microsoft SQL Server 2000 五、实验内容: (1)实验代码(可加附页): (1)基本操作实验 1)查看图书-读者库结构信息,根据给定的T-SQL语句确定视图结构信息,如表10所示。 表10 视图结构信息 序号视图名 数据库 名 相关表名列定义元组定义 1 读者_VIEW 图书-读 者 图书,借阅, 读者 图书.*, 借阅.* 图书.书号=借阅.书号 AND 借阅.读者编号=读者. 编号 2 借阅_计算 机图书 图书-读 者 图书,借阅 图书.*, 借阅.* 图书.书号=借阅.书号 AND图书.类别='计算机' 2)查看图书-读者库结构信息,根据题目要求确定图表结构信息,如表11所示。 表11 图表结构信息 图表名数据库名主表名参照表 名 关联定义 读者_VIEW 图书-读 者 借阅图书图书.书号=借阅.书号 (2)实验结果(可加附页):

计算机体系结构实验报告二

实验二结构相关 一、实验目的: 通过本实验,加深对结构相关的理解,了解结构相关对CPU性能的影响。 二、实验内容: 1. 用WinDLX模拟器运行程序structure_d.s 。 2. 通过模拟,找出存在结构相关的指令对以及导致结构相关的部件。 3. 记录由结构相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行 周期数的百分比。 4. 论述结构相关对CPU性能的影响,讨论解决结构相关的方法。 三、实验程序structure_d.s LHI R2, (A>>16)&0xFFFF 数据相关 ADDUI R2, R2, A&0xFFFF LHI R3, (B>>16)&0xFFFF ADDUI R3, R3, B&0xFFFF ADDU R4, R0, R3 loop: LD F0, 0(R2) LD F4, 0(R3) ADDD F0, F0, F4 ;浮点运算,两个周期,结构相关 ADDD F2, F0, F2 ; <- A stall is found (an example of how to answer your questions) ADDI R2, R2, #8 ADDI R3, R3, #8 SUB R5, R4, R2 BNEZ R5, loop ;条件跳转 TRAP #0 ;; Exit <- this is a comment !! A: .double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 B: .double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

四、实验过程 打开软件,load structure_d.s文件,进行单步运行。经过分析,此程序一 次循环中共有五次结构相关。(R-stall 数据相关Stall- 结构相关) 1)第一个结构相关:addd f2,,f0,f2 由于前面的数据相关,导致上一条指令addd f0,f0,f4暂停在ID阶段,所以下一条指令addd f2,,f0,f2发生结构相关,导致相关的部件:译码部件。 2)第二个结构相关:ADDI R2, R2, #8,与第一个结构相关类似。由于数据相关, 上一条指令暂停在ID阶段,所以导致下一条指令发生结构相关。

体系结构windlx流水线实验报告

实验一基本实验 ----by 王琳 PB07210432 1. 实验目的: 1)熟悉计算机流水线基本概念 2)了解DLX基本流水线的各段的功能 3)了解各种不同指令在流水线中的实际流动情况 4)对流水线做性能分析 5)了解影响流水线效率的因素——数据相关、结构相关、控制相关,了解相关的种类 6)了解解决数据相关的方法 2. 实验平台:WinDLX仿真器 WinDLX简介: 是一个图形化、交互式的DLX流水线仿真器。 可以装入DLX汇编语言程序,然后单步,设断点或是连续执行该程序. CPU的寄存器,流水线,I/O和存储器都可以用图形表示出来 提供了对流水线操作的统计功能. 可以装载文件名为*.s的文件. 要求的硬件平台是IBM-PC兼容机. WinDLX是一个Windows应用程序,运行以上和以上的操作系统. WinDLX软件包中带有说明文件及教程,可以供使用者进一步了解仿真器的使用方法和DLX处理器的原理.大家再进行实验前应该仔细阅读这些文档. 3. 实验内容: 1)在仿真器上分别运行单条指令:Load指令、Store指令、分支指令、寄存器ALU指令、立即数ALU指令,记录它们在流水线中的执行情况 Lw:

观察此流水线时空图,可以发现:转移指令引起的延迟仅为1 clocks,另2 stalls 是trap指令引起的,这个执行结果似与不采用forwarding技术的前提相违,只能理解为对于无条件的转移指令,新的PC值在EX阶段即已被写入。 Sw: Beqz: 由此图可见,对于分支指令,总是用 not-taken的策略来处理,并且也认为新 的PC值也在EX阶段即已被写入,且cond 条件也在EX段被算出(这显然是一个极不合理的假设,究竟为何分支指令的延迟为1 stall有待进一步探究) 寄存器ALU指令

六年级科学下册实验报告单

实验报告单

实验通知单 课题 第一单元微小世界 1.放大镜 实验名称 放大镜的构造、作用、用途 实验班级 六年级 实验类别 B 实验组数 10 实验时间 任课教师 实验 准备 分组实验器材:放大镜(最好每个学生都能有一个放大镜,如果只能提供给学生一种放大镜,尽量放大倍数大一点)科学书或报纸上的照片、计算机或电视机屏幕。柱形、球形的透明器皿、塑料薄膜、铁丝、普通玻璃片、平面镜片、水。 教师演示:不同放大倍数的放大镜、图片或课件(如放大镜镜片的结构等)。 规范操作要点 1.正确用放大镜观察物体。 2.比较用肉眼观察和用放大镜观察的不同。 备注 放大镜的作用——放大物体的像(可能学生会说“把物体放大”,提醒学生物体并未变大) 放大镜的用途——我们用放大镜观察校园里的生物、实验中在老师指导下观察花、昆虫等。它是视力不佳者的助视器,还适用于电子产品检验、线路板检验、集邮者欣赏鉴定邮票、

珠宝商鉴定珠宝、公安人员用它观察指纹毛发纤维等、农技人员用它观察花蕊进行人工授粉等、制作微型工艺品的工匠工作时使用… 实验通知单 课题 2.放大镜下的昆虫世界 实验名称 实验班级 六年级 实验类别 B 实验组数 10 实验时间 任课教师 实验 准备 分组实验器材:昆虫或昆虫器官标本、放大镜 教师演示器材:有关昆虫形态构造和生活习性的多媒体课件或图片资料 规范操作要点 提供给学生各种昆虫的标本或昆虫肢体的标本。(因这个寒假的冻灾,估计开学时不会有太多的昆虫,可以利用仪器室原有的标本和蚊蝇蟑螂等常见昆虫及其肢体为观察对象。估计肉眼观察学生的兴趣不会太浓,而且因观察对象小,肉眼的发现可能不会很多。可能的

六年级实验报告单

实验报告单(一) 实验时间年月日 实验名称制作化石模型六年级()班第()组指导教师 实验目的:了解化石也是怎样形成的。 实验器材:有关工具、黏土、贝壳、骨头或树叶。 实验步骤: 1、将黏土擀平。 2、将贝壳、骨头或树叶放在心上黏土上,用手把它压进去,留下印迹后取出。 3、把印有印迹的黏土模型晾干。 实验结论: 化石是地层岩石中保存的几百万年以前生物的残骸或遗迹。 实验报告单(二) 实验名称仙人掌耐旱原因实验 实验时间班级小组 实验目的: 1、通过实验使学生知道生物是不断进化的 2、通过实验使学生知道生物的形态是其适应所处生活环境的结果 3、使学生意识到人类活动会对生物产生影响,体验到人与自然和谐相处的重要性 实验器材: 三张纸巾、一张蜡纸、一杯水、一块儿塑料布 实验步骤: 1、把三张纸巾充分浸湿,一张平铺,一张卷起来,一张用蜡纸包起来,都放在塑料布上放在窗台前 2、一小时后检查三张纸巾的干湿程度 实验结论:实验结果是,平铺的最干,蜡纸包的最湿,结论是,仙人掌上的蜡质层既减少了水分的蒸发,又能很好的储存水分 实验报告单(三) 实验时间年月日 实验名称:制作“火箭”及其“发射器” 六年级()班第()组指导教师 实验目的 探究能量的大小与物体运动的关系。 实验器材吸管、剪刀、胶带、记号笔、橡皮筋若干、米尺、纸筒 实验步骤 1.制作吸管火箭 按书中步骤与要求,制作一个吸管火箭模型。注意不要剪到手,不要乱扔剩余的吸管。 2.制作发射器 (1)、按书中步骤与要求制作一个简易的发射器。 (2)、将吸管火箭模型放到发射器上,在吸管下端标记0刻度,然后往下拉吸管火箭,用记号笔在吸管上以厘米为单位依次标上刻度。

体系结构windlx流水线实验报告

实验一基本实验----by 王琳PB07210432 1. 实验目的: 1)熟悉计算机流水线基本概念 2)了解DLX基本流水线的各段的功能 3)了解各种不同指令在流水线中的实际流动情况 4)对流水线做性能分析 5)了解影响流水线效率的因素——数据相关、结构相关、控制相关,了解相关的种类 6)了解解决数据相关的方法 2. 实验平台:WinDLX仿真器 WinDLX简介: ●是一个图形化、交互式的DLX流水线仿真器。 ●可以装入DLX汇编语言程序,然后单步,设断点或是连续执行该程序. ●CPU的寄存器,流水线,I/O和存储器都可以用图形表示出来 ●提供了对流水线操作的统计功能. ●可以装载文件名为*.s的文件. ●要求的硬件平台是IBM-PC兼容机. ●WinDLX是一个Windows应用程序,运行DOS3.3以上和Windows3.0以上的操作系统. ●WinDLX软件包中带有说明文件及教程,可以供使用者进一步了解仿真器的使用方法和 DLX处理器的原理.大家再进行实验前应该仔细阅读这些文档. 3. 实验内容: 1)在仿真器上分别运行单条指令:Load指令、Store指令、分支指令、寄存器ALU指令、立即数ALU指令,记录它们在流水线中的执行情况 ●Lw: 观察此流水线时空图,可以发现:转移指令引起的延迟仅为1 clocks,另2 stalls 是trap指令引起的,这个执行结果似与不采用forwarding技术的前提相违,只能理解为对于无条件的转移指令,新的PC值在EX阶段即已被写入。 ●Sw:

●Beqz: 由此图可见,对于分支指令,总是用 not-taken的策略来处理,并且也认为新的 PC值也在EX阶段即已被写入,且cond 条件也在EX段被算出(这显然是一个极 不合理的假设,究竟为何分支指令的延迟 为1 stall有待进一步探究) ●寄存器ALU指令 ●立即数ALU指令 2)仿真器运行一段无相关的程序,记录它的执行情况,计算流水线的加速比、吞吐率与效率。下面是一段不相关的程序,一共6条指令 ADDI R5, R5, 1 SUBI R4, R4, 1 AND R3, R3, R3 XOR R7, R7, R7 ADDI R8, R8, 1 ADDI R9, R9, 1 在WinDLX中执行的结果如下:

实验六 一维数组实验报告

*** 软件类实验报告 课程名称:C语言程序设计学号: 姓名: 班级: 指导教师: 开课学期: 学院: ***教务处

⑷一维数组排序。 四、实验过程及内容:(运行结果请抓图到对应题目的下方) 1. 先分析以下程序,写出运行结果,再上机检验。 2.程序填空题。下面程序的功能是9个评委给某个参赛选手打分,去掉一个最高分和一个最低分,求该参赛选手的平均分。填空完成程序。

实验结果: 3. 程序填空题。有数列1,1,2,4,7,13,24…,该数列的规律是从第4项起,每项是它的前三项之和。下列程序的功能是将该数列的前30项存放在一维数组中,输出时每行输出5个数。填空完成程序。 实验结果: 4. 程序改错题。下面程序的功能是将数组中的数按从大到小排序后输出。改正程序中的错误。 实验结果: 5. 程序改错题。某公司从用公用电话传递数据,数据是四位的整数,在传递过程中需要加密,加密规则为每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。改正程序中的错误。

实验结果: 6. 小楚参加了一个研究生考试培训班,共30次课,由于路途较远,每次都是打车去上课,来回的车费分别存储在数组a和b中,其中-1表示未去上课。 编程计算小楚参加培训班共打车花费多少钱?(要求保留1位小数,用循环实现) 输出结果的形式为: s=1234.5 a数组和b数组定义如下: double a[30]={31.0,32.0,30.3,32.8,30.5,30.6,31.0,32.8,-1,31.8,31.9,31.5,32.3,32.3,31.8,32.5 ,31.5,30.3,30.4,32.5,30.2,30.2,30.7,32.1,32.1,31.4,31.9,31.9,-1,30.5}; double b[30]={30.2,30.2,30.3,31.6,32.7,31.5,30.4,32.4,-1,31.0,31.8,32.1,31.6,31.4,32.4,32.1 , 32.5,32.3,32.5,31.4,31.2,30.3,32.3,30.7,31.3,30.2,31.1,30.5,-1,31.9}; 五、实验小结

体系结构实验报告

北京邮电大学 实验报告 课程名称:高级计算机系统结构 学号:2015140454姓名:罗一皓

实验二指令流水线相关性分析 一.实验类别: 验证试验 二.实验目的: 通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。 三.实验学时: 4 四.实验人数: 1 五.实验设备环境: WinDLX模拟器可以装入DLX汇编语言程序,然后单步、设置断点或者连续执行该程序。CPU的寄存器、流水线、I/O和存储器都可以使用图形的方式表示出来。模拟器还提供了对流水线操作的统计功能。该模拟器对理解流水线和RISC处理器的特点很有帮助。 六.实验原理: 指令流水线中主要有结构相关、数据相关、控制相关。相关影响流水线性能。 结构相关:当指令在重叠执行过程中,硬件资源满足不了指令重叠执行的要求,发生资源冲突时,将产生“结构相关”。 数据相关:当一条指令需要用到前面指令的执行结果,而这些指令均在流水线中重叠执行时,就可能引起“数据相关”。 控制相关:由条件指令引起的相关。 七.实验内容和要求: 使用WinDLX模拟器,对求阶乘程序Fact.s做分析 八.实验步骤: (1)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。 数据相关: 在第24个周期时,在Clock Cycle Diagram 中有橙黄色的R-Stall,

点开之后,我们发现有 相关指令组合: lbu r3,0x0(r2) seqi r5,r3,0xa 控制相关: 在第4个时钟周期中,第一条命令正在MEM段,在第二条命令在intEXcellent 段,第四条命令在IF段。而第三条命令指示为“aborted”。 其原因是:在第二条命令(jal)是无条件分支指令,但只有在第三个时钟周期,jal指令被译码后才知道,这时,下一条命令movi2fp已经取出,但须执行的下一条命令在另一个地址处,因而,movi2fp的执行应被取消,在流水线中留下气泡。此处发生了控制相关。 相关的指令组合:

小学科学六年级下册实验报告

小学科学六年级下册实验报告 小学科学六年级下册实验报告 作者: 项蔺川 放大镜下的新发现 实验名称: 放大镜下的新发现 实验器材、药品: 放大镜、水、小字体的书、昆虫各种小晶体(盐、糖等) 实验方法和步骤: 1、认识放镜的构造,了解放大镜的应用。 2、用放大镜看书、报纸等(自己的发现) 3、了解其它有方大功能的物体,水滴放大镜。 4、用放大镜观察昆虫,了解放大镜下的昆虫世界。 5、用方、放大镜观察晶体。(盐、 白糖) 实验结论: 在放大镜下看到的物体比实际的大得多。实验评价: 日期: 年月日 年级:六年级 实验者

奇特的身体构造 实验名称:奇特的身体构造 实验器材: 放大镜2 只、 蝇子蟋蟀蝴蝶等动物的标本1 套 步骤: 1、观察昆虫的触角: 发现触角不是一根直的, 而是一节一节的; 2、苍蝇的眼: 发现不是一个, 网格状的分布着几千个小眼; 3、蝴蝶的鳞片: 彩色的鳞片其实是扁平的细毛; 4、蟋蟀的外壳: 光滑的外壳上, 还有许多“小刺”; 5、苍蝇的脚: 脚的底端有“吸盘” ,所以可以在天花板上倒立 结论: 我认为观察的小昆虫和肉眼大不相同,借助放大镜,可以观察到小动物的细微之处

美丽的晶体 实验名称: 美丽的晶体 实验器材:药品: 食盐、白糖、碱面、味精、放大镜、实验方法和步骤 1、用肉眼观察食盐、 白糖、碱面、味精。 2、再用放大镜观察食盐、 白糖、碱面、味精。实验结论: 晶体的形状多种多样,但它们都很有规则。 实验评价:

日期: 年月日 制作晶体 实验名称:制作晶体 实验器材: 放大镜2 只、 食盐20 克、白糖20 克、碱面20 克、味精20 克、滴管4 支、玻璃片 4 片、100ml 烧杯 4 只我的猜测: 小颗粒的晶体形状和大颗粒的形状应该是相同的 步骤: 1、将四只烧杯中分别放入

实验六 实验报告

云南大学软件学院 实验报告 课程:数据库原理与实用技术实验任课教师:包崇明 姓名:匿名学号:2013…….专业:软件工程成绩: 实验6 数据库完整性 实验6-1 完整性约束 1、在学生表上面创建下列CHECK约束 【注】:因为学生表已经存在,所以这里使用添加check约束的方法实现: (1)创建入学日期约束“Enter_University_date_rule”,假定该学校于1923年4月30日创建。要求:入学日期必须大于等于学校创建日期,并且小于等于当前日期 测试语句: 结果(添加的check约束起作用了),如图: (2)创建学生年龄约束“Age_rule”。要求:学生年龄必须在15~30岁之间 测试语句 结果(添加”Age_rule”成功,并且年龄为’2015/4/27’没有违反”Enter_University_date_rule” 约束,进一步说明了(1)中的check约束添加成功,如图:

【注】:考虑到时间关系,下面的部分解答中将会省略测试约束的步骤。 (3)创建学生性别约束“Sex_rule”。要求:性别只能为“男”或“女” (4)创建学生成绩约束“Score_rule”。要求:学生成绩只能在0~100之间 (5)用图形方法查看学生成绩约束“Score_rule”,截图为: 2、删除约束Enter_University_date_rule 测试语句: 结果:(更新成功)

3、创建声明式默认约束:在创建表的过程中创建默认约束 (1)创建表“default_example”,表中包含字段pid、name、sex、age。要求设定sex的默认值为“男”、age的默认值为18。 创建default_example表语句: 采用SQL语句进行插入元祖: 执行结果为:(默认值起作用了!!) (2)插入一条编号为100 的记录,执行结果为: (3)修改默认值 一般先删除老的默认约束,再新建一个默认约束方法如下: 删除约束:alter TABLE default_example drop 约束名 新建默认约束:alter TABLE default_example add constraint df_age default(20) for age ①删除老的默认约束:

实验六的实验报告

实验六、地形分析-----TIN及DEM的生成及应用(综合实验) 一、实验目的 DEM是对地形地貌的一种离散的数字表达,是对地面特性进行空间描述的一种数字方法、途径,它的应用可遍及整个地学领域。通过对本次实习的学习,我们应: a)加深对TIN建立过程的原理、方法的认识; b)熟练掌握ArcGIS中建立DEM、TIN的技术方法。 c)掌握根据DEM或TIN 计算坡度、坡向的方法。 d)结合实际,掌握应用DEM解决地学空间分析问题的能力。 二、实验准备 软件准备:ArcGIS Desktop 9.x ---ArcMap(3D分析模块) 实验数据:矢量图层:高程点Elevpt_Clip.shp,高程Elev_Clip.shp,边界Boundary.shp,洱海Erhai.shp (ex7.rar) 三、实验内容及步骤 1. TIN 及DEM 生成 1.1由高程点、等高线矢量数据生成TIN转为DEM 在ArcMap中新建一个地图文档 (1)添加矢量数据:Elevpt_Clip、Elev_Clip、Boundary、Erhai(同时选中:在点击的同时按 住Shift) (2)激活“3D Analyst”扩展模块(执行菜单命令[工具]>>[扩展],在出现的对话框中选中 3D分析模块),在工具栏空白区域点右键打开[3D分析] 工具栏 (3)执行工具栏[3D分析]中的菜单命令[3D分析]>>[创建/修改TIN]>>[从要素生成TIN]; (4)在对话框[从要素生成TIN中]中定义每个图层的数据使用方式; 在[从要素生成TIN中]对话框中,在需要参与构造TIN的图层名称前的检查框上打上勾,指定每个图层中的一个字段作为高度源(Height Source),设定三角网特征输入(Input as)方式。可以选定某一个值的字段作为属性信息(可以为None)。在这里指定图层[Erhai] 的参数:[三角网作为:]指定为[硬替换] ,其它图层参数使用默认值即可。

C语言实验六实验报告.doc

高级语言程序设计上机实验报告 一、实验目的 1.理解递归问题基本思想 2.学会编写递归程序,理解递归何时结束。 3、清楚明白结束条件无法满足的递归程序将导致无穷递归的情况发生。 二实验题目 1.计算游戏人员的年龄 有5个人围坐在一起,问第5个人多大了年纪,他说比第4个人大2岁:问第4个人多大年纪。他说比第3个人大2岁;问第3个人多大年纪,他说比第2个人大2岁;问第2个人多大年纪,他说比第1个人大2岁。第1个人说自己10岁,问第5个人多大年纪。 (1)程序源代码: #include unsigned int ComputeAge(unsigned int n); void main () { unsigned int n =5; printf("The 5th person's age is %d\n",ComputeAge(n)); } unsigned int ComputeAge(unsigned int n) { unsigned int age; if (n==1) { age =10; } else { age =ComputeAge(n-1)+2; } return age; }

(2)运行结果 2.计算最大公约数 利用计算最大公约数的三条性质,用递归方法计算两个整数的最大公约数。 性质1 如果x>y, 则x和y的最大公约数与x-y和y的最大公约数相同,即 gcd(x,y)=gcd(x-y,y)(x>y) 性质2 如果y>x,则x和y的最大公约数与x和y-x的最大公约数相同,即 gcd(x,y)=gcd(x,y-x)(x int MaxCommonFactor(int a, int b); void main() { int x,y,z; printf("Please int x, y:"); scanf("%d, %d", &x, &y); z=MaxCommonFactor(x, y); printf("The max common factor = %d\n", z); } int MaxCommonFactor(int a, int b) { if (a<=0 ||b <=0) return -1; if (a == b) { return a; } else if (a>b) { return MaxCommonFactor(a-b, b); } else { return MaxCommonFactor(a, b-a);

实验六视图的定义及使用实验实验报告

实验六视图的定义及使用实验实验报告实验任务 (一)建立视图(运行并观察结果) 1.建立信息系学生的视图IS_student。 CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept='IS' 2.建立信息系选修了1号课程的学生的视图IS_S1。CREATE VIEW IS_S1(Sno,Sname,Grade) AS SELECT,Sname,Grade FROM Student,SC WHERE Sdept='IS'AND =AND ='1';

3.建立信息系选修了1号课程且成绩在90分以上的学生的视图IS_S2。CREATE VIEW IS_S2 AS SELECT Sno,Sname,Grade FROM IS_S1 WHERE Grade>=90 4.建立一个反映学生出生年份的视图BT_S。 CREATE VIEW BT_S(Sno,Sname,Sbirth) AS SELECT Sno,Sname,2004-Sage FROM Student

5.将学生的学号及他的平均成绩定义为一个视图S_G。CREATE VIEW S_G(Sno,Gavg) AS SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno 6.将课程的课号及选修人数定义为一个视图C_XIU。CREATE VIEW C_XIU(Cno,Scount)

AS SELECT Cno,COUNT(*) FROM SC GROUP BY Cno (二)查询视图(运行并观察结果) 1.在信息系学生的视图中找出年龄小于20岁的学生。SELECT Sno,Sage FROM IS_Student WHERE Sage<20 2.查询信息系选修了1号课程的学生。 SELECT,Sname FROM IS_Student,SC WHERE=AND ='1'

计算机系统结构实验报告

计算机系统结构实验报告姓名 学号 指导老师 实验一、流水线中的相关 一、实验目的 1. 掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点; 2. 加深对计算机流水线基本概念的理解; 3. 进一步了解DLX基本流水线各段的功能以及基本操作; 4. 加深对数据相关、结构相关的理解,了解这两类相关对CPU性能的影响; 5. 了解解决数据相关的方法,掌握如何使用定向技术来减少数据相关带来的暂停。 二、实验平台 WinDLX模拟器。 三、实验内容、步骤及实验结果 1.用WinDLX模拟器执行下列三个程序: 1>求阶乘程序fact.s 2>求最大公倍数程序gcm.s 3>求素数程序prim.s 分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的执行情况,观察CPU中寄存器和存储器的内容。熟练掌握WinDLX的操作和使用。 结果总结: 三种方式: 步进的方式是按快捷键F7或者选择菜单栏Execute中的Single Cycle; 连续的方式是按快捷键F5或者选择Execute中的Run; 设置断点是通过选择window菜单栏中的code,然后在菜单栏中多出一项code项,选中你想要插入的指令,在多出来的code项中找到set breakpoint,即可插入断点,然后按F5执行即可。 1.用WinDLX运行fact.s Pipeline图 指出了每个功能段所进行的具体指令,点击指令还可以看到指令的具体相关的其他方面的内

容。 时空图 更加直观的形式显示出了在某个时间周期某个功能段所执行的具体的指令。 Register图 指出了各个寄存器和存储器的值. Statistics图 指出了指令的相关分析数据,例如,执行了53个cycles,2条指令在流水线中等相关的总结信息。 2. 用WinDLX运行程序structure_d.s,通过模拟找出存在资源相关的指令对以及导致资源相关的部件;记录由资源相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的百分比;论述资源相关对CPU性能的影响,讨论解决资源相关的方法。 资源相关的指令: addd f0,f0,f4 addd f2,f0,f2(发生先写后读的数据相关导致消除了资源相关) 由图可知是因为只有一个faddEX的运算部件,而它需要两个时钟周期,当第一条addd指令执行EX段时,第二条指令势必要等一个周期等faddEX部件空闲了才能够使用。但是,同时由于这两条指令存在先写后读数据相关,暂停一个周期之后没有了资源相 关. 单条指令的详细资源冲突图 因为Statistics图中的分析数据没有看见structural stall,但是根据图知道这个存在addd f2,f0,f2时的资源冲突,大概循环了6次,总共时钟周期是142个,所以资源相关引起的暂停的时钟周期的个数是6个,暂停时钟周期数占总执行周期数的百分比为6/142= 4.3% Statistics数据分析图

六年级实验报告单

放大镜下的晶体实验报告 实验器材:白糖、食盐、碱面、味精、玻璃片、放大镜 实验步骤: 1、用放大镜观察白糖,把看到的内容记录下来。 2、用放大镜观察碱面、味精,并把看到的内容记录下来。 2、制作一些较浓的溶液,滴在玻璃片上,待水分自然蒸发后,用放大镜观 察它们留下的痕迹,看看又是什么样的。 实验结果:晶体的形状多种多样,但的形状都很规则。 米饭、淀粉和碘酒的变化 实验器材:米饭、淀粉、碘酒、滴管、盘子、 1、分别取米饭、淀粉各小盘。 2用滴管吸上碘酒,分别滴在米饭和淀粉上,观察发生的现象。实验结论:淀粉遇到碘酒会变蓝。

观察硫酸铜溶液与铁钉的反应 实验器材:硫酸铜溶液、铁钉、杯子、镊子等 1、配制一杯硫酸铜溶液。 2、用镊子夹住一根铁钉。 2、把铁钉的一端伸进硫酸铜溶液中观察发生的现象。 实验结论:铁钉的表面生成了红色的物质(铜)。 分组6上 不同坡度斜面的作用实验 实验器材: 1块小木板、4个不同高度的物品、1盒钩码、1个测力计 1、用测力计直接提升物体的力与沿斜面提升物体的力进行对比 2、改变斜面的不同坡度继续进行试验,做好记录为结果的分析提供依据。 实验结论:斜面能够省力,而且斜面坡度越小越省力。

观察铁锈 实验器材: 铁片、生锈的铁片、小锤、电流检测器、 实验步骤: 1、找一片铁片和一片已生锈的铁片观察。 2、用小锤敲打铁片和锈铁片,观察发生的现象。 3、用电流检测器测一下铁片和锈铁片的导电性。 实验结论: 生锈的铁失去了金属光泽,导电性差,敲打会掉锈。 实验名称: 月相变化 实验器材:用于贴月相的挂图、月相成因示意图、月相变化的课件、皮球、电灯(瓦数大的) 实验步骤: 1、在教室里准备一盏瓦数大的电灯,用这盏灯当作太阳,学生自己当作地球,用皮球当作月球;把“月球”举在空中,使“阳光”照到“月球”上,观察此时月球的明亮部分是什么形状; 2、然后使“月球”围绕“地球”公转一周,观察月球的明亮部分有什么变化? 实验结论:(地球)围绕(太阳)公转

C 上机实验报告 实验六

实验六多态性 1.实验目的 1.掌握运算符重载的方法 2.学习使用虚函数实现动态多态性 2.实验要求 1.定义Point类,有坐标_x,_y两个成员变量;对Point类重载“++”(自增)、“――”(自减)运算符,实现对坐标值的改变。 2.定义一个车(vehiele)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。观察虚函数的作用。 3.(选做)对实验4中的People类重载“==”运算符和“=”运算符,“==”运算符判断两个people类对象的id属性是否相等;“=”运算符实现People类对象的赋值操作。 3.实验内容及实验步骤 1.编写程序定义Point类,在类中定义整型的私有成员变量_x_y,定义成员函数Point&operator++();Pointoperator++(int);以实现对Point类重载“++”(自增)运算符,定义成员函数Point &operator--();Pointoperator--(int);以实现对Point 类重载“--”(自减)运算符,实现对坐标值的改变。程序名:1ab8_1.cpp。

2.编写程序定义一个车(vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。在main()函数中定义vehicle、bicycle、motorcar、motorcycle的对象,调用其Run()、Stop()函数,观察其执行情况。再分别用vehicle类型的指针来调用这几个对象的成员函数,看看能否成功;把Run、Stop定义为虚函数,再试试看。程序名:lab8_2.cpp。 4.思考题 1.如何将一个运算符重载为类的成员函数? 函数类型operator运算符(形参表) { 函数体; } 2.如何将一个运算符重载为类的友元函数? friend函数类型operator运算符(形参表) { 函数体; } 3.如何实现运行时刻的多态? 在基类的成员函数前加上virtual,就可以在它的派生类中声明相同名字和类型的成员函数,在运行过程中,系统会自动判断并

相关文档
最新文档