热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微程序级计算机系统,[计组原理篇]计算机系统概论

计算机系统简介软硬件概念计算机系统由硬件和软件两大部分组成.所谓“硬件”:是指计算机的实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机

计算机系统简介

软硬件概念

计算机系统 由"硬件"和"软件"两大部分组成.

5c2295bf7f9029065311eab2a27357c3.png

所谓“硬件”:

是指计算机的实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机设备的实物组成,如主机、外部设备等.

所谓“软件” :

它看不见摸不着,由人们事先编制的各种具有各类特殊功能的程序组成.

66a6feb29a398a934663be4aa4c3147e.png

计算机系统层次结构

计算机系统层次结构,指的是计算机系统由硬件和软件两大部分所构成,而如果按功能再细分,可分为7层。

把计算机系统按功能分为多级层次结构,就是有利于正确理解计算机系统的工作过程,明确软件,硬件在计算机系统中的地位和作用。

3e42a8d688ac41171e762765c013e5e8.png

硬联逻辑级:

这是计算机的硬件,

由存储器、控制器、中央处理器和输入输出设备组成。

微程序级:

这级的机器语言是微指令集,

程序员用微指令编写的微程序,

一般是直接由硬件直接执行的。

传统机器级:

这级的机器语言是该机的指令集,

程序员用机器指令编写的程序可以由微程序进行解释。

操作系统级:

从操作系统的基本功能来看,

一方面它要直接管理传统机器中的软硬件资源,

另一方面它又是传统机器的延伸.

汇编语言级:

这级的机器语言是汇编语言

完成汇编语言翻译的程序叫做汇编程序.

高级语言级:

这级的机器语言就是各种高级语言

通常用编译程序来完成高级语言翻译的工作

应用语言级:

为了使计算机满足某种用途而专门设计的

因此这一级语言就是各种面向问题的应用语言.

8170ca911017826ac3b4e77dcba4043b.png

组成和体系结构

注意:这是两个不同的概念

计算机体系结构

是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构和功能特性.

机器属性:

指令系统

数据类型

存储器寻址技术

I/O机理

...

计算机组成

是指如何实现计算机体系结构所体现的属性,包硬件细节.(具体指令的实现)

举例说明:

指令系统体现的是机器的属性,所以归类为计算机体系结构的问题;但是如何取指令、分析指令、取操作数、运算等则属于计算机组成的问题.

计算机基本组成

冯-诺依曼计算机特点归结:

组成(五大部件):运算器、存储器、控制器、输入设备和输出设备

指令和数据以同等地位存储与存储器,可按地址寻访

指令和数据用二进制表示

指令由操作码和地址码组成

#操作码用来表示操作的性质

#地址码用来表示操作数在存储器中的位置

指令在存储器内按顺序存放

机器以运算器为中心

计算机硬件框图:

冯诺依曼计算机硬件框图:

2eb4fca291a9eaf7428bb333069ed737.png

以存储器为中心的计算机硬件框图:

50475e4e6dbd2ae7c5bf252877ad6001.png

现代计算机硬件框图:

b7a723aabacdfa2844c4c4e64d3cde11.png

各部件功能如下:

运算器:

完成算术运算和逻辑运算

并将运算的中间结果暂存在运算器内

存储器:

存放数据和程序

控制器:

控制、指挥程序和数据输入、运行以及处理运算结果

输入设备:

将人类的信息形式转换为机器可识别的信息形式

输出设备:

将机器运算结果转换为人类熟悉的信息形式

五大部件的组成:

下图是细化的计算机组成框图:

8bd802f222c2a9d87a778884e69cc842.png

主存储器

主存储器(简称主存/内存)包括存储体M、各种逻辑部件及控制电路.

存储体由许多存储单元组成,每个存储单元又包含若干个存储元件(或称存储基元,存储元),每个存储元件能寄存一位二进制代码"0"或"1".

98e1959968a8562c48e35a59d62a036d.png

为了能实现按地址访问的方式,主存中还必须配有两个寄存器MAR和MDR.

MAR(Memory Address Register)是存储地址寄存器,用来存放欲访问的存储单元的地址,其位数对应存储单元的个数(如MAR为10位,则有2^10=1024个存储单元,记为1K).

MDR(Memory Data Register)是存储器数据寄存器,用来存放从存储体某单元取出的代码或者准备往某存储器单元存入的代码,其位数与存储字长相等.

83777f8983f806303cc6c70cf23e17ff.png

运算器

运算器最少包括3个寄存器(通用寄存器组)和一个算术逻辑单元(ALU).其中ACC(Accumulator)为累加器,MQ(Multiplier-Quotient Register)为乘商寄存器,X为操作数寄存器.

