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

【计算机是怎么跑起来的】基础:计算机三大原则

【计算机是怎么跑起来的】基础:计算机三大原则

  • 计算机的三个根本性基础
  • 1.计算机是执行输入,运算,输出的机器
    • 输入,运算,输出
  • 2. 软件是指令和数据的集合
    • 指令
    • 数据
  • 3. 计算机的处理方式有时与人们的思维习惯不同
    • 对计算机来说什么都是数字
    • 用三大原则去理解新技术
    • 计算机不断进化的原则

想玩硬件,就要先了解硬件,从0开始了解一下我们日常使用的计算机呀~。

参考书:计算机是怎么跑起来的


计算机的三个根本性基础

1.计算机是执行输入,运算,输出的机器

输入,运算,输出

输入,运算,输出是计算机硬件的基本工作原理。换句话说:计算机是执行输入,运算,输出的三种操作的机器。

输入
指的是将外部信息通过输入设备(例如键盘、鼠标、扫描仪等)传输到计算机内部,输入设备将信息转换成计算机能够理解和处理的数字信号,并将其发送到中央处理器(CPU)。

运算
是指CPU对输入的数据进行处理,包括计算、逻辑判断、存储等操作。CPU内部包含算术逻辑单元(ALU)、寄存器等核心组件,它们配合运行程序来完成各种操作。

输出
是指将CPU处理后的数据通过输出设备(例如显示器、打印机、扬声器等)呈现出来,输出设备将计算机生成的数字信号转换成人们能够看到、听到或者其他形式感知的外部信息。

在这里插入图片描述
计算机的硬件是由大量的IC(集成电路)组成的,每块IC都带有许多引脚,这些引脚有的用于输入,有的用于输出。IC会在内部对外部输入的信息进行运算,并把计算结果输出到外部。
在这里插入图片描述

如果计算机不能执行运算,输入输出端信息一样,那么计算机就没有存在的价值了。

2. 软件是指令和数据的集合

指令

指令是计算机程序中的基本单位,是计算机操作的最小单位。

指令通常包含了一个特定的操作码和操作数,用于告诉计算机执行某个特定的操作。

  • 操作码用于表示需要执行的操作类型
  • 操作数则用于指定操作的目标和源。

所谓指令,就是控制计算机进行输入,运算,输出的命令。把向计算机发出的指令一条条列出来,就得到了程序。

指令可以分为不同的类别,例如:

1.数据传输指令:将数据从一个地方传输到另一个地方,例如将数据从内存传输到寄存器。

2.算术运算指令:进行数学运算操作,例如加、减、乘、除等。

3.逻辑运算指令:进行逻辑运算,例如比较、与、或、非等。

4.跳转指令:用于程序的控制转移,例如条件分支、无条件跳转等。

通常在程序设计中,会为一组指令赋予一个名字,可以称之为‘函数’,‘语句’,‘方法’等等。

数据

程序中的数据分为两类,,一类是最为指令执行对象的输入数据,一类是从指令的执行结果得到的输出数据。
我们在编程时会对数据赋予名字,称之为变量

数据是信息的基本形式,是描述事物特征和变化的数字、文字、图像、声音等的集合。.

在计算机领域,数据通常以二进制的形式表示和存储。计算机可以通过对数据的处理和运算,实现对信息的加工、分析、处理和输出。

数据可以分为以下几类:

1.数值数据:代表数字、浮点数、百分数等数值类型的数据。

2.字符数据:代表文本、字母、符号等的数据。

3.图像数据:以像素为单位表示的图像、照片等的数据。

4.音频数据:以声音波形为单位表示的音乐、语音等的数据。

5.视频数据:以帧为单位表示的视频、动画等的数据。

3. 计算机的处理方式有时与人们的思维习惯不同

对计算机来说什么都是数字

迄今为止,使用计算机的目的就是为了提高手工作业效率。有些业务可以直接交给计算机完成,有些手工无法用计算机完全代替。想要顺应计算机的处理方法,有时要违背人们的思维习惯

用数字表示所有信息,就是一个很具有代表性的计算机的处理方法

人类计算机
颜色:蓝色0,0,255
文字处理字符编码(也是数字)

用三大原则去理解新技术

【有关 .NET 的说明之一】

微软公司率先提出了作为新一代互联网平台的 .NET 技术。作为 .NET 核心的 XML Web 服务使用通用技术 SOAP、XML,促使企业间的计算机协同工作。

我们对照着计算机三大原则再介绍一遍的话,就会像下面这样进行说明。

