计算机组成与设计-11

合集下载

数字逻辑与计算机组成原理

数字逻辑与计算机组成原理

1.机械计算时代(1642~1945年)机械 式
2.第一代电子计算机(1946年至20世纪 50年代末期) 电子管
3.第二代计算机(20世纪50年代末期至 60年代中期) 晶体管
4.第三代计算机(20世纪60年代中期至 70年代初期) SSI和MSI
5.第三代以后的计算机(20世纪70年代 初开始) LSI和VLSI
1.1.2 计算机的应用
1.科学计算 2.数据处理 3.实时控制 4.计算机辅助设计(CAD)/计算机辅助制造 (CAM)/计算机集成制造系统 5.计算机信息管理
1.1.3 计算机系统结构、计算机 组成和计算机实现
1.计算机系统结构 计算机体系结构,其英文为
“Compuer Architecture”
1.4.1 弗林分类法
按照指令流和数据流的多寡,Flynn将计算机体 系结构分成4种类型。 (1)单指令流单数据流(Single Instruction stream Single Data stream,SISD)计算机。 (2)单指令流多数据流(Single Instruction stream Multiple Data stream,SIMD)计算机。 (3)多指令流单数据流(Multiple Instruction stream Single Data stream,MISD)计算机。 (4)多指令流多数据流(Multiple Instruction stream Multiple Data stream,MIMD)计算机。
统加速比有时也称为Amdahl定律。Amdahl是这样
对系统加速比定义的:
Sn=T0/Tn
T0是指系统没有改进以前运行程序所用的时间; Tn是系统采用了改进措施以后运行程序所用的时

计算机组成与设计第四版答案

计算机组成与设计第四版答案

计算机组成与设计第四版答案【篇一:计算机组成原理课后习题答案(白中英第四版)】算机可分为专用计算机和通用计算机,是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。

2.冯诺依曼型计算机主要设计思想是:存储程序通用电子计算机方案,主要组成部分有:运算器、逻辑控制装置、存储器、输入和输出设备3.存储器所有存储单元的总数称为存储器的存储容量。

每个存储单元都有编号,称为单元地址。

如果某字代表要处理的数据,称为数据字。

如果某字为一条指令,称为指令字。

4.每一个基本操作称为一条指令,而解算某一问题的一串指令序列,称为程序。

5.指令和数据的区分:取指周期中从内存读出的信息流是指令流,而在执行器周期中从内存读出的信息流是指令流。

6.半导体存储器称为内存,存储容量更大的磁盘存储器和光盘存储器称为外存,内存和外存共同用来保存二进制数据。

运算器和控制器合在一起称为中央处理器,简称cpu,它用来控制计算机及进行算术逻辑运算。

适配器是外围设备与主机联系的桥梁,它的作用相当于一个转换器,使主机和外围设备并行协调地工作。

7.从第一至五级分别为微程序设计级、一般机器级、操作系统级、汇编语言级、高级语言级。

采用这种用一系列的级来组成计算机的概念和技术,对了解计算机如何组成提供了一种好的结构和体制。

而且用这种分级的观点来设计计算机,对保证产生一个良好的系统结构也是很有帮助的。

8.因为任何操作可以由软件来实现,也可以由硬件来实现;任何指令的执行可以由硬件完成,也可以由软件来完成。

实现这种转化的媒介是软件与硬件的逻辑等价性。