ca5547b989f495b3776171dba1fd1840.png

控制器

控制器由程序计数器(Program Counter, PC)、指令寄存器(Instruction Register, IR)以及控制单元(CU)组成.

PC用来存放当前欲执行指令的地址,它与主存的MDR之间有一条直接通路,且具有自动加1的功能,即可自动形成下一条指令的地址.

IR用来存放当前的指令,IR的内容来自主存的MDR.

CU用来分析当前指令所需完成的操作,并发出各种微操作命令序列,用以控制所有被控对象.

17dbedc708545521cf9ff694b3b94639.png

I/O

I/O子系统包括各种I/O设备及其相应的接口.每一种I/O设备都由I/O接口和主机联系,它接收CU发出的各种控制指令,并完成相应的操作.

各种语言的特点

高级语言:

这类语言对问题的描述十分接近人们的习惯,并且还具有较强的通用性.

汇编语言:

用符号表示操作, 并用符号表示指令或数据所在存储单元的地址, 使程序员可以不再使用繁杂而又易错的二进制代码来编写程序.

机器语言:

用户必须用二进制代码来编写程序。 要求程序员对他们所使用的计算机硬件及其指令系统十分熟悉,编写程序难度很大,操作过程也极容易出错.

硬件的技术指标

机器字长

机器字长是指 CPU一次能处理的数据的位数,通常与 CPU的寄存器位数有关.

机器的字长会影响机器的运算速度.

存储容量

存储器的容量包括主存容量和辅存容量.

主存容量是指主存中存放二进制代码的总位数.即

存储容量 = 存储单元 x 存储字长

辅存容量通常用字节数表示

1字节=8bit=8位二进制代码

如某辅存(机械硬盘)的容量为80GB(1G=1024M=210 x 220=230)

运算速度

计算机的运算速度与许多因素有关,如机器的主频、操作的性质、主存本身的速度(主存速度快,取指令、取数据就快)等都有关.

5aefedddcabe623e094ff4bf8c5dcced.png

参考资料:

《计算机组成原理》



推荐阅读
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 在2022年,随着信息化时代的发展,手机市场上出现了越来越多的机型选择。如何挑选一部适合自己的手机成为了许多人的困扰。本文提供了一些配置及性价比较高的手机推荐,并总结了选择手机时需要考虑的因素,如性能、屏幕素质、拍照水平、充电续航、颜值质感等。不同人的需求不同,因此在预算范围内找到适合自己的手机才是最重要的。通过本文的指南和技巧,希望能够帮助读者节省选购手机的时间。 ... [详细]
  • 深入理解Java虚拟机的并发编程与性能优化
    本文主要介绍了Java内存模型与线程的相关概念,探讨了并发编程在服务端应用中的重要性。同时,介绍了Java语言和虚拟机提供的工具,帮助开发人员处理并发方面的问题,提高程序的并发能力和性能优化。文章指出,充分利用计算机处理器的能力和协调线程之间的并发操作是提高服务端程序性能的关键。 ... [详细]
  • 三、查看Linux版本查看系统版本信息的命令:lsb_release-a[root@localhost~]#lsb_release-aLSBVersion::co ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 网卡工作原理及网络知识分享
    本文介绍了网卡的工作原理,包括CSMA/CD、ARP欺骗等网络知识。网卡是负责整台计算机的网络通信,没有它,计算机将成为信息孤岛。文章通过一个对话的形式,生动形象地讲述了网卡的工作原理,并介绍了集线器Hub时代的网络构成。对于想学习网络知识的读者来说,本文是一篇不错的参考资料。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Docker安装Rabbitmq(配合宝塔)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Docker安装Rabbitmq(配合宝塔)相关的知识,希望对你有一定的参考价值。一、事前准备 ... [详细]
  • 设计完成后,将所完成的作品交由老师检查。管理进程接收申请进入的信号,在消息队列中取下申请进入队列的用户进程的信息,针对当前临界区状态,写一个回馈信息 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 浅析对象 VO、DTO、DO、PO 概念
    作者|CatQi链接|cnblogs.comqixuejiap4390086.html前言由于此订阅号换了个皮肤,导致用户接受文章不及时。读者可以打开订阅号「Web项 ... [详细]
  • 多线程补充(一)JVM内存结构 VS Java内存模型 VS Java对象模型
    一:Java内存结构参考:https:www.zhihu.comquestion64586462answer576543433内存结构࿱ ... [详细]
  • RabbitMQ的消息持久化处理
    1、RabbitMQ的消息持久化处理,消息的可靠性是RabbitMQ的一大特色,那么RabbitMQ是如何保证消息可靠性的呢——消息持久化。2、auto ... [详细]
author-avatar
倾其h所有只为爱你
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有