文档视界 最新最全的文档下载
当前位置:文档视界 › 计算机系统结构试验一

计算机系统结构试验一

计算机系统结构试验一
计算机系统结构试验一

计算机系统结构课程

实验指导书

2014 ——2015 学年

第 1 学期

学生班级:

学生学号:

学生姓名:

指导教师:

教研室:计算机系统结构教研室实验:存贮层次模拟器1

学时:4学时

实验类型:(综合/设计):设计

一、实验目的与要求

使学生清楚认识虚拟存贮层次结构,熟练掌握常用的几种存储地址映像与变换方法,以及FIFO、LRU等替换算法的工作全过程。

要求用程序实现任意地址流在存储层次上的命中情况,实验结束后提交源程序和实验说明书。

二、实验内容

在模拟器上实现在任意地址流下求出在 Cache—主存两层存贮层次上的命中率。

三、实验步骤

1.Cache—主存:映像方式要实现全相联、直接映象、组相联方式三种方式,并选择每一种映像方式下输出结果;替换算法一般使用LRU算法。

2.要求主存容量、Cache大小、块大小以及组数等可以输入修改。

3.求出命中率;显示替换的全过程;任选一种高级语言来做。

4.要设计简洁、易于操作的界面。

四、实验代码:

private void button1_Click(object sender, EventArgs e)//全相联

{ if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "" || textBox5.Text == "")

MessageBox.Show("请输入数据!");

else

{ string state = "";

string str = textBox5.Text;

int row = str.Length;

int mzcs = 0, index = 0;

float mzl = 0.0f;

int column = Convert.ToInt32(textBox2.Text);

int i = 0, j = 0, t = 0;

int[] iResult;

iResult = new int[column];

int[] imax;

imax = new int[column];

for (i = 0; i < column; i++)

imax[i] = 0;

if (comboBox1.Text == "装入")

{ int iSeed = Convert.ToInt32(textBox1.Text);

Random ro = new Random(iSeed);

long tick = DateTime.Now.Ticks;

int iUp = iSeed;

int iDown = 0;

for (i = 0; i < column; t = 0, i++)

{ for (; t == 0; )

{ t = 1;

iResult[i] = ro.Next(iDown, iUp);

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

if (iResult[i] == iResult[i - j])

{

t = 0;

break;

} } }

for (i = 0; i < column; i++)

dataGridView1.Columns.Add("first", "第" + i.ToString() + "块Cache"); dataGridView1.Columns.Add("first", "状态");

index = this.dataGridView1.Rows.Add();

for (i = 0; i < column; i++)

{ this.dataGridView1.Rows[index].Cells[i].Value = iResult[i].ToString(); }

this.dataGridView1.Rows[index].Cells[column].Value = "Cache初态 ";

for (j = 0; j < row; j++)

{ index = this.dataGridView1.Rows.Add();

for (int k = 0; k < column; k++)

imax[k]++;

for (i = 0; i < column; i++)

{ if (iResult[i] == (Convert.ToInt32(str[j]) - 48)) {

mzcs++;

imax[i] = 0;

state = "命中";

break;

} }

if (i >= column)

{ int k = 0;

for ( k = 0; k < column; k++)

{ if (iResult[k] == -1)

{

iResult[k] = Convert.ToInt32(str[j]) - 48;

state = "装入";

break;

}

if(k>=column)

{ iUp = imax[0];

iDown = 0;

for (t = 1; t < column; t++)

if (iUp < imax[t])

{

iUp = imax[t];

iDown = t;

}

iResult[iDown] = Convert.ToInt32(str[j]) - 48;

state="命中 ";

imax[iDown] = 0;

} }

for (i = 0; i < column; i++)

this.dataGridView1.Rows[index].Cells[i].Value = iResult[i].ToString();

}

this.dataGridView1.Rows[index].Cells[column].Value = state;

}

mzl = 1000000 * mzcs / row;

textBox6.Text = "0." + Convert.ToString(mzl);

}

else

{

for (i = 0; i < column; i++)

iResult[i] = -1;

int iUp = 0, iDown = 0;

for (i = 0; i < column; i++)

dataGridView1.Columns.Add("first", "第" + i.ToString() + "块Cache"); dataGridView1.Columns.Add("first", "状态");

if (row <= column)

{ iResult = new int[row];

for (i = 0; i < row; i++)

{ iResult[i] = Convert.ToInt32(str[i]) - 48;

}

for (i = 0; i < row; i++)

{ index = this.dataGridView1.Rows.Add();

for (j = 0; j <= i; j++)

{

this.dataGridView1.Rows[index].Cells[j].Value =

iResult[j].ToString();

}

this.dataGridView1.Rows[index].Cells[column].Value = "装入";

mzl = 1000000 * mzcs / row;

textBox6.Text = "0." + Convert.ToString(mzl);

}

else

{ for (j = 0; j < row; j++)

{

index = this.dataGridView1.Rows.Add();

for (int k = 0; k < column; k++)

imax[k]++;

for (i = 0; i < column; i++)

{

if (iResult[i] == (Convert.ToInt32(str[j]) - 48)) {

mzcs++;

imax[i] = 0;

state = "命中";

break;

} }

if (i >= column)

{ int k = 0;

for (k = 0; k < column; k++)

{

if (iResult[k] == -1)

{

iResult[k] = Convert.ToInt32(str[j]) - 48; state = "装入";

break;

} }

if (k >= column)

{ iUp = imax[0]; iDown = 0;

for (t = 1; t < column; t++)

if (iUp < imax[t])

{

iUp = imax[t];

iDown = t;

}

iResult[iDown] = Convert.ToInt32(str[j]) - 48; state = "命中";

imax[iDown] = 0;

} }

for (i = 0; i < column; i++)

iResult[i].ToString();

}

this.dataGridView1.Rows[index].Cells[column].Value = state;

}

mzl = 1000000 * mzcs / row;

textBox6.Text = "0." + Convert.ToString(mzl);

} } }}