9.计算机的性能指标:吞吐量、响应时间、利用率、处理机字长、总线宽度、存储器容量、存储器带宽、主频/时钟周期、cpu执行时间、cpi、mips、mflops.第二章2.[x]补 = a0. a1a2?a6解法一、(1)若a0 = 0, 则x 0, 也满足x -0.5此时a1→a6可任意(2)若a0 = 1, 则x = 0, 要满足x -0.5, 需a1 = 1即a0 = 1, a1 = 1, a2→a6有一个不为0解法二、-0.5 = -0.1(2) = -0.100000 = 1, 100000(1)若x = 0, 则a0 = 0, a1→a6任意即可[x]补 = x = a0. a1a2?a6(2)若x 0, 则x -0.5只需-x 0.5, -x 0[x]补 = -x, [0.5]补 = 01000000即[-x]补 01000000a0*a1*a2?a6?1?01000000a0*a1*a2?a6?00111111a0a1a2?a6?11000000即a0a1 = 11, a2→a6不全为0或至少有一个为1(但不是“其余取0”)3.字长32位浮点数,阶码10位,用移码表示,尾数22位,用补码表示,基为2(1)最大的数的二进制表示e = 111111111ms = 0, m = 11?1(全1)表示为: 11?1 011?110个21个即:229?1?(1?2?21)(2)最小的二进制数e = 111111111ms = 1, m = 00?0(全0)(注意:用10….0来表示尾数-1)表示为: 11?1 100?010个21个即:229?1?(?1)(3)规格化范围正最大e = 11?1, m = 11?1, ms = 010个 21个即:229?1?(1?2?21)正最小, ms = 010个20个即:2?29?2?1负最大 ms = 110个 20个(最接近0的负数)即:?2?29?(2?1?2?21)负最小e = 11?1, m = 00?0, ms =110个 21个即:229?1?(?1)??2511规格化所表示的范围用集合表示为:[2?29?2?1 ,229?1?(1?2?21)]?[229?1?(?1)??2511,?2?29?(2?1?2?21)](4)最接近于0的正规格化数、负规格化数(由上题可得出)正规格化数 e = 00?0, m = 100?0, ms = 010个 20个2?29?2?1负规格化数 e = 00?0, m = 011?1, ms = 110个 20个?2?29?(2?1?2?21)4(1) 27?0.011011?0.11011?2?164阶补码: 1 11尾数补码: 0 1101 1000机器数: 1110 1101 1000(2) ?2764??0.01101?1?0.11011?02?1阶补码: 1 11尾数补码: 1 0010 1000机器数: 1110 0010 10005.(1)x+y = 0.11110无溢出x+y = 0.00110无溢出(3)x = -0.10110x+y = -0.10111无溢出6.(1)x = 0.11011溢出(2)x = 0.10111x-y = -0.00100无溢出(3)x = 0.11011溢出7.(1)原码阵列x = 0.11011, y = -0.11111符号位:x0⊕y0 = 0⊕1 = 1[x]原 = 11011, [y]原 = 11111[x*y][x*y]补 = 1,00101,11011(直接补码阵列不要求)带求补器的补码阵列[x]补 = 0 11011, [y]补 = 1 00001乘积符号位单独运算0⊕1=1尾数部分算前求补输出│x│=11011,│y│=11111(2) 原码阵列x = -0.11111, y = -0.11011符号位:x0⊕y0 = 1⊕1 = 0[x]补 = 11111, [y]补 = 11011[x*y]补 = 0,11010,00101直接补码阵列[x*y]补 = 0,11010,00101(直接补码阵列不要求)带求补器的补码阵列【篇二:计算机组成原理课后答案第四章_庞海波】>1.解释下列概念主存、辅存、 cache、 ram、 sram、 dram、rom、 prom、 eprom、 eeprom、 cdrom、 flash memory 答:主存:与 cpu 直接交换信息,用来存放数据和程序的存储器。

计算机组成原理课后答案

计算机组成原理课后答案

计算机组成原理课后答案习题解答第一章思考题与习题1.什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?计算机系统是指计算机硬件、软件和数据通信设备的物理或逻辑的综合体。

硬件即指计算机的实体部分。

软件是由计算机运行所需的程序及相关文档硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要4.如何理解计算机组成和计算机体系结构?计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性,通常是指用机器语言编程的程序员所看到的传统机器的属性,包括指令集、数据类型、存储器寻址技术、I/O 机理等等计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。

5.冯·诺依曼计算机的特点是什么?(1) 计算机由运算器、存储器、控制器和输入设备、输出设备五大部件组成(2) 指令和数据以同等的地位存放于存储器内,并可以按地址寻访(3) 指令和数据均可以用二进制代码表示(4) 指令由操作码和地址码组成(5) 指令在存储器内按顺序存放。

(6) 机器以运算器为中心。

6.画出计算机硬件组成框图,说明各部件的作用及计算机硬件的主要技术指标。

