计算机概论--计算机基础知识快速入门

2023-05-16

      • 0.前言
      • 1.计算机:辅助人脑的好工具
        • 1.1计算机硬件的五大单元
        • 1.2CPU的种类
        • 1.3接口设备
        • 1.4运作流程
      • 2.个人计算机架构与接口设备
        • 2.1CPU
        • 2.2内存
        • 2.3显卡
        • 2.4硬盘与存储设备
        • 2.5主板
      • 3.软件程序执行
        • 3.1机器程序与编译程序
        • 3.2操作系统
          • 3.2.1操作系统内核
          • 3.2.2系统调用
        • 3.3小结
      • 4.参考

0.前言

​ 楼主半路出家做起了软件开发的工作,做了一年半以后,觉得有必要补充一下计算机相关的基础知识框架,于是有了这篇博文,这篇博文主要是泛泛的概述计算机硬件的知识,主要是对于非科班的从业人员的一个大致地了解,比较枯燥,但都是干货,4000字左右,认真读的话,大约1h应该可以看完。

1.计算机:辅助人脑的好工具

计算机其实就是:接收用户输入指令与数据,经过中央处理器的数据与逻辑单元运算处理后,以产生或存储有用的信息。那么商店用的简易型加减乘除计算机、手机、开车的GPS、ATM、笔记本电脑等等都是计算机。

1.1计算机硬件的五大单元

计算机主要分为三部分:

  • 输入单元:包括键盘、鼠标、卡片阅读机、触摸屏幕等等
  • 中央处理器(CPU,Central Processing Unit):含有算术逻辑、控制、记忆等单元
  • 输出单元:例如屏幕、打印机等

CPU作为一个具有特定功能的芯片,里面还有微指令集,由于CPU主要工作在于管理与运算,因此CPU又分为两个主要的单元,分别是:算术逻辑单元与控制单元。 其中算术逻辑单元主要负责程序运算与逻辑判断,控制单元主要协调各组件与各单元间的工作。

CPU中读取的数据是从内存中读取出来的,内存内的数据则是从输入单元传输进来的,而CPU处理完的数据也必须要先写会内存中,最后数据才从内存传输到输出单元。

计算机硬件的五大单元:输入单元,输出单元,CPU内部的控制单元、算术逻辑单元与内存五大部分。

1.2CPU的种类

CPU内部有一些小指令集,两种CPU种类:分别是精简指令集与复杂指令集。

精简指令集(Reduced Instruction Set Computing,RISC)

  • 微指令集较为精简,每个指令使用的时间较短,完成的操作也很单纯,指令的执行性能较佳;常见的如ARM

复杂指令集(Complex Instrution Set Computer,CISC)

  • 微指令集中,指令数目多而且复杂,每条指令的长度不相同,花费的时间长,但是每条指令可以处理的工作较为丰富。常见的主要是AMD\Intel\等X86架构的CPU,主要用于个人计算机。64位的个人计算机CPU又被称为X86_64的架构。

1.3接口设备

除了输入\输出设备以及CPU与内存之外,最重要的接口设备是主板,主板负责将所有的设备连接在一起,让所有的设备能够进行协调与通信。而主板上最重要的组件就是主板芯片组,这个芯片组可以将所有的设备汇集在一起,其他重要的设备还有:

  • 存储设备:硬盘、软盘、磁带、光盘
  • 显示设备:显卡
  • 网络设备

1.4运作流程

  • CPU=大脑:每个人会做的事情都不一样(微指令集的差异), 但主要都是透过脑袋来进行判断控制身体各部分的活动。
  • 内存=大脑中的记录区块:在实际活劢过程中,我们的大脑能够将外界的互动暂时记录起来, 提供CPU来进行判断。
  • 硬盘=大脑中的记忆区块,将重要的数据记录下来,以便CPU读取\写入
  • 主板=神经系统:所有组件连接起来
  • 显卡=脑袋中的影像:将各种影像输出的装备,也是由CPU将影像传出来
  • 各项接口设备=人体与外界通信的手脚皮肤眼睛等

