当前位置: 首页 > news >正文

微型计算机原理知识点总结(一)

目录

一.微型计算机

 二.微型计算机系统

1.微型计算机硬件系统 

冯·诺依曼体系结构

总线

(1)微处理器(CPU)

运算器

控制器

内部寄存器 

(2)存储器 

1.基本概念

2.内存的操作

3.内存的分类

(3)I/O接口与输入/输出设备 

2.微型计算机软件系统

(1)系统软件

操作系统

系统应用程序

(2)用户(应用)软件

三.微型计算机的工作过程


一.微型计算机

自 1946 年世界上第一台电子计算机ENIAC 问世以来,计算机技术得到了突飞猛进的发展,在短短的几十年里,计算机的发展已经历了四代: 电子管计算机、晶体管计算机、集成电路计算机、大规模及超大规模集成电路计算机。目前,各国正加紧研制和开发第五代“非冯·诺依曼”计算机和第六代“神经”计算机。

我们要研究的微型计算机属于第四代计算机.

微型计算机(Microcomputer)是由微处理器(CPU)、存储器和 I/0接口电路组成的计算机

其中微处理器(Microprocessor)是微型计算机的核心,它是将计算机中的运算器和控制成在一块硅片上制成的集成电路芯片。这样的芯片也被称为中央处理单元(Central Proce
Unit),简称CPU。

30多年来,微处理器和微型计算机获得了极快的发展,几乎每两年微处理器的集成度就要翻一番,每2~4年更新换代一次,现已进入第五代。

  1. 第一代(1971-1973):4位或低档8位微处理器
  2. 第二代(1974一1977):中高档8位微处理器
  3. 第三代(1978-1984):16位微处理器 
  4. 第四代(1985-2004):32位微处理器 
  5. 第五代(2005年以后):64位高档微处理器

 二.微型计算机系统

微型计算机系统(Microcomputer System)是指以微型计算机为中心,配以相应的外围设备、电源和辅助电路(统称硬件)以及指挥计算机工作的系统软件所构成的系统。与一般的计算机系统一样,微型计算机系统也是由硬件和软件两部分组成的.

1.微型计算机硬件系统 

冯·诺依曼体系结构

到目前为止,计算机仍沿用 1940年由冯·诺依曼首先提出的体系结构。其基本设计思想为:

①以二进制形式表示指令和数据

②程序和数据事先存放在存储器中,计算机在工作时能够高速地从存储器中取出指令加以执行。

③由运算器、控制器、存储器、输入设备和输出设备等五大部件组成计算机硬件系统。

微机体系结构的特点之一是采用总线结构,通过总线将微处理器(CPU)、存储器(RAM和ROM)、I/O接口电路等连接起来,而输入/输出设备则通过I/O接口实现与微机的信息交换.,如下图所示:

总线

所谓总线,是指计算机中各功能部件间传送信息的公共通道,是微型计算机的重要组成部分。它们可以是带状的扁平电缆线,也可以是印刷电路板上的一层极薄的金属连线.所有的信息都通过总线传送。根据所传送信息的内容与作用不同,总线可分为以下三类:

  • 地址总线AB(Address Bus): 在对存储器或IO端口进行访问时,传送由 CPU提供的要访问存储单元或I/O 端口的地址信息,以便选中要访问的存储单元或 IO 端口。AB是单向总线。
  • 数据总线 DB(Data Bus): 从存储器取指或读写操作数,对IO端口进行读写操作时,指令码或数据信息通过数据总线送往 CPU或由 CPU送出。DB 是双向总线
  • 控制总线CB(Control Bus): 各种控制或状态信息通过控制总线CPU送往有关部件,或者从有关部件送往 CPU。CB 中每根线的传送方向是一定的,上图中CB作为一个整体,用双向表示。

采用总线结构时,系统中各部件均挂在总线上,可使微机系统的结构简单,易于维护,并具有更好的可扩展性。一个部件(插件)只要符合总线标准就可以直接插入系统,为用户对系统功能的扩充或升级提供了很大的灵活性。

(1)微处理器(CPU)

微处理器结构:

运算器

运算器又称算术逻辑单元(ALU,Arithmetic Logic Unit),用来进行算术或逻辑运算以及移位循环等操作。参加运算的两个操作数一个来自累加器A(Accumulator),另一个来自内部数据总线,可以是数据缓冲寄存器 DR(Data Register)中的内容,也可以是寄存器阵列RA(RegisterArray)中某个寄存器的内容。