硬件的主要技术指标:(1) 机器字长:指 CPU 一次能处理数据的位数,通常与 CPU 的寄存器位数有关(2) 存储容量:包括主存容量和辅存容量,存放二进制代码的总数=存储单元个数×存储字长(3) 运算速度:主频、Gibson 法、MIPS 每秒执行百万条指令、CPI 执行一条指令所需时钟周期数、FLOPS 每秒浮点运算次数7.解释下列概念:主机、CPU、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。

主机——是计算机硬件的主体部分,由CPU+MM(主存或内存)组成;CPU——中央处理器,是计算机硬件的核心部件,由运算器+控制器组成;存储字长——存储器一次存取操作的最大位数;存储容量——存储器中可存二进制代码的总量;机器字长——CPU能同时处理的数据位数;等于处理器内部寄存器位数指令字长——一条指令包含的二进制代码位数;8.解释下列英文代号:CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS。

计算机组成原理 习题答案

计算机组成原理 习题答案

1.4 冯诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分?➢冯诺依曼计算机的主要设计思想是:存储程序并按地址顺序执行。

➢冯诺依曼计算机主要包括:存储器、运算器、控制器、输入和输出五部分组成。

1.5 什么是存储容量?什么是单元地址?什么是数据字?什么是指令字?➢存储容量✓存储器所能保存二进制数据的总数,常用单位为KB、MB等。

➢单元地址✓用于识别存储器中每个存储单元的编号,即单元地址。

➢数据字✓表示计算机所要处理数据的计算机字,称为数据字。

➢指令字✓表示一条指令的计算机字,称为指令字。

1.6 什么是指令?什么是程序?➢指令:由操作码和操作数两部分构成,能够表示计算机中的一个基本操作的代码或二进制串。

➢程序:用于求解某一问题的一串指令序列,称为该问题的计算程序,简称为程序。

1.7 指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?➢计算机对指令和数据的区分是依靠指令的执行阶段来决定的;➢在取指阶段,从存储器中读取的均是CPU要执行的指令;➢在执行阶段,从存储器中读取的一定是指令执行所需要的操作数;1.8 什么是内存?什么是外存?什么是CPU?什么是适配器?简述其功能。

➢内存:用于存放系统当前运行所需要的程序和数据的半导体存储器,称为内存储器,简称内存;➢外存:用于存放程序和数据,但不能被CPU直接访问的大容量存储器,称为外存储器,简称为外存;外存一般包括磁盘存储器和光盘存储器。

➢CPU:运算器和控制器合称为中央处理器,简称CPU。

➢适配器:主机和不同速度的外设之间的一种部件,用于主机和外设之间的信息转换。

2.2 设[X]补=a7.a6 a5··· a0 ,其中ai 取0或1,若要X>-0.5,求a0 a1 a2 ··· a6 的取值。

①若a7 =0,则X为正数,显然a6··· a0取任何值,X均大于-0.5。

计算机组成与设计第五版答案

计算机组成与设计第五版答案

计算机组成与设计:《计算机组成与设计》是2010年机械工业出版社出版的图书,作者是帕特森(DavidA.Patterson)。

该书讲述的是采用了一个MIPS 处理器来展示计算机硬件技术、流水线、存储器的层次结构以及I/O 等基本功能。

此外,该书还包括一些关于x86架构的介绍。

内容简介:这本最畅销的计算机组成书籍经过全面更新,关注现今发生在计算机体系结构领域的革命性变革:从单处理器发展到多核微处理器。

此外,出版这本书的ARM版是为了强调嵌入式系统对于全亚洲计算行业的重要性,并采用ARM处理器来讨论实际计算机的指令集和算术运算。

因为ARM是用于嵌入式设备的最流行的指令集架构,而全世界每年约销售40亿个嵌入式设备。

采用ARMv6(ARM 11系列)为主要架构来展示指令系统和计算机算术运算的基本功能。

覆盖从串行计算到并行计算的革命性变革,新增了关于并行化的一章,并且每章中还有一些强调并行硬件和软件主题的小节。

新增一个由NVIDIA的首席科学家和架构主管撰写的附录,介绍了现代GPU的出现和重要性,首次详细描述了这个针对可视计算进行了优化的高度并行化、多线程、多核的处理器。

描述一种度量多核性能的独特方法——“Roofline model”,自带benchmark测试和分析AMD Opteron X4、Intel Xeo 5000、Sun Ultra SPARC T2和IBM Cell的性能。

涵盖了一些关于闪存和虚拟机的新内容。