2.个人计算机架构与接口设备

两大主流的x86开发商(Intel,AMD)

  • Intel

主板上最重要的就是芯片组,而芯片组通常又分为两个桥接器来控制各组件的通信:

1)北桥负责连接速度较快的CPU、内存与显卡等组件

2)南桥负责连接较慢的周边接口,包括硬盘、USB、网卡等

  • AMD

内存直接与CPU通信而不通过北桥,因为CPU的数据主要都来自于内存,因此AMD为了加速这两者的通信,将内存控制组件集成到CPU中,理论上这样可以加速CPU与内存的传输速度,这是两种CPU在架构上的最主要的区别

2.1CPU

  • 目前主流的CPU都是双核以上的架构了,原本的单核CPU仅有一个运算单元,所谓的多核则是在一个CPU封装中嵌入了两个以上的运算内核,简单来说,就是一个实际的CPU外壳中含有两个以上的CPU单元。
  • 不同型号的CPU大多具有不同的脚位。
  • CPU的性能除了微指令集还有频率:CPU每秒可以进行的工作次数。
  • CPU的外频与倍频
    • 外频:指的是CPU与外部组件进行数据传输/运算时的速度,倍频:CPU内部用来加速工作性能的一个倍数,两者相乘才是CPU的频率。如某CPU的频率是3.0GHz,而外频是333MHz,因此倍频就是9倍(3.0G=333x9,其中1G=1000M)
  • 32位与64位
    • CPU运算的数据是由内存提供的,内存与CPU的通信速度靠的是外部频率,而每次工作可以传送的数据量由总线决定,一般的主板芯片组分为北桥与南桥,北桥的总线称为系统总线,以为是内存传输的主要通道,所以速度较快南桥就是所谓的输入输出(I/O)总线,主要用于联系硬盘、USB等接口设备
    • 北桥所支持的频率我们称为前线总线速度(Front Side Bus,FSB),而每次传送的位数就是总线宽度 。所谓的总线频宽就是“FSBx总线宽度”,即每秒可传送的最大数据量。目前常见的总线宽度有32/64位(bit).
    • 与总线宽度相似,CPU每次能够处理的数据量称为字组大小(word size), 字组大小依据CPU的设计而有32位和64位,,我们现在所称的计算机是32位或者64位主要是依据CPU解析的字组大小而来的

2.2内存

  • CPU所使用的数据都来自于内存,不论是软件程序还是数据,都必须要读入内存后CPU才能利用。
  • 个人计算机的内存主要组件是动态随机访问内存(Dynamic Random Access Memory,DRAM),随机访问内存只有在通电的时候才能记录与使用,断电后就消失了,这种RAM也称为挥发性内存。
  • 通常内存越大表示系统越快,对服务器而言,内存的容量有时比CPU的速度还重要。
  • 双通道设计
    • 由于所有的数据都必须在内存中,所以内存的数据宽度当然越大越好,但传统的总线宽度一般大约64位,为了加大这个宽度,因此芯片组厂商就将两个内存汇整在一起,如果一条内存可达64位,那么两条内存可以达到128位了,这就是双通道的设计理念。

2.3显卡

显卡又称为VGA(Video Graphics Array),它对于图形影像的显示扮演相当关键的角色,一般对于图形影像的显示重点在于分辨率和图形深度,因为每个图像显示的颜色会占内存,因此显卡上面会有一个内存的容量,这个显卡的内存容量将会影响最终的屏幕分辨率和色彩深度。

除了显卡内存之外,由于3D游戏的流行,显卡的“运算能力”越来越重要,现在显卡厂商直接在显卡上面嵌入一个3D加速的芯片,这就是GPU称为的由来。

2.4硬盘与存储设备

储存数据最常见的就是硬盘。