控制器

控制器又称控制单元(CU,Control Unit),是全机的指挥控制中心。它负责把指令逐条从存储器中取出,经译码分析后向全机发出取数、执行、存数等控制命令,以保证正确完成程序所要求的功能。控制器中包括以下几部分:

  • 指令寄存器IR(Instruction Register): 用来存放从存储器取出的将要执行的指令码当执行一条指令时,先把它从内存取到数据缓冲寄存器 DR 中,然后再传送到指令寄存器R中。
  • 指令译码器 ID(Instruction Decoder): 用来对指令存器IR 中的指令操作码字段(指控制信令中用来说明指令功能的字段)进行译码,以确定该指令应执行什么操作。
  • 可编程逻辑阵列 PLA(Programmable Logic Array): 用来产生取指令和执行指令所需要的各种微操作控制信号,并经过控制总线 CB 送往有关部件,从而使计算机完成相应的操作
内部寄存器 
  • 程序计数器 PC(Program Counter)

程序计数器有时也被称为指令指针(P,Instruction Pointer),它被用来存放下一条要执行指令所在存储单元的地址。在程序开始执行前,必须将它的起始地址,即程序的第一条指令所在的存储单元地址送入 PC。当读取指令时,CPU将自动修改 PC 内容,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令是按顺序执行的,因此修改的办在计算机内部法通常只是简单地对PC加1。但遇到跳转等改变程序执行顺序的指令时,后继指令的地址便于对存储器进行进制信息,每个有(即PC的内容)将从指令寄存器中的地址字段得到。

  • 地址寄存器AR(Address Register)
  • 数据缓冲寄存器DR(Data Register)
  • 累加器A(Accumulator)
  • 标志寄存器FLAGS(Flag Register)
  • 寄存器阵列RA(Register Array)

(2)存储器 

这里介绍的存储器是指内存储器(又称为主存或内存)。它是微型计算机的存储和记忆装置,用来存放指令、原始数据、中间结果和最终结果。

1.基本概念

(1)位(Bit):二进制信息的最小单位(0 或1)。

(2) 字节(Byte):由 8 位二进制数组成,可以存放在一个存储单元中。字节是字的基本组成单位。

(3)字(Word): 计算机中作为一个整体来处理和运算的一组二进制数,是字节的整数.通常它与计算机内部的寄存器、算术逻辑单元、数据总线宽度相一致。每个字包括的位数称为计算机的字长,是计算机的重要性能指标。

(4)内存容量: 内存中存储单元的总数。通常以字节为单位,1024字节记作 1KB,2的20次方字节记作1MB。

(5)内存单元地址:为了能识别不同的单元,每个单元都赋予一个编号,这个编号称为内存单元地址。显然,各内存单元的地址与该地址对应的单元中存放的内容是两个完全不同的概念,不可混淆。

2.内存的操作

CPU对内存的操作有两种:读或写。读操作是 CPU将内存单元的内容读入 CPU 内部而写操作是 CPU将其内部信息送到内存单元保存起来。显然,写操作的结果改变了被写内存单元的内容,是破坏性的,而读操作是非破坏性的,即该内存单元的内容在信息被读出之后仍保持原信息不变。

3.内存的分类

按工作方式,内存可分为两大类:随机读写存储器RAM(RandomAccessMemory)和只读存储器ROM(Read Only Memory)。

随机读写存储器可被CPU随机地读写,它用于存放将要被CPU执行的用户程序、数据以及部分系统程序。断电后,其中存放的所有信息将丢失。
只读存储器中的信息只能被 CPU读取,而不能由CPU 任意地写入。断电后,其中的信息不会丢失。只读存储器用于存放永久性的程序和数据,如系统引导程序、监控程序、操作系统中的基本输入/输出管理程序(BIOS)等。

(3)I/O接口与输入/输出设备 

I/O接口是微型计算机与输入/输出设备之间信息交换的桥梁。

I/O 接口也称为 O 适配器,不同的外设必须通过不同的IO接口才能与微机相连。所以,I/O接口是微型计算机应用系统不可缺少的重要组成部件。任何一个微机应用系统的研制和开发,实际上都是 I/O 接口的研制和开发。