提供了大量富有启发性的练习题,内容达200多页。

将AMD Opteron X4和Intel Nehalem作为贯穿《计算机组成与设计:硬件/软件接口(英文版·第4版·ARM版)》的实例。

用SPEC CPU2006组件更新了所有处理器性能实例。

图书目录:1 Computer Abstractions and Technology1.1 Introduction1.2 BelowYour Program1.3 Under the Covers1.4 Performance1.5 The Power Wall1.6 The Sea Change: The Switch from Uniprocessors to Multiprocessors1.7 Real Stuff: Manufacturing and Benchmarking the AMD Opteron X41.8 Fallacies and Pitfalls1.9 Concluding Remarks1.10 Historical Perspective and Further Reading1.11 Exercises2 Instructions: Language of the Computer2.1 Introduction2.2 Operations of the Computer Hardware2.3 Operands of the Computer Hardware2.4 Signed and Unsigned Numbers2.5 Representing Instructions in the Computer2.6 Logical Operations2.7 Instructions for Making Decisions2.8 Supporting Procedures in Computer Hardware2.9 Communicating with People2.10 ARM Addressing for 32-Bit Immediates and More Complex Addressing Modes2.11 Parallelism and Instructions: Synchronization2.12 Translating and Starting a Program2.13 A C Sort Example to Put lt AU Together2.14 Arrays versus Pointers2.15 Advanced Material: Compiling C and Interpreting Java2.16 Real Stuff." MIPS Instructions2.17 Real Stuff: x86 Instructions2.18 Fallacies and Pitfalls2.19 Conduding Remarks2.20 Historical Perspective and Further Reading2.21 Exercises3 Arithmetic for Computers3.1 Introduction3.2 Addition and Subtraction3.3 Multiplication3.4 Division3.5 Floating Point3.6 Parallelism and Computer Arithmetic: Associativity 3.7 Real Stuff: Floating Point in the x863.8 Fallacies and Pitfalls3.9 Concluding Remarks3.10 Historical Perspective and Further Reading3.11 Exercises4 The Processor4.1 Introduction4.2 Logic Design Conventions4.3 Building a Datapath4.4 A Simple Implementation Scheme4.5 An Overview of Pipelining4.6 Pipelined Datapath and Control4.7 Data Hazards: Forwarding versus Stalling4.8 Control Hazards4.9 Exceptions4.10 Parallelism and Advanced Instruction-Level Parallelism4.11 Real Stuff: theAMD OpteronX4 (Barcelona)Pipeline4.12 Advanced Topic: an Introduction to Digital Design Using a Hardware Design Language to Describe and Model a Pipelineand More Pipelining Illustrations4.13 Fallacies and Pitfalls4.14 Concluding Remarks4.15 Historical Perspective and Further Reading4.16 Exercises5 Large and Fast: Exploiting Memory Hierarchy5.1 Introduction5.2 The Basics of Caches5.3 Measuring and Improving Cache Performance5.4 Virtual Memory5.5 A Common Framework for Memory Hierarchies5.6 Virtual Machines5.7 Using a Finite-State Machine to Control a Simple Cache5.8 Parallelism and Memory Hierarchies: Cache Coherence5.9 Advanced Material: Implementing Cache Controllers5.10 Real Stuff: the AMD Opteron X4 (Barcelona)and Intel NehalemMemory Hierarchies5.11 Fallacies and Pitfalls5.12 Concluding Remarks5.13 Historical Perspective and Further Reading5.14 Exercises6 Storage and Other I/0 Topics6.1 Introduction6.2 Dependability, Reliability, and Availability6.3 Disk Storage6.4 Flash Storage6.5 Connecting Processors, Memory, and I/O Devices6.6 Interfacing I/O Devices to the Processor, Memory, andOperating System6.7 I/O Performance Measures: Examples from Disk and File Systems6.8 Designing an I/O System6.9 Parallelism and I/O: Redundant Arrays of Inexpensive Disks6.10 Real Stuff: Sun Fire x4150 Server6.11 Advanced Topics: Networks6.12 Fallacies and Pitfalls6.13 Concluding Remarks6.14 Historical Perspective and Further Reading6.15 Exercises7 Multicores, Multiprocessors, and Clusters7.1 Introduction7.2 The Difficulty of Creating Parallel Processing Programs7.3 Shared Memory Multiprocessors7.4 Clusters and Other Message-Passing Multiprocessors7.5 Hardware Multithreading 637.6 SISD,MIMD,SIMD,SPMD,and Vector7.7 Introduction to Graphics Processing Units7.8 Introduction to Multiprocessor Network Topologies7.9 Multiprocessor Benchmarks7.10 Roofline:A Simple Performance Model7.11 Real Stuff:Benchmarking Four Multicores Using theRooflineMudd7.12 Fallacies and Pitfalls7.13 Concluding Remarks7.14 Historical Perspective and Further Reading7.15 ExercisesInuexC D-ROM CONTENTA Graphics and Computing GPUSA.1 IntroductionA.2 GPU System ArchitecturesA.3 Scalable Parallelism-Programming GPUSA.4 Multithreaded Multiprocessor ArchitectureA.5 Paralld Memory System G.6 Floating PointA.6 Floating Point ArithmeticA.7 Real Stuff:The NVIDIA GeForce 8800A.8 Real Stuff:MappingApplications to GPUsA.9 Fallacies and PitflaUsA.10 Conduding RemarksA.1l HistoricalPerspectiveandFurtherReadingB1 ARM and Thumb Assembler InstructionsB1.1 Using This AppendixB1.2 SyntaxB1.3 Alphabetical List ofARM and Thumb Instructions B1.4 ARM Asembler Quick ReferenceB1.5 GNU Assembler Quick ReferenceB2 ARM and Thumb Instruction EncodingsB3 Intruction Cycle TimingsC The Basics of Logic DesignD Mapping Control to HardwareADVANCED CONTENTHISTORICAL PERSPECTIVES & FURTHER READINGTUTORIALSSOFTWARE作者简介:David A.Patterson,加州大学伯克利分校计算机科学系教授。