private void button2_Click(object sender, EventArgs e)//直接相联

{

if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "" || textBox5.Text == "")

MessageBox.Show("请输入数据!");

else

{ int i = 0, j = 0, m = 0, n = 0, row = 0, k = 0, index = 0;

bool state = false;

m = Convert.ToInt32(textBox1.Text);

n = Convert.ToInt32(textBox2.Text);

string str = textBox5.Text;

float mzl = 0.00f;

int[] iResult;

iResult = new int[n];

int[] iResult0;

row = str.Length;

string szt = "";

int mzcs = 0;

if (comboBox1.Text == "装入")

{ for (i = 0; i < n; i++)

dataGridView1.Columns.Add("first", "第" + i.ToString() + "块Cache"); dataGridView1.Columns.Add("first", "状态");

index = this.dataGridView1.Rows.Add();

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

{ iResult[i] = i;

this.dataGridView1.Rows[index].Cells[i].Value = i.ToString();

}

this.dataGridView1.Rows[index].Cells[n].Value = "Cache初态";

iResult0 = new int[n];

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

iResult0[i] = iResult[i];

for (j = 0; j < row; j++)

{ index = this.dataGridView1.Rows.Add();

k = (Convert.ToInt32(str[j]) - 48) % n;

if (iResult0[k] == Convert.ToInt32(str[j]) - 48)

{ mzcs++; state = true;

{ iResult[k] = Convert.ToInt32(str[j]) - 48;

} for (i = 0; i < n; i++)

this.dataGridView1.Rows[index].Cells[i].Value = iResult[i].ToString();

}

if (state)

{ this.dataGridView1.Rows[index].Cells[n].Value = "命中";

state = false;

}

else

this.dataGridView1.Rows[index].Cells[n].Value = "替换";

}

mzl = 1000000 * mzcs / row;

textBox6.Text = "0." + Convert.ToString(mzl); }

else

{ for (i = 0; i < n; i++)

dataGridView1.Columns.Add("first", "第" + i.ToString() + "块Cache"); dataGridView1.Columns.Add("first", "状态");

iResult0 = new int[n];

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

{ iResult0[i] = -1;

iResult[i] = -1;

}

for (j = 0; j < row; j++)

{ index = this.dataGridView1.Rows.Add();

k = (Convert.ToInt32(str[j]) - 48) % n;

if (iResult0[k] == Convert.ToInt32(str[j]) - 48)

{ mzcs++;

state = true }

else

{ if (iResult[k] == -1)

szt = "装入";

else

szt = "替换";

iResult[k] = Convert.ToInt32(str[j]) - 48;

}

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

{ this.dataGridView1.Rows[index].Cells[i].Value = iResult[i].ToString(); }

if (state)

this.dataGridView1.Rows[index].Cells[n].Value = "命中"; state = false;

this.dataGridView1.Rows[index].Cells[n].Value = szt;

} mzl = 1000000 * mzcs / row;

textBox6.Text = "0." + Convert.ToString(mzl);

} } }

private void button3_Click(object sender, EventArgs e)//组相联

{ if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "" || textBox5.Text == "")

MessageBox.Show("请输入数据!");

else

{ bool state = false;

string cellstate = " ";

string str = textBox5.Text;

int row = str.Length;

int mzcs = 0, index = 0;

float mzl = 0.0f;

int column = Convert.ToInt32(textBox2.Text);

int zcount = Convert.ToInt32(textBox4.Text);

int zpage = column / zcount;

int i = 0, j = 0, t = 0, k = 0;

int iUp = 0, iDown = 0;

int[,] iResult;

iResult = new int[zcount, zpage];

int[,] iResult0;

iResult0 = new int[zcount, zpage];

iResult[0, 0] = 0;

for (i = 0; i < zcount; i++)

for (j = 0; j < zpage; j++)

iResult[i, j] = t;

iResult0[i, j] = t;

t++;

} t = 0;

int[,] imax;

imax = new int[zcount, zpage];

for (i = 0; i < zcount; i++)

for (j = 0; j < zpage; j++)

imax[i, j] = 0;

if (comboBox1.Text == "装入")

{ for (i = 0; i < zcount; i++)

for (j = 0; j < zpage; j++)

dataGridView1.Columns.Add("first", "主存第" + i.ToString() + "组" + "第" + j.ToString() + "页");

dataGridView1.Columns.Add("first", "状态");

t = 0;

for (i = 0; i < zcount; i++)

for (j = 0; j < zpage; j++)

this.dataGridView1.Rows[index].Cells[t].Value = iResult[i, j].ToString();

t++;

}

this.dataGridView1.Rows[index].Cells[column].Value = "主存初态";

for (j = 0; j < row; j++)

{ index = this.dataGridView1.Rows.Add();

for (k = 0; k < zcount; k++)

for (i = 0; i < zpage; i++)

imax[k, i]++;

int strj = 0;

strj = (Convert.ToInt32(str[j]) - 48) % column;

for (i = 0; i < zcount; i++)

if (strj >= iResult0[i, 0] && strj <= iResult0[i, zpage - 1])

{ t = i;

break;

}

for (i = 0; i < zpage; i++)

if ((Convert.ToInt32(str[j]) - 48) == iResult[t, i])

mzcs++;

imax[t, i] = 0;

state = true;

break;

}

if (i >= zpage)

{ iUp = imax[t, 0];

iDown = 0;

for (k = 1; k < zpage; k++)

if (iUp < imax[t, k])

{ iUp = imax[t, k];

iDown = k;

}

iResult[t, iDown] = Convert.ToInt32(str[j]) - 48;

imax[t, iDown] = 0;

}