【有关 .NET 的说明之二】

计算机是执行程序的机器。程序是指令和数据的集合。
为了使互联网上相互连接的计算机能通过程序协同工作,微软公司采用了 SOAP 以及 XML 规范。
SOAP 是关于调用指令的规范,XML 则是定义数据格式的规范。

只要定义出了指令和数据的规范,装有符合规范的程序的计算机自然就可以相互协作了。这样是不是好理解了QAQ。

计算机不断进化的原则

计算机进化的目的只有一个——与人类更相近。

以编程方法为例。

编程目前断生了两种编程方法

  1. 面向组件编程
    通过将组件组装到一起完成程序
  2. 面向对象编程
    先实现现实世界的业务建模,之后把模型搬到程序中。

相关文章:

【计算机是怎么跑起来的】基础:计算机三大原则

【计算机是怎么跑起来的】基础:计算机三大原则 计算机的三个根本性基础1.计算机是执行输入,运算,输出的机器输入,运算,输出 2. 软件是指令和数据的集合指令数据 3. 计算机的处理方式有时与人们的思维习惯不同对计算机来…...

NXP公司LPC21XX+PID实现稳定温度控制

本例使用的是LPC21XX系列芯片提供的PWM功能实现稳定的温度控制。首先我们获得当前环境温度之后,再用设定的温度与当前温度相减,通过PID算法计算出当前输出脉宽,并将其输出到L298N模块中,使加热丝发热,形成闭环&#xf…...

【CE实战-生化危机4重置版】实现角色瞬移、飞翔

▒ 目录 ▒ 🛫 导读需求开发环境1️⃣ CE扫描内存,定位坐标地址(加密后的地址)2️⃣ 硬件写入断点,定位真实坐标地址内存写入断点,定位到访问地址分析代码...

强烈建议互联网人转战实体和农业,去了就是降维打击!实体太缺人才了,老板也不缺钱!...

大环境不好,互联网人该何去何从? 一位网友提出了一个新思路:强烈建议互联网同学转战实体、农业这些行业。实体真的太缺人才了,目前大部分实体都留下70后、80后在继续奋斗。其实实体老板很多都不缺钱,经过多年积累&…...

如何将 github pages 迁移到 vercel 上托管

如何将 github pages 迁移到 vercel 上托管 前言 早期网站使用 github pages,后来迁移到 coding,最近又放到腾讯云网站静态托管,无论是 coding 的 cos 存储桶,还是静态网站托管 他们都是收费的,那有没有免费的托管商呢,既不影响网站的访问速度还免费,于是,找了一下,还真有,ve…...

2023五一数学建模竞赛(五一赛)选题建议

提示&#xff1a;DS C君认为的难度&#xff1a;C<A<B&#xff0c;开放度&#xff1a;B<A<C 。 A题&#xff1a;无人机定点投放问题 这道题是传统的物理类题目&#xff0c;基本每次建模竞赛都会有。由于这道题目并未给明数据&#xff0c;所以数据获取和搜集资料是…...

Packet Tracer - 配置 RIPv2

Packet Tracer - 配置 RIPv2 目标 第 1 部分&#xff1a;配置 RIPv2 第 2 部分&#xff1a;验证配置 拓扑图 背景信息 尽管在现代网络中极少使用 RIP&#xff0c;但是作为了解基本网络路由的基础则十分有用。 在本活动中&#xff0c;您将使用适当的网络语句和被动接口配置…...

Android类似微信聊天页面教程(Kotlin)四——数据本地化

前提条件 安装并配置好Android Studio Android Studio Electric Eel | 2022.1.1 Patch 2 Build #AI-221.6008.13.2211.9619390, built on February 17, 2023 Runtime version: 11.0.150-b2043.56-9505619 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 11 …...

C/C++基础知识

专栏&#xff1a;C/C 个人主页&#xff1a; C/C基础知识 前言C关键字(C98)命名空间命名空间的定义正常的命名空间的定义如何使用命名空间 命名空间可以嵌套同一个工程中允许存在多个相同名称的命名空间&#xff0c;编译器最后会合成同一个命名空间中(一个工程中的.h文件和test.…...

Java 入门 - 语法基础

hello world public class Hello {public static void main(String[] args) {System.out.println("hello world");} } 复制代码 public: 是关键字&#xff1b;表示公开的class: 是关键字&#xff1b;用来定义类Hello: 是类名&#xff1b;大小写敏感&#xff1b;命名…...

