1.2.2 计算机硬件的基本组成

1、早期的冯.诺伊曼体系结构 存储程序的思想奠定了现代计算机的基本结构。

1)计算机硬件系统由运算器、控制器、存储器、输入设备、输出设备五大部分组成的; 2)指令和数据以同等的地位存于存储器中,并可按地址寻访。

3)指令和数据均以二进制代码表示。

4)指令由操作码地址码两部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;

5)指令在存储器中按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结果过根据设定的条件改变执行顺序。 6)早期的冯诺依曼机以运算器为中心,输入/输出设备通过运算器和存储器传送数据。 注意:存储程序的概念是指将程序以代码的形式实现输入到计算机主存储器中,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。 2.现代计算机的组织结构 在微处理器问世之前,运算器和控制器分离,而且存储器的容量很小,故而设计成以运算器为中心,其他部件都通过运算器完成信息的传递。 而随着微电子技术的进不,计算机需要处理、加工的信息量也与日俱增,大量I/O设备的速度和CPU的速度差距悬殊,故而以运算器为中心的结构不能满足计算机发展的要求。现代计算机已经发展成为以存储器为中心,使I/O操作尽可能地绕过CPU,直接在I/O设备和存储器之间完成,以提高系统的整体运行效率。 目前绝大多数现代计算机仍遵循冯诺依曼的存储程序的设计思想。 3.计算机的功能部件 传统的冯诺依曼计算机和现代计算机的结构虽然有所不同,但功能部件是一致的,它们的功能部件包括: (1)输入设备 将程序和数据以计算机所能识别和接受的信息形式输入到计算机。 (2)输出设备 将计算机处理的结果以人们所能接受的形式或其他系统所要求的信息形式输出。 最常用、最基本的输出设备是显示器、打印机。计算机的输入、输出设备(简称I/O设备)是计算机与外界连接的桥梁,是计算机中不可缺少的一个重要组成部分。 (3)存储器 存储器是计算机的存储部件,用来存放程序和数据。 存储器分为主存储器(简称主存,也称被存储器)和辅助存储器(简称辅存,也称外存储器)。CPU能够直接访问的存储器是主存储器,辅助存储器用于帮助主存储器记忆更多的信息,辅助存储器中的信息必须调入主存后,才能为CPU所访问。 主存储器有许多存储单元组成,每个存储单元包括若干个存储元件,每个存储元件存储一位二进制代码“0”或“1”。故而存储单元可存储一串二进制代码,称这串代码为存储字,这串代码的位数称为存储字长,存储字长可以是一个字节(8bit)或者字节的偶数倍。 主存储器的工作方式是按存储单元的地址进行存取的,这种存取方式称为地址存取方式(相连存储器是按内存访问的)。 存储体存放二进制信息,地址寄存器(MAR)存放地址,经过地址译码后找到所选的存储单元。 数据存储器(MDR)是主存和其他部件的中介机构,用于暂存要从存储器中读或者写的信息。 时序控制逻辑用于产生存储器操作所需的各种时序信号。 MAR的位数对应存储单元的个数,如MAR为10位则有2^10=1024个存储单元,记为1k. MDR的位数和存储字长相等,即存储单元可容纳的存储元件的个数。 (4)运算器 运算器是计算机的执行部件,用于对数据进行加工处理,完成算术运算和逻辑运算。算术运算如加、减、乘、除的按算术运算规则进行的运算,逻辑运算则是如与、或、非、异或、比较、移位等运算。 运算器的核心是算术逻辑单元ALU(Arithmetic and Logical Unit)。运算器包含若干通用寄存器,用于暂存操作数和中间结果,如累加器(ACC)、乘商寄存器(MQ)、操作数寄存器(x)、变址寄存器(IX)、基址寄存器(BR)等,其中前3个寄存器是必须有的。 运算器中还有程序状态寄存器(PSW),保留各类运算指令或测试指令的结果的各类状态信息,以表征系统运行状态。 (5)控制器 控制器是计算机的指挥中心,由其指挥各部件自动协调地进行工作。控制器有程序计数器(PC)、指令寄存器(IR)、控制单元(CU)组成。 PC用来存放当前欲执行指令的地址,可以自动加一形成下一条指令的地址,它与主存的MAR之间有一条通路。 IR用来存放当前指令,其内容来自主存的MDR,指令中的操作码OP(IR)直至CU,用以分析指令并发出各种微操作命令序列,而地址码Ad(IR)送至MAR来取操作数。 现代计算机一般将运算器和控制器集成到同一个芯片上,合称为中央处理器,简称CPU,CPU和主存储其共同构成主机,而计算机中出去主机的其他硬件装置(如I/O)统称为外部设备(简称外设)。也就是说,外设主要包括外存和I/O。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT平头哥联盟

如何给localStorage设置一个有效期

​  这个话题其实在上次分享<小程序填坑记里讲过了>已经讲过(大佬可绕过哦~),但后来群里/评论都有些同学,提到了一些疑问,问能否单独整理一篇更为详细的分享,讲...

1846
来自专栏互联网杂技

通俗讲解:缓存、缓存算法和缓存框架

1 引言 我们都听过 cache,当你问他们是什么是缓存的时候,他们会给你一个完美的答案,可是他们不知道缓存是怎么构建的,或者没有告诉你应该采用什么标准去选择缓...

3436
来自专栏苦逼的码农

加锁还是不加锁,这是一个问题

上次我说过, 我们这个线程的世界是个弱肉强食的地方, 大家为了争抢资源大打出手,时不时闹出些内存数据互相被覆盖的事故, 给人类带了无穷的烦恼。

1636
来自专栏我和PYTHON有个约会

JDK10?转一篇文章过过瘾

工欲善其事,必先利其器。作为老牌军 Java 在发行二十多年的今天,战胜了 C 和 C++,成为诸多开发者的宠儿,且如今从其更新速度来看,也是不甘落后。

1083
来自专栏Pythonista

第一篇:初始Golang

编程语言已经非常多,偏性能敏感的编译型语言有 C、C++、Java、C#、Delphi和Objective-C 等,偏快速业务开发的动态解析型语言有PHP、Py...

1372
来自专栏云加头条

智能云上手指南:语音合成 API 快速接入

本文将为大家讲解如何上手智能云提供的智能语音识别服务。

9112
来自专栏点滴积累

geotrellis使用(二十九)迁移geotrellis至1.1.1版

目录 前言 升级过程 总结 一、前言        由于忙着安装OpenStack等等各种事情,有半年的时间没有再亲密的接触geotrellis,甚至有半年的时...

3594
来自专栏崔庆才的专栏

使用requests+正则表达式爬取猫眼电影排行

本节中,我们利用requests库和正则表达式来抓取猫眼电影TOP100的相关内容。requests比urllib使用更加方便,而且目前我们还没有系统学习HTM...

7087
来自专栏Java3y

纳税服务系统七(投诉管理模块)【显示投诉信息、处理回复、我要投诉、Quartz自动受理、统计图FusionCharts】

投诉受理管理模块 接下来,就是来开发我们的投诉受理管理模块了…..我们来看看原型图与需求吧: 查询用户提交的投诉信息,可以根据投诉部门(部门A/B)、投诉时间段...

5817
来自专栏牛客网

蚂蚁金服暑期实习生一面总结

6382

扫码关注云+社区