t = 0;

for (i = 0; i < zcount; i++)

for (k = 0; k < zpage; k++)

{

k].ToString();

t++; }

if (state)

{ this.dataGridView1.Rows[index].Cells[column].Value = "命中";

state = false;

}

else

this.dataGridView1.Rows[index].Cells[column].Value = "替换";

}

mzl = 1000000 * mzcs / row;

textBox6.Text = "0." + Convert.ToString(mzl);

}

else

{ for (i = 0; i < zcount; i++)

for (j = 0; j < zpage; j++)

dataGridView1.Columns.Add("first", "主存第" + i.ToString() + "组" + "第" + j.ToString() + "页");

dataGridView1.Columns.Add("first", "状态");

for (i = 0; i < zcount; i++)

for (j = 0; j < zpage; j++)

iResult[i, j] = -1;

for (j = 0; j < row; j++)

{ index = this.dataGridView1.Rows.Add();

for (k = 0; k < zcount; k++)

for (i = 0; i < zpage; i++)

imax[k, i]++;

int strj = 0;

strj = (Convert.ToInt32(str[j]) - 48) % column;

for (i = 0; i < zcount; i++)

if (strj >= iResult0[i, 0] && strj <= iResult0[i, zpage - 1])

{ t = i;

break;

}

for (i = 0; i < zpage; i++)

{ if ((Convert.ToInt32(str[j]) - 48) == iResult[t, i]) { mzcs++;

imax[t, i] = 0;

cellstate = "命中";

break;

} }

if (i >= zpage)

{ iUp = imax[t, 0];

iDown = 0;

if (iUp < imax[t, k])

{

iUp = imax[t, k];

iDown = k;

}

if (iResult[t, iDown] == -1)

cellstate = "装入";

else

cellstate = "替换";

iResult[t, iDown] = Convert.ToInt32(str[j]) - 48;

imax[t, iDown] = 0;

}

t = 0;

for (i = 0; i < zcount; i++)

for (k = 0; k < zpage; k++)

{

this.dataGridView1.Rows[index].Cells[t].Value = iResult[i, k].ToString();

t++;

}

this.dataGridView1.Rows[index].Cells[column].Value = cellstate;

}

mzl = 1000000 * mzcs / row;

textBox6.Text = "0." + Convert.ToString(mzl);

} } } } }

五、运行结果:

1、全相联运行结果:

2、直接相联运行结果:

3、组相联运行结果:

六、实验心得

在此次的实验中,对课本上学的关于全相联、直接相联和组相联的理解又加深了许多。在实验过程中,也存在很多的问题,例如具体的实现时,算法的设计不是很清楚,查了资料和跟同学讨论,最后整理了清楚,实现了运算。在以后的学习过

程中,要多思考,多和同学和老师交流,这样才能更牢固的掌握知识.

计算机系统结构模拟试题(5)

计算机组成原理模拟试题(2) 一、填空题:04分,每题02分 1、X=-0.1001 [X]原=_____________ [X]补=_____________[-X]补=_____________ Y=0.0101 [Y]原=_____________ [Y]补=_____________ [-Y]补=_____________ [X+Y]补=_____________ 2、对西文输出的字符设备,在计算机的内存储器中存储的是字符数据的每个字符的_____________码,输出(包括显示或打印)的则是每个字符的_____________,设备中的字符发生器的主要功能是解决从字符的_____________码和字符的_____________间的对应关系。 二、单选题:20分,每题02分 3、32 x 32点阵汉字的机内编码需要。 A: 16个字节 B: 32个字节 C: 32×2个字节 D: 32×4个字节 4、某机字长32位,采用原码定点整数表示,符号位为1位,数值位为31位,则可表示的最大正整数为,最小负整数为。 A: B: C: D: 5、在定点二进制运算器中,减法运算一般通过来实现。 A: 原码运算的二进制减法器 B: 补码运算的二进制减法器 C: 补码运算的十进制加法器 D: 补码运算的二进制加法器 6、在浮点数运算中产生溢出的原因是。 A: 运算过程中最高位产生了进位或借位 B: 参加运算的操作数超出了机器的表示范围 C: 运算的结果的阶码超出了机器的表示范围 D: 寄存器的位数太少,不得不舍弃最低有效位 7、无论如何划分计算机的功能部件,控制器部件中至少含有。 A: PC、IP B: PC、IR C: IR、IP D: AR、IP 8、某存储器容量为32K×16位,则 A: 地址线为16根,数据线为32根 B: 地址线为32根,数据线为16根

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

实验二结构相关 一、实验目得: 通过本实验,加深对结构相关得理解,了解结构相关对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发生结构相关,导致相关得部件:译码部件。

北邮高级计算机系统结构实验二三四五

实验二指令流水线相关性分析 ·实验目的 通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。 ·实验原理: 指令流水线中主要有结构相关、数据相关、控制相关。相关影响流水线性能。·实验步骤 一.使用WinDLX模拟器,对做如下分析: (1)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。 (2)考察增加浮点运算部件对性能的影响。 (3)考察增加forward部件对性能的影响。 (4)观察转移指令在转移成功和转移不成功时候的流水线开销。 ·实验过程 一.使用WinDLX模拟器,对做如下分析: } 浮点加、乘、除部件都设置为1,浮点数运算部件的延时都设置为4,如图1: 图1 初始设置 将和加载至WinDLX中,如图2示。

图2 加载程序 1.观察程序中出现的数据/控制/结构相关;指出程序中出现上述现象的指令组合。 1)数据相关 点击F7,使程序单步执行,当出现R-Stall时停止,运行过程中出现下图3所示,输入整数6。 图3 输入整数6 @ 打开Clock Diagram,可以清楚的看到指令执行的流水线如图4所示。 图4 指令流水线 双击第一次出现R-Stall的指令行,如图5所示。

