首页 > 其他分享 >硬件基础知识

硬件基础知识

时间:2024-04-06 15:04:52浏览次数:19  
标签:存储 缓存 基础知识 硬件 线程 内存 寄存器 CPU

CPU制作

cpu组成原理

  1. CPU (Central Processing Unit - 中央处理单元): CPU 是计算机的核心,负责解释和执行程序指令以及处理数据。它由几个关键部分组成,如算术逻辑单元(ALU)、寄存器、和控制单元(CU),这些都是执行计算和处理指令所必需的。
  2. ALU (Arithmetic Logic Unit - 算术逻辑单元): ALU 是 CPU 的一部分,负责执行所有的算术运算(如加减乘除)和逻辑运算(如比较大小)。
  3. Registers (寄存器): 这些是小容量的存储设备,位于 CPU 内部,用于存储立即需要的数据和指令,以便快速访问。
  4. CU (Control Unit - 控制单元): 控制单元指导计算机的其他部分如何响应程序的指令。
  5. MMU (Memory Management Unit - 内存管理单元): MMU 负责管理 CPU 访问主内存的过程,包括地址转换、内存保护、缓存控制等。
  6. Cache (缓存): 这是一种速度非常快的内存,用来存储经常访问的数据和指令,从而减少访问主内存的次数,提高处理速度。
  7. PC (Program Counter - 程序计数器): PC 是 CPU 的一个寄存器,用来存储下一个要执行的指令的地址。
  8. IO Bridge (输入输出桥接器): 它是一种硬件,允许 CPU 与其他计算机组件(如内存和 I/O 设备)进行通信。
  9. 内存: 通常指的是主存储或随机访问存储器(RAM),这是计算机的临时存储,用于存储运行程序和当前正在使用的数据。
  10. IO 设备 (输入输出设备): 包括 USB、硬盘等设备,它们与计算机的其它部分进行数据交换。
  11. USB (Universal Serial Bus - 通用串行总线): 一个外部设备接口,用于连接各种外设,如键盘、鼠标、存储设备等。
  12. 硬盘: 计算机的主要存储设备,用于永久性存储数据和程序。

超线程

  1. CPU: 图中的大蓝色方块代表 CPU,是执行指令和处理数据的中心处理单元。
  2. ALU (Arithmetic Logic Unit - 算术逻辑单元): 在 CPU 内部,负责执行算术运算和逻辑运算。
  3. Registers (寄存器): CPU 内的小存储单元,用于快速访问和存储执行指令所需的数据和地址。
  4. PC (Program Counter - 程序计数器): 寄存器的一种,用来存储下一条要执行的指令的地址。
  5. Thread 1, Thread 2, ..., Thread n: 这些表示不同的线程,线程是程序执行流的最小单元。在现代操作系统中,一个程序可以分为多个线程,每个线程可以独立执行。
  6. Context Switch (上下文切换): 当 CPU 从执行一个线程切换到另一个线程时,它需要保存当前线程的状态(寄存器和程序计数器的内容),并加载另一个线程的状态,这个过程就是上下文切换。

超线程技术通过允许两个线程共享同一个核心的资源,但各自维护独立的线程状态(如寄存器和程序计数器),使得当一个线程等待时,另一个线程可以使用那些空闲的资源执行另一套指令。

存储器的层次结构

计算机存储层级结构

这张图描述了现代计算机存储的层级结构,从最快的寄存器到最慢的辅助存储设备。

  • L0: 寄存器,它们是最快的存储,CPU 直接访问。
  • L1, L2, L3: 这些是不同级别的缓存,其中 L1 是最快的缓存,L3 通常是共享缓存。
  • L4: 有些系统可能还会有 L4 缓存,位于 CPU 和主内存之间。
  • L5: 主内存,速度比缓存慢,但容量大。
  • L6: 辅助存储,如硬盘或固态硬盘,存储大量数据,但速度最慢。

存访问时间对比

这张图比较了不同存储级别的访问时间。

  • 寄存器: 访问时间少于 1 纳秒,最快的存储。
  • L1 缓存: 访问时间约为 1 纳秒。
  • L2 缓存: 访问时间约为 3 纳秒。
  • L3 缓存: 访问时间约为 15 纳秒。
  • 主内存: 访问时间约为 80 纳秒,比缓存慢,但比硬盘快。

多核 CPU 结构