计算机组成原理与汇编语言程序设计课后习题及解答(详解)

计算机组成原理与汇编语言程序设计课后习题及解答(详解)

计算机组成原理与汇编语言程序设计课后习题及解答徐洁,俸远祯电子工业出版社第1章习题一1.什么是程序存储工作方式?答:计算机的工作方式——存储程序工作方式。

即事先编写程序,再由计算机把这些信息存储起来,然后连续地、快速地执行程序,从而完成各种运算过程。

2.采用数字化方法表示信息有哪些优点?用数字化方法表示信息的优点:(1)抗干扰能力强, 可靠性高。

(2)依靠多位数字的组合,在表示数值时可获得很宽的表示范围以及很高的精度。

(3)数字化的信息可以存储、信息传送也比较容易实现。

(4)可表示的信息类型与范围及其广泛,几乎没有限制。

(5)能用逻辑代数等数字逻辑技术进行信息处理,这就形成了计算机硬件设计的基础。

3.如果有7×9点阵显示出字符A的图像,请用9个七位二进制代码表示A的点阵信息。

4.数字计算机的主要特点是什么?1. (1)能在程序控制下自动连续地工作;(2|)运算速度快;(3)运算精度高;(4)具有很强的信息存储能力;(5)通用性强,应用领域及其广泛。

5.衡量计算机性能的基本指标有哪些?答:衡量计算机性能的基本指标:(1)基本字长——参加一次运算的数的位数;(2)数据通路宽度——数据总线一次能并行传送的位数;(3)运算速度——可用①CPU的时钟频率与主频,②每秒平均执行指令数,③典型四则运算的时间来表示。

(4)主存储器容量——可用字节数或单元数(字数)×位数来表示。

(6)配备的外围设备及其性能。

(7)系统软件配置。

7.系统软件一般包括哪些部分?列举你所熟悉的三种系统软件。

系统软件一般包括操作系统,编译程序、解释程序、各种软件平台等。

例如WINDOWS98操作系统,C 语言编译程序等,数据库管理系统。

8.对源程序的处理有哪两种基本方式?对源程序的处理通常有两种处理方式:解释方式和编译方式。

第2章习题二1.将二进制数(101010.01)2 转换为十进制数及BCD码。