图5 指令详细信息 对以上出现的情况分析如下: 程序发生了数据相关,R-Stall(R-暂停)表示引起暂停的原因是RAW。 lbu r3,0×0(r2) 要在WB周期写回r3中的数据;而下一条指令 & seqi r5,r3,0×a 要在intEX周期中读取r3中的数据。 上述过程发生了WR冲突,即写读相关。为了避免此类冲突, seq r5,r4,0×a的intEX指令延迟了一个周期进行。 由此,相关指令为: 2)控制相关 由图6可以看出,在第4时钟周期:第一条指令处于MEM段,第二条命令处于intEX段,第三条指令出于aborted状态,第四条命令处于IF段。 图 6 指令流水线 }

计算机系统结构模拟试题5

计算机组成原理模拟试题(2)一、填空题:04分,每题02分 =_____________ [X]补=_____________补-X][1、 X=-0.1001 [X]原 =_____________ =_____________ =_____________ [-Y]补Y]原=_____________ []补 Y=0.0101 [Y ]补=_____________ [X+Y对西文输出的字符设备,在计算机的内存储器中存储的是 字符数据的每个字符的、 2,设备中的字符_____________(包括显示或打印)的则是每个字 符的码,输出_____________间的对应关_____________发生器的主要功能是解决从字符的 _____________码和字符的系。分二、单选题:20分,每题02 。3、 32 x 32点阵汉 字的机内编码需要 A: 16个字节 B: 32个字节 2个字节 C: 32×个字节 D: 32×4位,则可表示位,数值位为314、某机字长32位,采 用原码定点整数表示,符号位为1 。,最小负整数为的最大正整数为 A: B: C: D: 来实现。 5、在定点二进制运算器中,减法运算一般通过 A: 原码运算的二进制减法器 B: 补码运算的二进制减法器 C: 补码运算的十进制加法器 D: 补码运算的二进制加法器 。 6、在浮点数运算中产生溢出的原因是运算过程中最高位产生了进位或借位 A: 参加运算的操作数超出了机器的表示范围B: C: 运算的结果的阶码超出了机器的表示范围寄存器的位数太少,不得不舍弃最低有效位 D: 。 7、无论如何划分计算机的功能部件,控制器部件中至少含有 IP A: PC、 IR B: PC、、IP C: IR D: AR、IP 8、某存储器容量为32K×16位,则 A: 地址线为16根,数据线为32根 根16根,数据线为32地址线为B: C: 地址线为15根,数据线为16根 D: 地址线为15根,数据线为32根 9、在统一编址方式下,存储单元和I/O设备是靠指令中的来区分的。

计算机系统结构模拟题

《计算机系统结构》模拟题 一.判断是非题,对的打√,错的打× 1.系列机是指由一个厂家生产的具有相同组成,但具有不同系统结构和实现的一系列不同型号的机器。 ( × ) 2.Cray 1向量处理机中,由于每个向量寄存器的长度为64,当实际需要处理的向量长度大于64时,它就不能够处理了。 ( × ) 3.按照Flynn 分类法,Illiac IV 阵列处理机是MIMD 计算机。 ( × ) 4.多级混洗交换网络是阻塞网络。 ( √ ) 二.填空题 1.多机系统的互连网络的通信模式可分为4种,其中,一对一的通信模式称为____单播_____模式,一对全体的通信模式为_____广播____模式,多对多的通信模式为____会议_____模式。 2.SIMD 计算机和流水线向量处理机都可以执行向量指令,前者采用___资源重复______并行性,后者采用___时间重叠______并行性。 3.系列机软件兼容必须做到___向后_____兼容,力争做到___向上_____兼容。 4.流水线消除瓶颈段的方法有____细分_____和____重复设置瓶颈段(可交换次序)_____2种方法。 5.设通道数据传送过程中,选择一次设备的时间为 s T ,传送一个字节的时间为D T ,则字 节多路通道最大流量等于____ D s T T 1 _____。 6.Illiac IV 8×8阵列中,网络直径为____7_____。 7.对堆栈型替换算法,增大分配给程序的___主存页面______,对第一级存储器的命中率就会单调____上升_____。 8.从网络的任何结点看,若网络拓扑结构都是相同的,则称这样的网络是___对称______网络。 三.单项选择题 1.在计算机系统层次结构中,从下层到上层,各层相对顺序正确的是( B )。 A.汇编语言机器级-操作系统机器级-高级语言机器级 B.微程序机器级-传统机器语言机器级-汇编语言机器级 C.传统机器语言机器级-高级语言机器级-汇编语言机器级 D.汇编语言机器级-应用语言机器级-高级语言机器级 2.Illiac IV 阵列处理机中,PE 之间所用的互连函数是( A )。

计算机系统结构总复习题

一、单项选择题 1、直接执行微指令的是( ) A.汇编程序B.编译程序 C.硬件D.微指令程序 2、对系统程序员不透明的应当是( )。 A.Cache存贮器B.系列机各档不同的数据通路宽度C.指令缓冲寄存器D.虚拟存贮器 3、对机器语言程序员透明的是( )。 A.中断字B.主存地址寄存器 C.通用寄存器D.条件码 4、计算机系统结构不包括( )。 A.主存速度B.机器工作状态 C.信息保护D.数据 5、从计算机系统结构上讲,机器语言程序员所看到的机器属性是( )。A.计算机软件所要完成的功能B.计算机硬件的全部组成 C.编程要用到的硬件组织D.计算机各部件的硬件实现 6、计算机组成设计不考虑( )。 A.专用部件设置B.功能部件的集成度 C.控制机构的组成D.缓冲技术 7、以下说法中,不正确的是( )。 软硬件功能是等效的,提高硬件功能的比例会: A.提高解题速度B.提高硬件利用率 C.提高硬件成本D.减少所需要的存贮器用量 8、在系统结构设计中,提高软件功能实现的比例会( )。 A.提高解题速度B.减少需要的存贮容量 C.提高系统的灵活性D.提高系统的性能价格比 9、下列说法中不正确的是( )。 A.软件设计费用比软件重复生产费用高 B.硬件功能只需实现一次,而软件功能可能要多次重复实现 C.硬件的生产费用比软件的生产费用高 D.硬件的设计费用比软件的设计费用低 10、在计算机系统设计中,比较好的方法是( )。 A.从上向下设计B.从下向上设计 C.从两头向中间设计D.从中间开始向上、向下设计11、"从中间开始"设计的"中间"目前多数是在( )。 A.传统机器语言级与操作系统机器级之间 B.传统机器语言级与微程序机器级之间 C.微程序机器级与汇编语言机器级之间 D.操作系统机器级与汇编语言机器级之间 12、系列机软件应做到( )。 A.向前兼容,并向上兼容 B.向后兼容,力争向上兼容

计算机系统结构模拟题

《计算机系统结构》模拟题(补)一.单项选择题 1. SIMD是指()。 A、单指令流单数据流 B、单指令流多数据流 C、多指令流单数据流 D、多指令流多数据流 2. 磁盘外部设备适合于连接到()。 A.字节多路通道B.数组多路通道或选择通道 C.选择通道或字节多路通道D.数组多路通道或字节多路通道 3. 下列()存储设备不需要编址。 A. 通用寄存器 B. 主存储器 C. 输入输出设备 D. 堆栈 4.多处理机的各自独立型操作系统( )。 A.要求管理程序不必是可再入的 B.适合于紧耦合多处理机 C.工作负荷较平衡 D.有较高的可靠性 5.输入输出系统硬件的功能对( )是透明的。 A.操作系统程序员 B.应用程序员 C.系统结构设计人员 D.机器语言程序设计员 6. 实现汇编语言源程序变换成机器语言目标程序是由()。 A.编译程序解释B.编译程序翻译 C.汇编程序解释D.汇编程序翻译 7.全相联地址映象是指( )。 A.任何虚页都可装入主存中任何实页的位置 B.一个虚页只装进固定的主存实页位置 C.组之间是固定的,而组任何虚页可以装入任何实页位置 D.组间可任意装入,组是固定装入 8.( )属于MIMD系统结构。 A.各处理单元同时受同一个控制单元的管理 B.各处理单元同时接受同一个控制单元送来的指令 C.松耦合多处理机和多计算机 D.阵列处理机

9.设16个处理器编号分别为0,1,2,…,15用Cube3互联函数时,第10号处理机与第( ) 号处理机相联。 A.11 B.8 C.14 D.2 10.若输入流水线的指令既无局部性相关,也不存在全局性相关,则( )。 A.可获得高的吞吐率和效率 B.流水线的效率和吞吐率恶化 C.出现瓶颈 D.可靠性提高 11.流水线的技术指标不包括( )。 A.响应比 B.吞吐率 C.加速比 D.效率 12.指令优化编码方法,就编码的效率来讲,方法最好是()。 A. 固定长度编码 B. 扩展编码法 C. Huffman编码法 D. 以上编码都不是 13.RISC 计算机的指令系统集类型是 ( ) 。 A. 堆栈型 B. 累加器型 C. 寄存器—寄存器型 D. 寄存器 - 存储器型 14.相联存储器的访问方式是( )。 A.先进先出顺序访问B.按地址访问 C.无地址访问D.按容访问 15.存储器读写速率越高,每位的成本也越高,存储容量也小。解决这一问题的主要方法是采用( )。 A.多级存储体系结构B.并行存储器 C. Cache D.缓冲技术 16.计算机系统多级层次中,从下层到上层,各级相对顺序正确的应当是()。 A.汇编语言机器级---操作系统机器级---高级语言机器级 B.微程序机器级---传统机器语言机器级---汇编语言机器级 C.传统机器语言机器级---高级语言机器级---汇编语言机器级 D. 汇编语言机器级---应用语言机器级---高级语言机器级 17.对系统程序员不透明的是()。 A.Cache 存储器 B.系列几各档不同的数据通路宽度 C.指令缓冲寄存器 D.虚拟存储器 18.在计算机系统设计中,比较好的方法是()。

计算机系统结构实验报告

计算机系统结构实验报告 一.流水线中的相关 实验目的: 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.不采用重新定向技术,我们得到的结果

北邮计算机系统结构实验报告-实验一到五-WINDLX模拟器

北京邮电大学 实验报告 课程名称计算机系统结构 计算机学院03班 王陈(11)

目录 实验一WINDLX模拟器安装及使用......................................... 错误!未定义书签。 ·实验准备................................................................................ 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验内容及要求.................................................................... 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 ·实验总结............................................................................. 错误!未定义书签。实验二指令流水线相关性分析 ............................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 ·实验总结............................................................................. 错误!未定义书签。实验三DLX处理器程序设计 .................................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 A.向量加法代码及性能分析 ................................................... 错误!未定义书签。 B.双精度浮点加法求和代码及结果分析 .............................. 错误!未定义书签。 ·实验总结............................................................................. 错误!未定义书签。实验四代码优化 ....................................................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验原理................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 ·实验总结+实习体会........................................................... 错误!未定义书签。实验五循环展开 ....................................................................... 错误!未定义书签。 ·实验目的............................................................................. 错误!未定义书签。 ·实验环境................................................................................ 错误!未定义书签。 ·实验原理................................................................................ 错误!未定义书签。 ·实验步骤................................................................................ 错误!未定义书签。 ·实验过程............................................................................. 错误!未定义书签。 矩阵乘程序代码清单及注释说明........................................... 错误!未定义书签。 相关性分析结果........................................................................... 错误!未定义书签。 增加浮点运算部件对性能的影响........................................... 错误!未定义书签。 增加forward部件对性能的影响 ............................................ 错误!未定义书签。 转移指令在转移成功和转移不成功时候的流水线开销 .. 错误!未定义书签。 ·实验总结+实习体会+课程建议......................................... 错误!未定义书签。

计算机系统结构考试题库及答案

计算机系统结构试题及答案 一、选择题(50分,每题2分,正确答案可能不只一个,可单选 或复选) 1.(CPU周期、机器周期)是内存读取一条指令字的最短时间。 2.(多线程、多核)技术体现了计算机并行处理中的空间并行。 3.(冯?诺伊曼、存储程序)体系结构的计算机把程序及其操作数 据一同存储在存储器里。 4.(计算机体系结构)是机器语言程序员所看到的传统机器级所具 有的属性,其实质是确定计算机系统中软硬件的界面。 5.(控制器)的基本任务是按照程序所排的指令序列,从存储器取 出指令操作码到控制器中,对指令操作码译码分析,执行指令操作。 6.(流水线)技术体现了计算机并行处理中的时间并行。 7.(数据流)是执行周期中从内存流向运算器的信息流。 8.(指令周期)是取出并执行一条指令的时间。 9.1958年开始出现的第二代计算机,使用(晶体管)作为电子器件。 10.1960年代中期开始出现的第三代计算机,使用(小规模集成电路、 中规模集成电路)作为电子器件。 11.1970年代开始出现的第四代计算机,使用(大规模集成电路、超 大规模集成电路)作为电子器件。 12.Cache存储器在产生替换时,可以采用以下替换算法:(LFU算法、 LRU算法、随机替换)。

13.Cache的功能由(硬件)实现,因而对程序员是透明的。 14.Cache是介于CPU和(主存、内存)之间的小容量存储器,能高 速地向CPU提供指令和数据,从而加快程序的执行速度。 15.Cache由高速的(SRAM)组成。 16.CPU的基本功能包括(程序控制、操作控制、时间控制、数据加 工)。 17.CPU的控制方式通常分为:(同步控制方式、异步控制方式、联合 控制方式)反映了时序信号的定时方式。 18.CPU的联合控制方式的设计思想是:(在功能部件内部采用同步控 制方式、在功能部件之间采用异步控制方式、在硬件实现允许的情况下,尽可能多地采用异步控制方式)。 19.CPU的同步控制方式有时又称为(固定时序控制方式、无应答控 制方式)。 20.CPU的异步控制方式有时又称为(可变时序控制方式、应答控制 方式)。 21.EPROM是指(光擦可编程只读存储器)。 22.MOS半导体存储器中,(DRAM)可大幅度提高集成度,但由于(刷 新)操作,外围电路复杂,速度慢。 23.MOS半导体存储器中,(SRAM)的外围电路简单,速度(快),但 其使用的器件多,集成度不高。 24.RISC的几个要素是(一个有限的简单的指令集、CPU配备大量的 通用寄存器、强调对指令流水线的优化)。

计算机系统结构实验1预习报告

计算机系统结构实验 实验1:MIPS指令系统和MIPS体系结构 (预习报告) 姓名: 学号: 班级:

大连理工大学实验预习报告 学院:______________________专业:_______________________班级:_____________________ 姓名:______________________学号:_______________________ 实验时间:__________________实验室:__________________实验台:__________________ 指导老师签字:_________________________________________成绩:____________________ 实验目的: 了解熟悉MIPSsim模拟器; 熟悉MIPS指令系统及其特点; 熟悉MIPS体系结构 实验平台: 指令级和流水线操作级模拟器MIPSsim 资料准备: MIPS64指令系统介绍 1.MIPS的寄存器 32个64位通用寄存器(GPRs整数寄存器):R0-R31。R0的值永远是0。 32个64位浮点数寄存器FPRs:F0-F31。它们可以存放32个单精度浮点数(32位),也可以存放32个双精度浮点数(64位)。 MIPS提供了单精度和双精度操作的指令,而且还提供了在FPRs和GPRs之间传送数据的指令。2.MIPS的数据表示

整数:字节(8位)、半字(16位)、字(32位)和双字(64位)。 浮点数:单精度浮点数(32位)和双精度浮点数(64位)。 MIPS64的操作是针对64位整数以及32位或64位浮点数进行的。字节、半字或字在装入64位寄存器时,用零扩展或者用符号位扩展来填充该寄存器的剩余部分。装入以后,对它们按照64位整数的方式进行运算。 3.MIPS的数据寻址方式 MIPS的数据寻址方式只有立即数寻址和偏移量寻址两种,立即数字段和偏移量字段都是16位。 寄存器间接寻址是通过把0作为偏移量来实现的,16位绝对寻址是通过把R0作为基址寄存器来完成的。 MIPS的存储器是按字节寻址的,地址是64位。由于MIPS是load-store结构,寄存器和存储器之间的数据传送都是通过load指令和store指令来完成的。所有存储器访问都必须边界对齐。 4.MIPS的指令格式 指令格式简单,其中操作码6位。按不同类型的指令设置不同的格式,共有3种格式,分别对应I指令、R指令和J指令。在这3种格式中,同名字段的位置固定不变。 I类指令 包括所有的load和store指令、立即数指令、分支指令、寄存器跳转指令、寄存器链接跳转指令。其中立即数字段位16位,用于提供立即数或偏移量。 1)load指令 2)store指令 3)立即数指令 4)分支指令 5)寄存器跳转、寄存器跳转并链接