硬盘的物理组成

  • 硬盘是由许多的盘片、机械手臂、磁头与主轴马达组成。
  • 实际的数据都是写在具有磁性物质的盘片上,而读写主要是通过机械手臂上的读取头(Head)来完成的,实际运行时,主轴马达让盘片转动,然后机械手臂可伸展让读取头在盘片上面进行读写操作。

2.5主板

主板是整台主机相当重要的一个部分,所有的组件都是安插在主板上面的,而主板上面负责通信各个组件的就是芯片组,芯片组一般分为南桥与北桥,南桥负责CPU/RAM/VGA等的连接,南桥则负责速度较慢的I/O设备

  • 设备I/O地址与IRQ中断信道

    • I/O地址类似于每个设备的门牌号码,每个设备都有自己独立的地址
    • I/O地址看做各设备的门牌号码的话,那么IRQ就可以想成是各个门牌连接到邮件中心(CPU)的专门路径,各设备可以通过IRQ中断信道来告知CPU该设备的工作情况,以方便CPU进行工作分配的任务。
  • CMOS与BIOS

    • CMOS主要是为记录主板上面的重要参数,包括系统时间、CPU电压与频率、各设备的I/O地址与IRQ,由于这些记录需要花费电力,因此主板上才有电池。
    • BIOS为写入到主板上某一块闪存的程序,它可以在开机的时候执行,已加载COMS当中的参数,并尝试调用存储设备中的开机设备,进一步进入到操作系统中
  • 连接接口与设备

3.软件程序执行

软件主要分为两大类:一个是系统软件,一个是应用程序

3.1机器程序与编译程序

由于计算机只认识0与1,而且计算机最重要的运算与逻辑判断是在CPU内部,而CPU具有微指令集,因此我们需要CPU帮忙时,就得要参考微指令集的内容,然后编写让CPU读的懂的指令码给CPU执行,这样就能让CPU运行了。

上述流程有几个麻烦的地方:

  • 需要了解机器语言
  • 需要了解所有硬件的相关功能函数
  • 程序不具有可移植性
  • 程序具有专一性

3.2操作系统

操作系统:在早期想要让计算机执行程序就得要参考一堆硬件功能函数,并且要学习机器语言才能够编写程序。同时每次写程序都需要重新改写,因为硬件与软件功能不见得都一致,那如果能够将所有的硬件都驱动,并且提供一个开发软件的参考接口来给工程师开发软件,那么就大大降低难度。

3.2.1操作系统内核

操作系统其实也是一组程序,这组程序的重点在于管理计算机的所有活动以及驱动系统中的所有硬件,硬件的所有操作都必须通过这个操作来完成

只有内核提供了相关功能,计算机系统才能帮我们完成,比如,内核不支持TCP/IP协议,那么无论购买了什么网卡,这个内核都提供不了网络功能。

内核主要在于管控硬件与提供相关能力,这些管理的操作是非常重要的,如果用户能直接使用到内核的话,万一用户不小心将内核程序停止或者破坏,将会导致整个系统的奔溃,因此内核程序所放置到内存当中的区块是受保护的,并且开机后一直常驻在内存中。

3.2.2系统调用
  • 硬件由内核来管理,如果想要开发软件的话,自然就要去参考这个内核的相关功能,如此一来就是从原来的参考硬件函数变成参考内核功能。
  • 操作系统会提供一整组的开发接口给工程师开发软件,工程师只要遵守该开发接口那就很容易开发软件了。
  • 8yl9q.png
  • 计算机系统主要由硬件构成,然后内核程序主要用于管理硬件,提供合理的计算机系统资源分配(包括CPU资源、内存使用资源等),因此只要硬件不同,内核就需要进行修改。而内核只会进行计算机系统的资源分配,所以在上面还需要应用程序的提供,用户才能操作系统。
  • 为了保护内核,并且让程序员比较容易开发,因此操作系统除了内核程序之外还会提供一整套开发接口,那就是系统调用层。