2.微型计算机软件系统

所谓软件,就是为了管理、维护计算机以及为完成用户的某种特定任务而编写的各种程序的总和。计算机的工作就是运行程序,通过逐条地从存储器中取出程序中的指令并执行指令规定的操作而实现某种特定的功能,因此,软件是微型计算机系统不可缺少的组成部分。微型计算机的软件包括系统软件和用户(应用)软件。

(1)系统软件

系统软件是指不需要用户干预的,为其他程序的开发、调试以及运行等建立一个良好环境的程序,主要包括操作系统 OS(Operating System)和系统应用程序。

操作系统

操作系统是一套复杂的系统程序,用于提供人机接口和管理、调度计算机的所有硬件及软件等。可用来编写用户与软件资源。其中最为重要的核心部分是常驻监控程序,计算机启动后,常驻监控程序始终存放在内存中,它接收用户命令,并执行相应的操作:操作系统还包括用于执行 /O 操作的 I/O 驱动程序,每当用户程序或其他系统程序需要使用 I/O 设备时,通常并不是该程序执行IO 操作,而是由操作系统利用 O 驱动程序来执行任务:此外,操作系统还包括用于管理存放在外存中大量数据的文件管理程序,文件管理程序和 I/O 驱动程序配合使用,用于文件的存取、复制和其他处理。

系统应用程序

系统应用程序很多,如用来编写用户应用软件的程序设计语言、使用户程序执行的编译程序和解释程序以及文字处理等服务性工具程序。

  • 程序设计语言
  • 编译和解释程序
  • 服务性工具程序

(2)用户(应用)软件

用户(应用)软件是和系统软件相对应的,是用户为解决各种实际问题,利用计算机以及它所提供的各种系统软件,编制解决各种实际问题的程序,如数据库管理系统、办公化软件等。可用来编写用户软件的语言有机器语言、汇编语言和高级语言等。

三.微型计算机的工作过程

在对微型计算机的基本组成有了基本了解之后,我们通过在一简化的模型机(8 位机)上运行一个简单的程序来说明微型计算机的工作过程。

微型计算机的工作过程

相关文章:

微型计算机原理知识点总结(一)

目录 一.微型计算机 二.微型计算机系统 1.微型计算机硬件系统 冯诺依曼体系结构 总线 (1)微处理器(CPU) 运算器 控制器 内部寄存器 (2)存储器 1.基本概念 2.内存的操作 3.内存的分类 (3)I/O接口与输入/输出设备 2.微型计算机软件系统 (1)系统软件 操作系统 …...

【postgresql 基础入门】psql客户端的使用方法

psql 客户端使用 ​专栏内容: postgresql内核源码分析手写数据库toadb并发编程 ​开源贡献: toadb开源库 个人主页:我的主页 管理社区:开源数据库 座右铭:天行健,君子以自强不息;地势坤&#xf…...

QTcpSocket发送数据方法

文章目录 一、简介二、write(const char *, qint64)三、isValid() 一、简介 本文主要记录QTcpSocket的write(const char *, qint64)和isValid()。 二、write(const char *, qint64) 概念:在QTcpSocket中,使用write(char* data, int size)函数将指定长…...

select 语句执行顺序

sql 样例 select t_students.name as 姓名, sum(case when b.cname语文 then c.sc_val else 0 end) As 语文 ,sum(case when b.cname数学 then c.sc_val else 0 end) As 数学,sum(case when b.cname英语 then c.sc_val else 0 end) As 英语, From t_students a, t_corses b, t…...

PMD 检查java代码:避免将内部数组直接返回给调用者(MethodReturnsInternalArray)

https://docs.pmd-code.org/pmd-doc-6.55.0/pmd_rules_java_bestpractices.html#methodreturnsinternalarray 直接将内部数组暴露给调用者破坏了封装性,因为调用者可能在拥有内部数组的对象外部更改或者删除数组的元素。返回内部数组的拷贝会更加安全。 例如&…...

ActiveMQ配置初探

文章目录 配置wrapper相关配置wrapper是干什么用的MQ的运行内存修改【需修改】修改内容题外话 wrapper.log配置【需修改】引起的问题优化方式 activemq.xml相关配置官网介绍配置管理后台的认证授权【建议修改】配置broker【根据自己需求更改】配置允许jmx监控关闭消息通知持久化…...