Java线程池及拒绝策略详解

前文提到线程的使用以及线程间通信方式&#xff0c;通常情况下我们通过new Thread或者new Runnable创建线程&#xff0c;这种情况下&#xff0c;需要开发者手动管理线程的创建和回收&#xff0c;线程对象没有复用&#xff0c;大量的线程对象创建与销毁会引起频繁GC&#xff0c;…...

GitLABJenkins

GitLAB & Jenkins 目录 实践&#xff1a;基于Jenkins提交流水线(测试成功)-2023.4.25 目的&#xff1a;掌握通过触发器将GitLab和Jenkins集成&#xff0c;实现提交流水线。 1、触发Jenkins构建 安装Generic Webhook Trigger插件 重启后&#xff0c;进入一个Pipeline项目设…...

互联网摸鱼日报(2023-04-26)

互联网摸鱼日报&#xff08;2023-04-26&#xff09; InfoQ 热门话题 神州数码&#xff1a;抢抓云原生发展机遇&#xff0c;共建共治共享 OpenNJet 应用引擎开源生态 《产业数字人才研究与发展报告&#xff08;2023&#xff09;》 如何写出CPU友好的代码&#xff0c;百倍提升…...

石化企业数字化防爆融合通信解决方案

项目背景 石化工业是我国国民经济和社会发展的基础性、战略性产业&#xff0c;其发展和壮大受到了党和国家的高度重视。随着石化企业厂区规模的不断扩大以及技术的快速发展&#xff0c;现有石化企业专网通信系统建设相对滞后&#xff0c;缺乏结合人员管理、安全生产、安全通信…...

NTT学习笔记(快速数论变换)

一些概念 欧拉函数 ϕ ( n ) \phi(n) ϕ(n) 欧拉函数简介 阶 若 g g g和 n n n互质&#xff0c;则令 g x % n 1 g^x\%n1 gx%n1的最小正整数 x x x称为 g g g模 n n n的阶。 原根 对于互质的两个正整数 g g g和 n n n&#xff0c;如果 g g g模 n n n的阶为 ϕ ( n ) \phi…...

Android类似微信首页的页面开发教程(Kotlin)二

前提条件 安装并配置好Android Studio Android Studio Electric Eel | 2022.1.1 Patch 2 Build #AI-221.6008.13.2211.9619390, built on February 17, 2023 Runtime version: 11.0.150-b2043.56-9505619 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 11 …...

PAt A1015 Reversible Primes

1015 Reversible Primes 分数 20 作者 CHEN, Yue 单位 浙江大学 A reversible prime in any number system is a prime whose "reverse" in that number system is also a prime. For example in the decimal system 73 is a reversible prime because its rever…...

解决Lemuroid识别不到蓝牙键盘的问题

Android系统基于libretro的全能游戏模拟器&#xff0c;目前有RetroArch&#xff0c;Kodi&#xff0c;Lemuroid。 而且这三个都是开源免费的APP。 Lemuroid相对前面两个功能比较简陋。也不能自己下载核心。但代码也是最少的。 在使用Lemuroid的时候&#xff0c;发现它不能检测…...

SpringBoot 使用 Sa-Token 完成权限认证

一、设计思路 所谓权限认证&#xff0c;核心逻辑就是判断一个账号是否拥有指定权限&#xff1a; 有&#xff0c;就让你通过。没有&#xff1f;那么禁止访问&#xff01; 深入到底层数据中&#xff0c;就是每个账号都会拥有一个权限码集合&#xff0c;框架来校验这个集合中是…...

Spring核心与设计思想、创建与使用

文章目录 一、Spring是什么二、为什么要学习框架三、IoC和DI&#xff08;一&#xff09;IoC1. 认识IoC2. Spring的核心功能 &#xff08;二&#xff09;DI 四、Spring项目的创建&#xff08;一&#xff09;使用 Maven 方式创建一个 Spring 项目 五、Spring项目的使用&#xff0…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;模式与专业的 MQ&#xff08;Message Queue&#xff09;如 Kafka、RabbitMQ 进行比较&#xff0c;核心的权衡点在于&#xff1a;简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具&#xff0c;支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议&#xff0c;涵盖接口测试、性能测试、数字体验监测等测试类型…...

LangFlow技术架构分析

&#x1f527; LangFlow 的可视化技术栈 前端节点编辑器 底层框架&#xff1a;基于 &#xff08;一个现代化的 React 节点绘图库&#xff09; 功能&#xff1a; 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...