3.3小结

  • 操作系统的内核层直接参考硬件规格写成,所以同一个操作系统程序不能够在不一样的硬件架构下执行。
  • 操作系统只是在管理整个硬件资源,包括CPU、内存、输入输出设备及系统文件,如果没有其他应用软件,操作系统只能让计算机准备妥当而已。
  • 应用程序的开发都是参考操作系统提供的开发接口,所以该应用程序只能在该操作系统上面运行而已,不可以在其他操作系统上面运行。
  • 内核功能
    • 内核主要负责整个计算机系统相关的资源分配和管理,那我们知道其实整部计算机系统最重要的就是CPU与内存,因为,内核应该具有以下功能
    • 系统调用功能
    • 程序管理
    • 内存管理
    • 文件系统管理
    • 设备驱动
    • 操作系统与驱动程序
      • 驱动程序是操作系统中重要的一环,那么操作系统如何驱动这块新的硬件呢?操作系统通常会提供一个开发接口给硬件开发商,让他们可以根据这个接口设计可以驱动他们硬件的驱动程序。
      • 操作系统必须能够驱动硬件,如此应用程序才能使用该硬件功能。
      • 操作系统会提供开发接口,让开发商制作他们的驱动程序
      • 要使用新的硬件功能,必须要安装厂商提供的驱动程序
      • 驱动程序由厂商提供,与操作系统开发者无关
  • 不过,目前,操作系统处理上述功能外,通常已经包含了日常工作所需要的应用软件在内了。

4.参考

​ 以上知识点主要是参考 : 鸟哥的Linux私房菜 ,感兴趣的同学可以购买。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机概论--计算机基础知识快速入门 的相关文章

  • 内存分配函数

    1 malloc 函数 xff1a void malloc unsigned int size 在内存的动态分配区域中分配一个长度为size的连续空间 xff0c 如果分配成功 xff0c 则返回所分配内存空间的首地址 xff0c 否则返回
  • powershell美化

    前言 重装系统后 xff0c 又用到了那个无比丑陋的powershell xff08 bushi xff09 还是之前通过oh my posh美化过的好看 但是跟着网上的好多教程都没有美化成功 xff0c 都是说什么oh my posh 无
  • shell调用自定义函数及传参

    1 单个参数 bin bash function LoopPrint count 61 0 while count lt 1 do echo count let 43 43 count sleep 1 done return 0 read
  • 虚拟机 怎么进入到命令方式

    一般启动虚拟机 进入到的页面是这样的 xff1a 1 快捷键 xff1a Ctrl 43 Shift 43 F5切换到命令登陆界面 或者ctrl 43 alt 43 f5 2 快捷键 xff1a Ctrl 43 Shift 43 F1切换到
  • Android的环境搭建、内核和源码build

    Android源代码下载和编译 xff1a http source android com source initializing html 按照官方指导 xff0c 成功Build xff01 Android开发环境的搭建 xff1a h
  • 2017秋招求职历程总结

    2017秋招求职历程总结 从小的梦想就是有朝一日能够进入汽车行业工作 xff0c 很幸运刚毕业的第一份工作便实现了此梦想 xff0c 感谢大学遇到的那些人 终于在国庆之前拿到了一份还算满意的offer 9月1号从实习单位离职准备接下来的秋招
  • springcloud如何搭建支付宝pay-service微服务

    文章目录 小提示逻辑图配置pom xmlpay service dev yamlbootstrap yml 开搞AlipayPropertiesAlipayConfig控制器各接口代码演示所对应的封装对象PayVo支付接口参数对象Refun
  • 阿里巴巴常用的 12 个后端开发工具

    从手动编码到自动化 xff0c 从重复工作到创新 xff0c 开发人员工具随着技术的发展而不断发展 阿里巴巴集团和阿里巴巴云已通过开源发布和基于云的实施向公众提供其技术 通过在各种业务场景中的多年开发积累了这些技术 本文介绍了一些阿里巴巴开
  • Ubuntu卡在登陆界面循环

    文章目录 一 现象二 原因三 解决措施 一 现象 先卡在这 xff1a a start job is running for hold until boot process finishes up 22s no limit 然后卡在这里 二
  • SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further

    报错 xff1a SLF4J Failed to load class org slf4j impl StaticLoggerBinder SLF4J Defaulting to no operation NOP logger implem
  • AWVS(Acunetix Web Vulnerability Scanner) Ubuntu下安装依赖缺失问题及解决

    最近在安装使用AWVS时 xff0c 安装出现了如下问题 xff0c 报错 Checking os Checking for dependencies dependency libgtk 3 so 0 not found on the sy
  • busybox login: root Login incorrect

    answer The file etc securetty comes with self explained header 34 etc securetty List of terminals on which root is allow
  • 在Macbook Pro上安装支持GPU的TensorFlow

    上一篇博文 在Macbook Pro上为TensorFlow设置GPU 中 xff0c 我们已经为Macbook上的NVIDIA显卡安装了各种驱动 xff0c 保证各种深度学习框架能够使用GPU进行计算 这儿就总结一下在后续安装Tensor
  • EXCEL 2016常用知识--Excel基础操作

    从数据填充开始讲起 xff0c 介绍Excel内置各种功能 xff0c 如筛选 查询 粘贴 单元格类型等 excel 窗口组成介绍 xff1a 1 快速访问工具栏 xff1a 添加你常用的命令 xff0c 方便我们快速操作和访问 xff1b
  • vue安装scss时报The “path“ argument must be of type string. Received undefined

    在安装vue安装scss时报The path argument must be of type string Received undefined 解决方式 xff1a 这个错误是sass loader 版本造成的 xff0c 此时的版本是
  • 利用python语言制作简单的音乐播放器

    from tkinter import from tkinter import filedialog from pygame locals import import time import pygame import sys pygame