系统结构期末考试试题及答案

得分 评分人 填空题: (20分,每题2 分) 单选题:(10分,每题1分) A.任何虚页都可装入主存中任何实页的位置 B. 一个虚页只装进固定的主存实页位置 《计算机系统结构》期末考试试卷(A ) 得分 注:1、共100分,考试时间120分钟。 2、此试卷适用于计算机科学与技术本科专业。 1、."启动I/O"指令是主要的输入输出指令,是属于( A. 目态指令 B.管态指令 C.目态、管态都能用的指令 D.编译程序只能用的指令 2、 输入输出系统硬件的功能对 (B )是透明的 A.操作系统程序员 B.应用程序员 C.系统结构设计人员 D.机器语言程序设计员 3、 全相联地址映象是指(A ) C. 组之间固定,组内任何虚页可装入任何实页位置 D.组间可任意装入,组内是固定装入 4、( C ) 属于MIMD 系统结构 A.各处理单元同时受一个控制单元的管理 B.各处理单元同时受同个控制单元送来的指令 C.松耦合多处理机和多计算机系统 D. 阵列处理机 5、多处理机上两个程序段之间若有先写后读的数据相关,则( B ) A.可以并行执行 B.不可能并行 C.任何情况均可交换串行 D.必须并行执行 6、 计算机使用的语言是(B ) A.专属软件范畴,与计算机体系结构无关 B.分属于计算机系统各个层次 C.属于用以建立一个用户的应用环境 D. 属于符号化的机器指令 7、 指令执行结果出现异常引起的中断是( C ) A.输入/输出中断 B.机器校验中断 C.程序性中断 D.外部中断 &块冲突概率最高的 Cache 地址映象方式是(A ) A.直接 B .组相联 C .段相联 D .全相联 9、 组相联映象、LRU 替换的Cache 存储器,不影响 Cache 命中率的是(B ) A.增大块的大小 B .增大主存容量 C .增大组的大小 D .增加Cache 中的块数 10、 流水处理机对全局性相关的处理不 包括(C ) A.猜测法 B.提前形成条件码 C.加快短循环程序的执行 D.设置相关专用通路

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

实验二结构相关 一、实验目的: 通过本实验,加深对结构相关的理解,了解结构相关对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阶段,所以导致下一条指令发生结构相关。

计算机系统结构期末考试试题及其答案

计算机系统结构期末考试试题及其答案

《计算机系统结构》期末考试试卷A 卷第 2 页 共 24 页 计算机科学系《计算机系统结构》期末考试试卷(A 卷) 2、此试卷适用于计算机科学与技术本科专业。 一 单选题:(10分,每题1分) 1、 ."启动I/O"指令是主要的输入输出指 令,是属于( B ) A.目态指令 B.管态指令 C.目态、管态都能用的指令 D.编译程序只能用的指令 2、 输入输出系统硬件的功能对(B )是透 明的 A.操作系统程序员 B.应用程序员 C.系统结构设计人员 D.机器语言程序设计员 3、 全相联地址映象是指(A ) A.任何虚页都可装入主存中任何实页的位置 B.一个虚页只装进固定的主存实页位置 C.组之间固定,组内任何虚页可装入任何实页位

置 D.组间可任意装入,组内是固定装入 4、( C ) 属于MIMD系统结构 A.各处理单元同时受一个控制单元的管理 B.各处理单元同时受同个控制单元送来的指令 C.松耦合多处理机和多计算机系统 D.阵列处理机 5、多处理机上两个程序段之间若有先写 后读的数据相关,则(B ) A.可以并行执行 B.不可能并行 C.任何情况均可交换串行 D.必须并行执行 6、计算机使用的语言是(B) A.专属软件范畴,与计算机体系结构无关 B.分属于计算机系统各个层次 C.属于用以建立一个用户的应用环境 D.属于符号化的机器指令 7、指令执行结果出现异常引起的中断是 (C ) A.输入/输出中断 B.机器校验中断 C.程序性中断 D.外部中断 《计算机系统结构》期末考试试卷A卷第 3 页共 24 页

大连理工大学计算机系统结构实验-实验四

大连理工大学实验报告计算机系统结构实验 实验四Cache性能分析 学院(系):电子信息与电气工程学部专业:计算机科学与技术 学生姓名: 班级: 学号: 大连理工大学 Dalian University of Technology

实验四Cache性能分析 一、实验目的和要求 (1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。 (2)掌握Cache容量、相联度、块大小对Cache性能的影响。 (3)掌握降低Cache不命中率的各种方法以及这些方法对提高Cache性能的好处。 (4)理解LRU与随机法的基本思想以及它们对Cache性能的影响。 二、实验步骤与操作方法 1、Cache容量对不命中率的影响。 (1)启动MyCache。 (2)用鼠标单击“复位”按钮,把各参数设置为默认值。 (3)选择一个地址流文件。方法:选择“访问地址”—>“地址流文件”选项,然后单击“浏览”按钮,从本模拟器所在文件夹下的“地址流”文件夹中选取。 (4)选择不同的Cache容量,包括2KB、4KB、8KB、16KB、32KB、64KB、128KB和256KB。分别执行模拟器(单击“执行到底”按钮即可执行),然后在下表中记录各种情况下的不命中率。 表不同容量下Cache的不命中率 (5)以容量为横坐标,画出不命中率随Cache容量变化而变化的曲线,并指明地址流文件名。

(6)根据该模拟结果,你能得出什么结论? 答:随着Cache容量的增大,不命中率降低,但是降低的幅度由较大差别,Cache容 量足够大以后,不命中率降到一定程度以后,降低效果不再明显。 2.相联度对不命中率的影响 (1)用鼠标单击“复位”按钮,把各参数设置为默认值。此时的Cache容量为64KB。 (2)选择一个地址流文件。 (3)选择不同的Cache相联度,包括2路、4路、8路、16路和32路。分别执行模拟器,然后在下表中记录各种情况下的不命中率。 表当容量为64KB时,不同相联度下Cache的不命中率 (4)把Cache的容量设置为256KB,重复(3)的工作,并填写下表。 表当容量为256KB时,不同相联度下Cache的不命中率 (5)以相联度为横坐标,画出在64KB和256KB的情况下不命中率随Cache相联度变化而变化的曲线,并指明地址流文件名。

计算机系统结构实验教程

实验一流水线及流水线中的冲突 实验目的 1.加深对计算机流水线基本概念的理解; 2.理解MIPS结构如何用5段流水线来实现,理解各段的功能和基本操作; 3.加深对数据冲突、结构冲突的理解,理解这两类冲突对CPU性能的影响; 4.进一步理解解决数据冲突的方法,掌握如何应用定向技术来减少数据冲突引起的停顿。 5.加深对指令调度和延迟分支技术的理解; 6.熟练掌握用指令调度技术来解决流水线中的数据冲突的方法; 7.进一步理解指令调度技术和延迟分支技术对CPU性能的改进。 实验平台 指令级和流水线操作级模拟器MIPSsim, 实验内容和步骤 首先要掌握MIPSsim模拟器的使用方法。 一、流水线及流水线中的冲突观察 1. 启动MIPSsim。 2.根据预备知识中关于流水线各段操作的描述,进一步理解流水线窗口中各段的功能,掌握各流水寄存器的含义。(用鼠标双击各段,就可以看到各流水寄存器的内容) 3. 熟悉MIPSsim模拟器的操作和使用方法。 可以先载入一个样例程序(在本模拟器所在的文件夹下的“样例程序”文件夹中),然后分别以单步执行一个周期、执行多个周期、连续执行、设置断点等的方式运行程序,观察程序的执行情况,观察CPU中寄存器和存储器的内容的变化,特别是流水寄存器内容的变化。 4. 勾选配置菜单中的“流水方式”,使模拟器工作于流水方式下。 5.观察程序在流水线中的执行情况,步骤如下: (1)用MIPSsim的“文件”菜单中的“载入程序”来加载pipeline.s(在模拟器所在文 件夹下的“样例程序”文件夹中); (2)关闭定向功能。这是通过在“配置”菜单中去选“定向”(即使得该项前面没有“√” 号)来实现的; (3)用单步执行一周期的方式(“执行”菜单中,或用F7)执行该程序,观察每一周 期中,各段流水寄存器内容的变化、指令的执行情况(代码窗口)以及时钟周期 图; (4)当执行到第10个时钟周期时,各段分别正在处理的指令是: IF: ID:

计算机系统结构模拟试题

计算机系统结构模拟试题 一、填空题(每空1分,共14分) 1、()和()是实现语言的两种基本技术。 2、传统机器级所具有的属性是高级语言程序员所()的,即对高级语言程序员是()的......... 3、有效地址()上界或()下界,即出现越界错 4、相关有"先写后读"相关、()相关和()相关三种。 5、广义说来,并行性既包含()性,又包含()性。 6、在组相联映象中,若组内块数为1,则组相联映象变成了()。 7、计算机系统的设计方法有()、()和()三种。 二、名词解释题(每题3分,共15分) 1、数据表示 2、地址映象 3、数据流 4、四功能交换开关 5、仿真 三、回答下列问题(每题5分,共25分阶段) 1、什么是程序的可移植性?实现程序可移植性的方法有哪几种? 解:程序的可移植性是指一个程序可不经修改地由一台机器搬到另一台机器上运行。实现程序可移植性的方法有: ⑴统一高级语言; ⑵系列机; ⑶模拟与仿真。 2、简述计算机系统的多级层次结构。 答: ⑴第1级:微程序机器级; ⑵第2级:传统机器级; ⑶第3级:操作系统虚拟机;

⑷第4级:汇编语言虚拟机; ⑸第5级:高级语言虚拟机; ⑹第6级:应用语言虚拟机; 3、用指令表达式举例说明CRAY-1机"向量链接"的优点。 答: ⑴V2←V0+V1 ⑵V4←V2*V3 这两条向量指令因V2数据相关,本不能并行执行,但若利用"向量链接"特性,将第⑴条指令的结果送入V2的同时,直接送入第⑵条指令所用的功能部件,则这两条指令因链接可以并行执行。 4、试比较"Cache-主存"层次和"主存-辅存"层次的特点。(从目的、存贮管理的实现、相邻访问时间比、典型块的长度、处理机对第二级访问的方式等5个方面进行比较)。 5、多处理机和并行处理机在结构灵活上有何区别? 答:多处理机能适应更为多样的算法,有较强的通用性;处理机的数目较少;互连拓朴结构较复杂,有较好的结构灵活性。 并行处理机结构主要是针对特定算法,带有较强的专用性;处理单元数量多;互连拓朴结构有限、固定。 四、(12分)某台计算机有9条指令,其使用频度如下: 试分别用Huffman编码(要求画出Huffman树)如"2位--4位--6位"等长扩展码为其编码。(注:编码方案不,但各个码的码长是的) 五、(12分)有一条由6段组成的静态多功能流水线,如下图所示: 图中"A"加法流水线,"B"为乘法流水线。假定该流水线S6送出的结果可以直接返回到S1的入端或暂存于相应寄存器。若用该流水线计算 4------------- ∏(Ai+Bi)

相关文档
相关文档 最新文档