解:(101010.01)2 = (42.25)10 = (01000010.00100101)BCD2.将八进制数(37.2)8转换为十进制数及BCD码.解:(37.2)8 = (31.25)10 =(00110001.00100101)BCD3.将十六进制数(AC.E)转换为十进制数及BCD码.解: (AC.E)16 =(172.875)10 = (000101110010.100001110101)BCD4.将十进制数(75.34)10转换为8位二进制数及八进制数、十六进制数。

计算机组成原理课程设计报告书

计算机组成原理课程设计报告书

计算机组成原理课程设计报告书计算机组成原理课程设计报告书目录一.实验计算机设计11.整机逻辑框图设计12.指令系统的设计23.微操作控制部件的设计54.设计组装实验计算机接线表135.编写调试程序14二.实验计算机的组装14三.实验计算机的调试151.调试前准备152.程序调试过程163.程序调试结果164.出错和故障分析16四.心得体会17五.参考文献17题目研制一台多累加器的计算机一实验计算机设计1.整机逻辑框图设计此模型机是由运算器,控制器,存储器,输入设备,输出设备五大部分组成。

1.运算器又是有299,74LS181完成控制信号功能的算逻部件,暂存器LDR1,LDR2,及三个通用寄存器R0,R1,R2等组成。

2.控制器由程序计数器PC、指令寄存器、地址寄存器、时序电路、控制存储器及相应的译码电路组成。

3.存储器RAM是通过CE和W/R两个微命令来完成数据和程序的的存放功能的。

4输入设备是由置数开关SW控制完成的。

5.输出设备有两位LED数码管和W/R控制完成的LR0LR1LR2寄存器AxBxCxR0-GR1-GR2-G数据总线(D_BUS)ALU-GALUMCNS3S2S1S0暂存器LT1暂存器LT2LDR1LDR2移位寄存器MS1S0G-299输入设备DIJ-G微控器脉冲源及时序指令寄存器LDIR图中所有控制信号LPCPC-G程序计数器LOADLAR地址寄存器存储器6116CEWE输出设备D-GW/RCPU图1整机的逻辑框图图1-1中运算器ALU由U7--U10四片74LS181构成,暂存器1由U3、U4两片74LS273构成,暂存器2由U5、U6两片74LS273构成。

微控器部分控存由U13--U15三片2816构成。

除此之外,CPU的其他部分都由EP1K10集成。

存储器部分由两片6116构成16位存储器,地址总线只有低八位有效,因而其存储空间为00H--FFH。

输出设备由底板上的四个LED数码管及其译码、驱动构成,当D-G和W/R均为低电平时将数据总线的数据送入数码管显示。

计算机组成原理课后习题参考答案

计算机组成原理课后习题参考答案

计算机组成原理答案第一章计算机系统概论1.比较数字计算机和模拟计算机的特点。

解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的;数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行。

两者主要区别见P1 表1.1。

2.数字计算机如何分类?分类的依据是什么?解:分类:数字计算机分为专用计算机和通用计算机。

通用计算机又分为巨型机、大型机、中型机、小型机、微型机和单片机六类。

分类依据:专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。

通用机的分类依据主要是体积、简易性、功率损耗、性能指标、数据存储容量、指令系统规模和机器价格等因素。

4.冯. 诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分?解:冯. 诺依曼型计算机的主要设计思想是:存储程序和程序控制。

存储程序:将解题的程序(指令序列)存放到存储器中;程序控制:控制器顺序执行存储的程序,按指令功能控制全机协调地完成运算任务。

主要组成部分有:(控制器、运算器)(CPU的两部分组成)、存储器、输入设备、输出设备(I/O设备)。

5.什么是存储容量?什么是单元地址?什么是数据字?什么是指令字?解:存储容量:指存储器可以容纳的二进制信息的数量,通常用单位KB、MB、GB来度量,存储容量越大,表示计算机所能存储的信息量越多,反映了计算机存储空间的大小。

单元地址:简称地址,在存储器中每个存储单元都有唯一的地址编号,称为单元地址。

数据字:若某计算机字是运算操作的对象即代表要处理的数据,则称数据字。

指令字:若某计算机字代表一条指令或指令的一部分,则称指令字。

6.什么是指令?什么是程序?解:指令:计算机所执行的每一个基本的操作。

程序:解算某一问题的一串指令序列称为该问题的计算程序,简称程序。