随机推荐

  • 支撑程序员的三种精神

    我注意到有三种精神指引着软件开发人员的灵魂 伟大的艺术家精神 xff0c 可信赖的员工精神和自私的实用主义精神 伟大的艺术家精神 如果你听到一种声音说 你不能这样画 xff0c 然后 xff0c 你继续这样画 xff0c 这种反对的声音就会
  • 小白都懂的Python爬虫之网易云音乐下载

    微信又改版了 xff0c 为了方便第一时间看到我们的推送 xff0c 请按照下列操作 xff0c 设置 置顶 xff1a 点击上方蓝色字体 程序员之家 点击右上角 点击 设为星标 可以啦 xff0c 让我们继续相互陪伴 源 网络 目标 偶然
  • VBoxManage命令用法详解

    增加一个新的扩展包 VBoxManage extpack install lt vbox extpack gt 卸载指定扩展包 VBoxManage extpack uninstall lt name gt 显示已安装的扩展包 VBoxMa
  • Ubuntu2204之最小化安装操作系统

    目录 安装操作系统 xff08 跳过创建虚拟机 xff09 验证磁盘分区 配置静态IP 开启root登录 配置yum源 安装操作系统 xff08 跳过创建虚拟机 xff09 选择语言 xff1a 英语 下一步 默认安装ubuntu serv
  • 大数据领域三个大的技术方向资料

    大数据领域三个大的技术方向 xff1a 1 Hadoop大数据开发方向 2 数据挖掘 数据分析 amp 机器学习方向 3 大数据运维 amp 云计算方向 大数据学习什么 Python xff1a Python 的排名从去年开始就借助人工智能
  • 【技术栈】Spring环境配置

    1 创建maven环境 2 导入包 lt https mvnrepository com artifact org springframework spring webmvc gt lt dependency gt lt groupId g
  • mysql授权语句说明grant all privileges、创建用户、删除用户

    mysql的赋权语句 xff1a grant all privileges on to 39 root 39 64 39 39 identified by 39 123456 39 with grant option all privile
  • 视频下载网址

    视频下载网址 小视频下载 http www downfi com video V视频助手 xff1a http v ranks xin Video Grabber https www videograbber net zh Eagleget
  • EXCEL 2016常用知识--Excel函数

    必备常用函数教学 xff0c 包括逻辑函数 查找函数 文本函数 数学函数等 1 Excel计算的两种方式 Excel计算的两种方式 xff1a 公式 xff1a 一些运算符和数值组成的数学表达式 函数 xff1a 是Excel内部设置好的运
  • 【VIM】VIM

    vim version 查看vim版本 输入vim进入 xff0c 默认状态下是normal 模式 xff0c 输入的是命令而不是文本 q 退出 q 强制退出 i 进入编辑状态 xff0c 光标前插入 a 进入编辑状态 xff0c 光标前插
  • Windows上获取cpu info, cpuid, cpu id 方法整理

    1 使用cmd获取cpu id 在 CMD中输入如下命令 xff1a wmic cpu get processorid 2 使用源代码编译获取 cpu id xff1a 借码 三个源代码文件 调试通过 原文链接1 原文链接2 get cpu
  • 八大排序算法、稳定性及时间复杂度

    什么是稳定性 xff1f 假定在待排序的记录序列中 xff0c 存在多个具有相同的关键字的记录 xff0c 若经过排序 xff0c 这些记录的相对次序保持不变 xff0c 即在原序列中 xff0c r i 61 r j xff0c 且r i
  • Ubuntu18.04与deepin+nvidia-docker的构建与踩坑+puppeteer在docker中的使用

    写在前面的废话 首先说什么docker xff0c 之前我啥也不知道 xff0c 大概了解 xff0c 就是一个集成环境 xff0c 然后可以带着这个跨越各种平台什么的 就这几天的使用来看 xff0c 差不多是的吧 xff0c 在使用上 x
  • 百度笔试题——开发测试工程师(深圳)

    题目大致意思 一 简答题 1 设计一个自动测试方案测试软件的MTTF xff08 平均无故障时间 xff09 2 线程有执行中 xff0c 就绪中 xff0c 等待中三个状态 xff0c 请描述着三个状态和之间的转换条件 3 数据库设计要满
  • axis入门

    axis入门很好的例子 http www iteye com topic 1119880
  • Gentoo 历程(1)在xfce4图形界面中隐藏窗口边框:devilspie

    OT xff1a 0 作为一个计算机系的学生 xff0c 注册CSDN帐号是个很正常的事 xff0c 但一直用来潜水看论坛以及下载东西 xff0c 最近开始折腾gentoo xff0c 觉得有必要找地方记录一下学到的知识 xff0c 想了想
  • 一位程序员妹纸讲述她是如何拿到美团offer的?

    作者 xff1a 只爱羽毛球的程序媛 来源 xff1a http t cn EaXy17r 美团 xff0c 我是在拉勾网上投的简历 xff0c 之前也投过一次 xff0c 简历都没通过删选 xff0c 后来让学姐帮我改了一下简历 xff0
  • 如何拯救「大泥球」架构?人人车Android客户端架构演进实录

    作者 xff5c 冯宇飞 编辑 xff5c 徐川 小智 当快速迭代的架构不足以支撑长期的持续性开发时 xff0c 系统重构迫在眉睫 但对于大中型项目来说 xff0c 事情并不是一句 重构 就能解决的 从何时何地开始做 xff0c 怎么做 x
  • “CSDN物联网与嵌入式技术”专题讲座

    为深入了解物联网与嵌入式开发的知识和就业前景 xff0c 提高大家的学习热情 xff0c 以 2012年CSDN高校俱乐部年度巡讲 物联网与嵌入式技术 为专题的讲座于4月11日下午四点在理工楼西阶101隆重举办 2010年度微软嵌入式最有价
  • 计算机概论--计算机基础知识快速入门

    0 前言1 计算机 xff1a 辅助人脑的好工具 1 1计算机硬件的五大单元1 2CPU的种类1 3接口设备1 4运作流程 2 个人计算机架构与接口设备 2 1CPU2 2内存2 3显卡2 4硬盘与存储设备2 5主板 3 软件程序执行 3