【官方中文文档】Mybatis-Spring #示例代码

示例代码 提示 查看 JPetstore 6 demo 了解如何在完整的 Web 应用服务器上使用 Spring。 您可以在 MyBatis-Spring 的 代码仓库 中查看示例代码: 所有示例都能在 JUnit 5 下运行。 示例代码演示了事务服务从数据访问层获取域对象的典型设计。 FooService.java …...

python二级例题

请编写程序,生成随机密码。具体要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬ (1)使用 rand…...

【java】【项目实战】[外卖九]项目优化(缓存)

目录 一、问题说明 二、环境搭建 2.1 Git管理代码 2.1.1 创建本地仓库 2.1.2 创建远程仓库 2.1.3 创建分支--》推送到远程仓库 2.2 maven坐标 2.3 配置文件application.yml 2.4 配置类RedisConfig 三、缓存短信验证码 3.1 实现思路 3.2 代码改造 3.2.1 UserContro…...

Scala集合常用函数与集合计算简单函数,高级计算函数Map和Reduce等

Scala集合常用函数与集合计算简单函数 1.Scala集合常用函数 基本属性和常用操作 1.常用函数: (1) 获取集合长度(2) 获取集合大小(3) 循环遍历(4) 迭代器(…...

You must install at least one postgresql-client-<version> package

使用主机上的映射端口来连接到 PostgreSQL 数据库。例如,使用以下命令连接到数据库: psql -h localhost -p 5432 -U postgres出现下面的问题: 分析: 如果您在运行 psql 命令时遇到错误消息 You must install at least one pos…...

爬虫源码---爬取自己想要看的小说

前言: 小说作为在自己空闲时间下的消遣工具,对我们打发空闲时间很有帮助,而我们在网站上面浏览小说时会被广告和其他一些东西影响我们的观看体验,而这时我们就可以利用爬虫将我们想要观看的小说下载下来,这样就不会担…...

【AGC】云数据库API9开发问题汇总

【问题描述】 云数据库HarmonyOS API9 SDK已经推出了一段时间了,下面为大家汇总一些在集成使用中遇到的问题和解决方案。 【问题分析】 1. 报错信息:数据库初始化失败:{“message”:“The object type list and permission …...

ASP.NET Core IOC容器

//IOC容器支持依赖注入{ServiceCollection serviceDescriptors new ServiceCollection();serviceDescriptors.AddTransient<IMicrophone, Microphone>();serviceDescriptors.AddTransient<IPower, Power>();serviceDescriptors.AddTransient<IHeadphone, Headp…...

入门力扣自学笔记277 C++ (题目编号:42)(动态规划)

42. 接雨水 题目&#xff1a; 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组…...

SwiftUI实现iPad多任务分屏

1. 概述 iPadOS引入了多任务分屏功能&#xff0c;使用户能够同时在一个屏幕上使用多个应用程序。这为用户提供了更高效的工作环境&#xff0c;可以在同一时间处理多个任务。 iPad多任务分屏有两种常见的模式&#xff1a;1/2分屏和Slide Over&#xff08;滑动覆盖&#xff09;…...

maven依赖,继承

依赖的范围 compile引入的依赖 对main目录下的代码有没有效&#xff0c;main目录下的代码能不能用compile引入的依赖中的类等 以test引入的依赖&#xff0c;在main中是否可以使用 provided&#xff08;已提供&#xff09;&#xff0c;有了就不要带到服务器上&#xff0c;打包…...

仿`gRPC`功能实现像调用本地方法一样调用其他服务器方法

文章目录 仿gRPC功能实现像调用本地方法一样调用其他服务器方法 简介单体架构微服务架构RPCgPRC gRPC交互逻辑服务端逻辑客户端逻辑示例图 原生实现仿gRPC框架编写客户端方法编写服务端方法综合演示 仿 gRPC功能实现像调用本地方法一样调用其他服务器方法 简介 在介绍gRPC简介…...

分布式环境下的数据同步

一般而言elasticsearch负责搜索&#xff08;查询&#xff09;&#xff0c;而sql数据负责记录&#xff08;增删改&#xff09;&#xff0c;elasticsearch中的数据来自于sql数据库&#xff0c;因此sql数据发生改变时&#xff0c;elasticsearch也必须跟着改变&#xff0c;这个就是…...

无涯教程-Flutter - 数据库

SQLite" class"css-1occaib">SQLite数据库是基于事实和标准SQL的嵌入式数据库引擎&#xff0c;它是小型且经过时间考验的数据库引擎&#xff0c;sqflite软件包提供了许多函数&#xff0c;可以有效地与SQLite数据库一起使用&#xff0c;它提供了操作SQLite数据…...

算法笔记:平衡二叉树

1 介绍 平衡二叉树&#xff08;AVL树&#xff09;是一种特殊的二叉搜索树&#xff08;BST&#xff09;&#xff0c;它自动确保树保持低高度&#xff0c;以便实现各种基本操作&#xff08;如添加、删除和查找&#xff09;的高效性能。 ——>时间都维持在了O(logN)它是一棵空…...

redis 通用命令

目录 通用命令是什么 SET & GET keys EXISTS DEL EXPIRE TTL redis 的过期策略 定时器策略 基于优先级队列定时器 基于时间轮的定时器 TYPE 通过 redis 客户端和 redis 服务器交互。 所以需要使用 redis 的命令&#xff0c;但是 redis 的命令非常多。 通用命令…...

Pycharm配置及使用Git教程

文章目录 1. 安装PyCharm2. 安装Git3. 在PyCharm中配置Git插件4. 连接远程Gtilab仓库5. Clone项目代码6. 将本地文件提交到远程仓库6.1 git add6.2 git commit6.3 git push6.4 git pull 平时习惯在windows下开发&#xff0c;但是我们又需要实时将远方仓库的代码clone到本地&…...

CSS transition 过渡

1 前言 水平居中、垂直居中是前端面试百问不厌的问题。 其实现方案也是多种多样&#xff0c;常叫人头昏眼花。 水平方向可以认为是内联方向&#xff0c;垂直方向认为是块级方向。 下面介绍一些常见的方法。 2 内联元素的水平垂直居中 首先&#xff0c;常见内联元素有&…...

Unity中Shader的UV扭曲效果的实现

文章目录 前言一、实现的思路1、在属性面板暴露一个 扭曲贴图的属性2、在片元结构体中&#xff0c;新增一个float2类型的变量&#xff0c;用于独立存储将用于扭曲的纹理的信息3、在顶点着色器中&#xff0c;根据需要使用TRANSFORM_TEX对Tilling 和 Offset 插值&#xff1b;以及…...

Automotive 添加一个特权APP

Automotive 添加一个特权APP platform: android-13.0.0_r32 一. 添加一个自定义空调的app为例 路径&#xff1a;packages/apps/Car/MyHvac app内容可以自己定义&#xff0c;目录结构如下&#xff1a; 1.1 Android.bp package {default_applicable_licenses: ["Andr…...

自定义TimeLine

自定义TimeLine 什么是TimeLineData&#xff08;数据&#xff09;Clip&#xff08;片段&#xff09;Track&#xff08;轨道&#xff09;Mixer&#xff08;混合&#xff09; 什么是TimeLine 在 Unity 中&#xff0c;TimeLine&#xff08;时间轴&#xff09;是一种用于创建和管理…...

如何使用SQL系列 之 如何在SQL中使用WHERE条件语句

引言 在结构化查询语言 (SQL)语句中&#xff0c;WHERE子句限制了给定操作会影响哪些行。它们通过定义特定的条件(称为搜索条件)来实现这一点&#xff0c;每一行都必须满足这些条件才能受到操作的影响。 本指南将介绍WHERE子句中使用的通用语法。它还将概述如何在单个WHERE子句…...

leetcode:1941. 检查是否所有字符出现次数相同(python3解法)

难度&#xff1a;简单 给你一个字符串 s &#xff0c;如果 s 是一个 好 字符串&#xff0c;请你返回 true &#xff0c;否则请返回 false 。 如果 s 中出现过的 所有 字符的出现次数 相同 &#xff0c;那么我们称字符串 s 是 好 字符串。 示例 1&#xff1a; 输入&#xff1a;s…...

Echarts 各种点击事件监听

目录 一、鼠标事件1.1、左击1.2、双击1.3、右击1.4、右键双击1.5、中轴滚动二、时间轴2.1、时间轴监听三、拖动3.1、拖动事件一、鼠标事件 1.1、左击 chart.on(click, function(params)...