第一章:带你探寻微机系统奇经八脉!
本文内容包括:
- 计算机发展概况
- 微型计算机系统组成
- 微型计算机硬件系统
- 计算机软件系统
- 计算机工作过程
- 课后题解答
一,计算机发展概况
1,自1946年世界上第一台电子计算机ENIAC问世以来,计算机发展经历了四代:
电子管计算机
晶体管计算机
集成电路计算机
大规模及超大规模集成电路计算机
2,微型计算机属于第四代计算机,由微处理器、存储器和I/O接口电路组成。微处理器是微型计算机的核心,它是将季孙继中的运算器和控制器集成在一块硅片上制成的集成电路芯片,也成为中央处理单元。
微型计算机每2-4年更新一代,到目前已经发展到了第五代:
二,微型计算机系统组成
三个重要概念:
三,微型计算机硬件系统
1,基于总线结构
1) 冯诺依曼思想
如今计算机仍沿用1940年冯诺依曼首先提出的体系结构。其设计思想为:
a,以二进制形式表示指令和数据(信息形式:二进制数)
b,程序和数据实现存放在存储器中,计算机在工作时能够告诉地从存储器中取出指令加以执行。(数据存储与程序控制)
c,由运算器、控制器、存储器、输入设备和输出设备五大部件组成计算机硬件系统(系统组成:五大部件)
2)总线结构
a,定义(什么是总线结构):
所谓“总线”,是指计算机中各功能部件间传送信息的公共通道。
b,作用;
总线将微处理器、存储器以及I/O接口电路等连接起来。
c,分类及各自功能:
根据所传送信息内容的不同,可分为:
地址总线(AB,Address Bus):在对存储器或I/O端口进行访问时,传送由CPU提供的要访问存储单元或I/O端口的地址信息,以便选中要访问的存储单元或I/O端口。
数据总线(DB,Data Bus):从存储器取指令或读写操作数,对I/O端口进行读写操作时,指令码或操作信息通过数据总线送往CPU或由CPU送出。DB是双向总线。
控制总线(CB,Control Bus):各种控制或状态信息通过控制总线由CPU送往有关部件,或者从有关部件送完CPU。CB整体的方向是双向的,但其中每根线的方向是一定的。
d,优点:
采用总线结构,系统各部件均挂在总线上,可使微机系统的结构简单、易于维护、并具有更好的可扩展性。一个部件只要符合总线标准就可以直接插入系统,为用户对系统功能的扩充或升级提供了很大的灵活性。
2,微处理器
微型处理器由运算器、控制器、和内部寄存器三部分组成。
1)模型图
2)各部件介绍:
a,运算器
运算器又称为算术逻辑单元(ALU,Arithmetic Logic Unit)。用来进行算术或逻辑运算以及移位循环等操作。参与运算的两个操作数一个来自累加器,另一个来自于内部的数据总线,可以是数据缓冲寄存器(DR)中的内容,也可以是寄存器阵列(RA,Register Array)中某个寄存器的内容。
b,控制器
控制器又称为控制单元(Control Unit),是全机的指挥控制中心。它负责把指令逐条从存储器中取出,经译码器分析后发出取数、执行、存数等控制命令。以保证正确完成程序所要求的功能。控制器包括以下部分:
- ** 指令寄存器 (IR,Instruction Register)** 用来存放从存储器取出的将要执行的指令码。当执行一条指令时,先把它从内存取到数据缓冲寄存器DR中,然后再传送到指令寄存器IR中。
- **指令译码器(ID,Instruction Decoder):**用来对指令寄存器IR中的指令操作码字段(指令中用来说明指令功能的字段)进行译码,以确定该指令应执行什么操作。
- **可编程逻辑阵列(PLA,Programmable Logic Array):**用来产生取指令和执行指令所需要的各种微操作控制信号,并经过控制总线CB送往有关部门,从而使计算机完成相应的操作。
c,内部寄存器
虽然不同计算机的CPU所拥有的内部寄存器会有所不同,但一般至少有以下几种寄存器;
**程序计数器(PC,Program Counter):**程序计数器也被称为“指令指针"
(IP,Instruction Pointer)。它被用来存放下一条要执行指令所在存储单元的地址。在程序开始执行前,必须将它的初始地址,即程序的第一条指令所在存储单元的地址,存入PC中。读取指令时,PC中的地址送入AR中,之后,CPU会自动更改PC中的地址,更改为下一条要执行的指令所在存储单元的地址,以使PC中的内容永远都是下一条要执行的指令所在存储单元的地址。由于大多数指令是按顺序执行的,因此修改的办法通常只是简单的对PC加1。但也有跳转等改变程序执行顺序的指令,此时,下一条要执行的指令的地址将会由IR中的地址字段送往PC。**地址寄存器(AR,Address Register):**地址寄存器用来存放正要取出的指令的地址或操作数的地址。由于内存单元和CPU之间存在操作速度上的差异,因此必须使用地址俱存起来保持地址信息,知道内存的读/写操作完成为止。
在取指令时,PC中存放的指令所在存储单元的地址会被送往AR中,再根据此地址从存储器中读出指令。
在取操作数或写入数据时,都要将要取操作数或写入数据的存储单元的地址通过内部数据总线送往AR中,再根据此地址从存储器存储单元中取出操作数或向存储单元中写入数据。**数据缓冲寄存器(DR,Data Register):**数据缓冲寄存器用来暂时存放指令或数据。从存储器中读出数据时,若是指令,则读出的指令将会由DR经过内部数据总线被送到IR中;若读出的是数据,则读出的数据将会由DR经过内部数据总线被送到运算器或有关的寄存器。同样的,当往存储器中写入数据时,数据也要先送到DR中,然后由数据总线写入存储器中。数据缓冲寄存器是CPU和内存、外部设备之间信息传送的中转站,用来补偿(缓冲)CPU和内存、外部设备之间在操作速度上存在的差异。
**累加器(A,Accumulator):****累加器是使用最频繁的一个寄存器。在执行算术逻辑单元时,它用来存放一个操作数,而运算结果通常又被放入累加器,其中原有信息随机被破坏。因此,顾名思义,累加器是用来暂时存放ALU运算结果的。显然,CPU中至少拥有一个累加器。目前CPU中通常有很多个累加器,当使用多个累加器时,就变成了通用寄存器堆结构,其中任何一个既可存放目的操作数,也可存放源操作数。80x86系列CPU就采用了这种累加器结构。
**标志寄存器(FLAGS,Flag Register):**标志寄存器有时也成为程序状态字
(PSW,Program Status Word)。它用来存放执行算数运算指令、逻辑运算指令或测试指令后建立的各种状态码内容以及对CPU操作进行控制的控制信息。标志位的具体设置及功能随微处理器型号的不同而不同。编写程序时,可以通过测试有关标志位的状态(0或1)来决定程序的流向。**寄存器阵列(RA,Register Array):**寄存器阵列实际上相当于微处理器内部的RAM。微处理器内部有了这些寄存器后,就可以:避免频繁的访问存储器;缩短指令长度和指令执行时间;提高机器的运行速度;方便程序设计。不容类型CPU的寄存器阵列规模大小会有所不同。
3,存储器
1)一些概念
位(Bit):二进制信息的最小单位(0或1)
字节(Byte):由8位二进制数组成,可以存放在一个存储单元中。字节是字的基本组成单位
字(Word):计算机中作为一个整体来处理和运算的一组二进制数,是字节的整数倍。通常它与计算机内部的寄存器、算术逻辑单元、数据总线宽度相一致。每个字包括的位数称为计算机的字长,是计算机的重要性能指标。
内存容量:内存中存储单元的总数。通常以字节为单位,1024(210)字节记作1KB,220字节记作1MB。
2)对内存的操作:读和写
读操作是CPU将内存单元的内容读入CPU内部,写操作是CPU将其内部信息送到内存单元保存起来。
向内存单元“读出”信息的操作过程如图所示假设将地址为90H的单元中的内容10111010B(BAH)“读入“CPU,其操作过程如下:
a)CPU经地址寄存器AR将要读取单元的地址信息10010000B(90H)经地址总线送到地址译码器,然后由地址译码器选中90H单元。
b)CPU发出“读”控制信号。
c)在“读”控制信号的作用下,将90H单元中的内容10111010B(BAH)读入地址总线上,然后经数据缓冲寄存器DR送入CPU中的有关部件进行处理。
向内存单元”写入“信息的操作过程如图所示。假定要将数据0写入内存中地址为90H的单元,其操作过程如下:
a) CPU要把写入单元的地址信息90H经地址寄存器AR送到地址总线上,送到地址译码器上,然后由地址译码器选中存储单元90H。
b) 待写入的数据00000000B经数据缓冲器DR放到数据总线上。
c) CPU发出"写”控制信号。
d) 在写控制信号的作用下将数据0写入90H单元。此时,90H单元中原有的数据10111010B就被00000000B所替代。
3)内存分类
按工作方式,内存可分为两大类:随机读写存储器RAM(Random Access Memory)和只读存储器ROM(Read Only Memory)。
随机读写存储器可被CPU随机的读写,它用于存放将要被CPU执行的用户程序、数据以及部分系统程序。断电后,其中存放的所有信息将丢失。
只读存储器中的信息只能被CPU读取,而不能由CPU任意地写入。断电后,其中的信息不会丢失。只读存储器用于存放永久性的程序和数据,如系统引导程序、监控程序、操作系统中的BIOS等。
4,I/O接口与输入输出设备
四,计算机软件系统
所谓软件,就是为了管理、维护计算机以及为完成用户的某种特定任务而编写的各种程序的总和。
微型计算机的软件包括:系统软件和用户(应用)软件。
五,计算机的工作过程
通过在一个8位机模型上运行一个简单的程序来说明。
具体过程参考我的博客:计算机是怎样运行的?
参考文献:
《微型计算机原理(第二版)》 王忠民主编
第一章:带你探寻微机系统奇经八脉!相关推荐
- 深入理解Magento – 第一章 – Magento强大的配置系统
深入理解Magento 作者:Alan Storm 翻译:Hailong Zhang 第一章 – Magento强大的配置系统 Magento的配置系统就像是Magento的心脏,支撑着Magento ...
- 《网络安全工程师笔记》 第一章:虚拟化架构与系统部署
注:本笔记来自温晓飞老师的网络安全课程 第一章:虚拟化架构与系统部署 第一章:虚拟化架构与系统部署 第二章:IP地址详解 第三章:进制转换 第四章:DOS基本命令与批处理 第五章:用户与组管理 第六章 ...
- 学习编程第一章 `大数据应用` linux系统jdk安装
学习编程第三章 大数据应用 linux系统jdk安装 下载jdk 下载网址: https://www.oracle.com/technetwork/java/javase/downloads/java ...
- 第一章:1.2.2系统分类(二)
可逆与不可逆系统 如图所示,可逆系统的定义与可逆函数的定义完全类似.具有反函数的函数是可逆函数.如果一个系统可以写成可逆函数的形式,那么这个系统是可逆系统 像y=x^3 是可逆系统,y=x^2就是不可 ...
- 第一章:1.2.2系统分类(一)
系统的分类多种多样,我们在这里主要研究的是线性时不变系统 下面我们分别进行介绍 即时系统与动态系统 相比于即是系统,动态系统有更强的信号抗干扰能力 对于动态系统而言,他的当前时刻输出是和以前的输入有着 ...
- SSVEP介绍|第一章 SSVEP的基础应用系统|第二节 SSVEP的信号处理过程(1)
摘要-- 这一节主要讲解SSVEP的去噪和滤波过程,众所周知,对于一个信号来说,噪声和滤波过程直接决定了信号的可用性.特别是对BCI信号来说,由于脑电信号比较微弱,干扰较大,所以其去噪和滤波的好坏直接 ...
- 第一章 青橙电商系统搭建
文章目录 **4.3工程搭建** 4.3工程搭建 创建公共模块qingcheng_common,resources下创建applicationContext-common.xml 作用为加载路径下的p ...
- linux man手册_读书笔记:Linux命令行与shell脚本编程大全 第一章~第五章
第一章 初识Linux shell 1.系统内存管理 在Linux中使用的是请求分页的管理方式. 2.软件程序管理 Linux内核创建了第一个进程(init进程)来启动系统上所有其他进程. 3.硬件设 ...
- 《Android深度探索》第一章心得体会
<Android深度探索>第一章心得体会 由于Android系统现在的火爆,关于Android系统的应用开发不断出现,Android系统不一定只满足在手机这一种 平台上运行想要在不同的设备 ...
最新文章
- 2020 年 10 月程序员工资统计,终于涨了!
- 阿里云马劲:保证云产品持续拥有稳定性的实践和思考\n
- 输入法之核心词典构建
- Android动画之Tween动画实战
- 导出滴滴行程单_身穿统一的绿马甲!滴滴货运小哥上线首日即爆单
- vue vuex 挂载_vue.js,javascript_Vuex的初始化失败,一直显示没有挂载到根组件上,奇怪了!,vue.js,javascript - phpStudy...
- java勇者大冒险_勇者大冒险 第一集 开车时英文歌 什么名
- STL之deque详解
- _云计算学习路线图素材课件,Linux中软件安装的方式
- python的os模块使用_Python学习笔记之os模块使用总结
- 学院教务管理系统oracle设计,浙工院教学教务管理信息系统的设计与实现
- 2020家用千兆路由器哪款好_千兆路由器哪个好 2020年值得入手的家用千兆路由器推荐...
- Kotlin 一种以服务为基础的APP架构及源码示例
- 主机前置耳机孔没声音
- 【转】火影10大秘密最终之解(杜撰)
- 《靠谱》里提到的书目
- python窗口显示文本tk_python-Tkinter文本小部件设置选项卡
- win7如何调整计算机c盘,两种解决win7c盘越来越小的技巧
- 《Data Structures and Algorithm Analysis in C》学习与刷题笔记
- Sangria:PLONK + Folding
热门文章
- 亿级高并发电商项目-- 实战篇 --万达商城项目 八(安装FastDFS、安装Nginx、文件服务模块、文件上传功能、商品功能与秒杀商品等功能)
- 解析Binder框架
- OpenShift V3 应用发布部署的简单场景演示
- mybatis异步操作数据库
- 基于SSM的个人饮食健康运动作息时间数据分析管理系统(javaweb-php-asp.netC#-j2ee)包含数据统计分析建议
- Java英语单词(语言基础)
- C++中typedef和类型别名
- 【C#】后台线程IsBackground
- centos7 的网卡配置文件设置bond接口. 如何固定mac地址?
- 你必须知道的10个常见黑客技术