7.指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?解:一般来讲,在取指周期中从存储器读出的信息即指令信息;而在执行周期中从存储器中读出的信息即为数据信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(e.g., foo.o for MIPS)
Reads and Uses Directives
Replace Pseudoinstructions Produce Machine Language Creates Object File
CS61C L18 Running a Program I (14)
Translator reaction: add extra information
to help debugging (line numbers, names)
Interpreter slower (10x?), code smaller
(2X?) Interpreter provides instruction set independence: run on any machine
Review
Disassembly is simple and starts by
decoding opcode field.
Be creative, efficient when authoring C
Assembler expands real instruction set
(TAL) with pseudoinstructions (MAL)
Pseudoinstructions: instructions that
assembler understands but not in machine (last lecture) For example: mov $s1,$s2or $s1,$s2,$zero
CS61C L18 Running a Program I (12) Garcia, Spring 2008 © UCB
CS61C L18 Running a Program I (2)
Garcia, Spring 2008 © UCB
Overview
Interpretation vs Translation
Translating C Programs
Compiler Assembler
Linker (next time)
Assembler’s job to do conversion Assembler uses reserved register $at MAL makes it much easier to write MIPS
Only TAL can be converted to raw binary
program.
CS61C L18 Running a Program I (6) Garcia, Spring 2008 © UCB
Translation
Scheme Compiler is a translator from
Scheme to machine language. The processor is a hardware interpeter of machine language.
executes other programs.
Scheme Java C C++ Easy to program Inefficient to interpret Java bytecode Assembly machine language Efficient to interpret Difficult to program
Garcia, Spring 2008 © UCB
Assembler Directives (p. A-51 to A-53) directions to assembler, but do Give
not produce machine instructions
.text: Subsequent items put in user text segment (machine code) .data: Subsequent items put in user data segment (binary rep of data in source file) .globlsym: declares sym global and can be referenced from other files .asciizstr: Store the string str in memory and null-terminate it .word w1…wn: Store the n 32-bit quantities in successive memory words
CS61C L18 Running a Program I (10) Garcia, Spring 2008 © UCB
Steps to Starting a Program (translation)
CS61C L18 Running a Program I (11)
Garcia, Spring 2008 © UCB
Where Are We Now?
CS164
CS61C L18 Running a Program I (13)
Garcia, Spring 2008 © UCB
Assembler
Input: Assembly Language Code
(e.g., foo.s for MIPS)
Output: Object Code, information tables
CS61C L18 Running a Program I (9) Garcia, Spring 2008 © UCB
Interpretation vs. Translation? (2/2) Translated/compiled code almost always
more efficient and therefore higher performance:
UCB CS61C : Machine Structures
Lecture18 – Running a Program I
Lecturer SOE Dan Garcia
/~cs61c
(Compiling, Assembling, Linking, Loading)
Important for many applications,
particularly operating systems.
Translation/compilation helps “hide” the program “source” from the users:
One model for creating value in the
Switched from Motorola 680x0 instruction
architecture to PowerPC.
Similar issue with switch to x86.
Could require all programs to be re-
பைடு நூலகம்
translated from high level language Instead, let executables contain old and/or new machine code, interpret old code in software if necessary (emulation)
Compiler
Input: High-Level Language Code
(e.g., C, Java such as foo.c)
Output: Assembly Language Code
(e.g., foo.s for MIPS)
Note: Output maycontain pseudoinstructions
TINY ETCH-A-SKETCH
Researchers at the University of Pittsburgh have used an atomic force microscope (AFM) to draw tiny, electrically conductive paths (ala wires) on a special material. The lines were as thin as 3 nm, making this one of the most precise techniques for etching devices out of silicon. Rewritable logic circuits? /Nanotech/20362/ High-density memory? Very cool!
CS61C L18 Running a Program I (4) Garcia, Spring 2008 © UCB
Interpretation vs Translation
How do we run a program written in a
source language?
Interpreter: Directly executes a program in
Loader (next time)
An Example (next time)
CS61C L18 Running a Program I (3)
Garcia, Spring 2008 © UCB
Language Execution Continuum
An Interpreter is a program that
CS61C L18 Running a Program I (8) Garcia, Spring 2008 © UCB
Interpretation vs. Translation? (1/2) Generally easier to write interpreter
相关文档
最新文档