这张图展示了一个多核 CPU 的内部结构。在这个例子中,CPU 有四个核心。

  • 核心1和核心2:每个核心都包含自己的 ALU(算术逻辑单元)、寄存器集和程序计数器(PC)。这些是处理计算任务和执行程序指令所必需的基本组成部分。
  • L1 和 L2 缓存:每个核心都有自己的 L1 和 L2 缓存,这些高速缓存是 CPU 用来临时存储数据和指令,以减少访问主内存的次数。
  • L3 缓存:这通常是共享缓存,所有核心都可以访问。它比 L1 和 L2 缓存慢一些,但比主内存快得多。

标签:存储,缓存,基础知识,硬件,线程,内存,寄存器,CPU
From: https://blog.csdn.net/qq_29434541/article/details/137423877

相关文章

  • sqlmap基础知识(三)
    一、sqlmap的基本使用指定检测级别sqlmap使用的payloads直接从文本文件xml/payloads.xml中载入根据该文件顶部的相关指导说明进行设置,如果sqlmap漏过了特定的注入,你可以选择自己修改指定的payload用于检测level有5级,级别越高检测越全,默认为1-level1默认等级,执行基本......
  • 微信小程序开发 基础知识(持续更新中~)
    ......
  • 学习 Git 基础知识 - 日常开发任务手册
    欢迎来到我关于Git的综合指南,Git是一种分布式版本控制系统,已经在软件开发中彻底改变了协作和代码管理方式。无论你是经验丰富的开发者还是刚开始编程之旅的新手,理解Git对于正确掌控代码、高效管理项目和与他人合作至关重要。在本教程中,我将带领你了解Git的基础知识,涵盖从......
  • 数据库基础知识
    数据库基础知识一、数据库基础知识(一)计算机数据管理的发展1.数据与数据处理数据是指存储在某一种媒体上能够识别的物理符号。数据的概念包括两个方面:其一是描述事物特性的数据内容;其二是存储在某一种媒体上的数据形式,数据形式可以是多种多样的。信息:一种已经被加工为特......
  • MATLAB | 基础知识
    专题一:MATLAB数值数据1.数值数据类型的分类(1)整型: 无符号整数:无符号8位整数,无符号16位整数,无符号32位整数,无符号64位整数 带符号整数:带符号8位整数,带符号16位整数,带符号32位整数,带符号64位整数无符号8位整数数据范围:00000000~11111111(0~2^8-1)带符号8位整数数据范......
  • STM32F1系列硬件I2C移植MPU6050DMP库
    目录前言STM32CubeMX配置过程工程移植与使用前言配置好硬件I2C拿过来直接用就行,一点也不用改这段时间在移植正点原子的MPU6050的库函数,网络上的教程大部分都是标准库同时也是软件模拟I2C的形式,这里我把正点原子的函数移植成了HAL库的硬件I2C的,下面会附带工程源码STM3......
  • javascript常见100问|前端基础知识|问ajax-fetch-axios-区别请用 XMLHttpRequestfetch
    00-开始前端基础知识HTMLCSSJSHTTP等基础知识是前端面试的第一步,基础知识不过关将直接被拒。本章将通过多个面试题,讲解前端常考的基础知识面试题,同时复习一些重要的知识点。为何要考察扎实的前端基础知识,是作为前端工程师的根本。基础知识能保证最基本的使用,即招聘......
  • 01-ARM64体系结构基础知识
    本章思考题ARMv8体系结构处理器包含多少个通用寄存器?答:提供31个64位宽的通用寄存器,可以减少对栈的访问,从而提高性能。AArch64执行状态包含多少个异常等级?它们分别有什么作用?答:定义ARMv8异常模型,支持4个异常等级,即EL0~EL3。请简述PSTATE寄存器中NZCV标志位的含义。答:如下表所......
  • Vue基础知识:声明式导航---导航链接router-link,router-link是什么,怎么用?router-link-ac
    router-link是什么?vue-router提供的一个全局组件,router-link(用于取代a标签)router-link怎么用?router-link的好处?1.能够跳转,能高亮(自带激活时的类名)1.能跳转,配置to属性指定路径(必须)。本质还是a标签,to不需要多加#既然已经有了a标签,为什么还有加一个router-link标签呢?......
  • Java后端对 前端的学习了解 ,基础知识和各框架功能发展概述,以及了解前后端的分离史
    前端的框架太多,杂乱,后端只需要掌握简单的即可 (基础的和vue框架后面详细有笔记)一.前端三要素1.HTML(结构):超文本标记语言,决定网页的结构和内容(最基础)2.CSS(表现) :层叠样式表,设定页面的修饰,相当于化妆品3.JavaScript(行为):是一种弱类型的脚本语言,源代......