【计组】计算机系统体系结构

【计组】计算机系统体系结构

文章目录

  • 【计组】计算机系统体系结构
    • 1、体系的发展与思维变化
      • 1.1 计算机发展
      • 1.2 冯诺依曼体系
    • 2、计算机系统
      • 2.1 CPU
      • 2.2 存储层次
        • 2.2.1 寄存器
        • 2.2.2 高速缓存(Cache)
        • 2.2.3 动态随机访问存储器(DRAM)
        • 2.2.4 硬盘
      • 2.3 总线
        • 2.3.1 总线层次
        • 2.3.2 总线属性

1、体系的发展与思维变化

1.1 计算机发展

在冯·诺伊曼提出诺伊曼体系之前,计算机的形式和工作原理有很大的差异。计算设备的演变经历了多个阶段:

  1. 早期计算设备(17世纪至19世纪)

    • 早期的计算设备包括如差分机和分析机等机械计算机,它们由发明家如查尔斯·巴贝奇(Charles Babbage)和埃达·洛芙莉斯·拉维莉斯(Ada Lovelace)设计。这些机械设备用于执行特定数学计算,但它们是特定目的的,不能通用编程
    • 这些机械计算机的操作受制于物理装置的运动和机械零件的结构
  2. 电子管计算机(20世纪早期)

    • 电子管计算机的出现标志着计算机科学的重大突破。这些计算机使用电子管作为开关元件,能够执行更复杂的计算任务,但它们仍然是专用设备
    • 著名的电子管计算机包括ENIAC和UNIVAC。
  3. 存储程序计算机(1940年代至1950年代初)

    • 冯·诺伊曼提出了存储程序计算机的概念,它是现代计算机的雏形。这种计算机使用存储器来存储程序指令和数据,程序可以通过编写新的指令来改变计算机的行为,这种可编程性和通用性是存储程序计算机的关键特点。
    • EDVAC是第一台实现了存储程序计算机概念的计算机。
  4. 晶体管和集成电路时代(1950年代至今)

    • 随着电子管被晶体管取代,计算机变得更加小型、可靠和高效。集成电路的发展使得计算机硬件集成度不断提高,性能大幅提升。
    • 从20世纪50年代开始,计算机硬件和软件技术迅速发展,包括操作系统、高级编程语言、网络技术等,使计算机应用广泛普及。

1.2 冯诺依曼体系

  1. 存储程序原理

    • 价值意义:存储程序原理将程序指令和数据存储在同一存储器中,通过按顺序执行指令来控制计算机的操作。这一概念的价值在于它赋予了计算机通用性和可编程性,使计算机不再局限于特定计算任务,而能够根据需要执行不同任务。
  2. 程序计数器(PC)

    • 价值意义:程序计数器是跟踪正在执行的指令的地址的关键组件。它确保了指令的顺序执行,使计算机能够按照程序的逻辑顺序运行,实现了指令的自动化执行。
  3. 指令执行单元

    • 价值意义:指令执行单元是计算机的核心,负责解释和执行指令。它使计算机能够进行算术、逻辑、跳转等各种操作,实现了通用计算功能。
  4. 寄存器

    • 价值意义:寄存器用于高速临时数据存储,有助于提高计算机的运算速度和效率。它们对于执行指令、传递数据以及协调计算非常重要。
  5. 输入/输出设备

    • 价值意义:输入/输出设备使计算机能够与外部世界交互。这包括键盘、鼠标、显示器、打印机等,它们扩展了计算机的用途,使其在不同领域具有广泛的应用,从个人计算到工业自动化。
  6. 控制单元

    • 价值意义:控制单元协调计算机内部的各种操作和数据流,确保指令按照正确的顺序执行。它是计算机运行的“大脑”。
  7. 通用性和可编程性

    • 价值意义:冯·诺伊曼体系的最大价值在于它赋予了计算机通用性和可编程性。这意味着计算机可以根据不同的程序执行不同的任务,无需物理更改。这个概念为计算机科学、技术和应用领域的发展开辟了广阔的道路。

这个体系将计算机从特定目的的机器转变为通用编程设备,这意味着计算机可以执行各种不同的任务,而不仅仅是特定的计算。这种通用性使计算机成为了多领域应用的关键工具,从科学研究到工程设计、商业管理、娱乐等各个领域都有广泛的应用。

同时,冯·诺伊曼体系的自动化特性使得计算机能够按照程序的指令自动执行任务,无需人工干预。这提高了计算效率,减少了人工错误,并使计算机成为处理大规模数据和复杂计算的理想工具。自动化也使得计算机能够在后台执行任务,从而提供了更好的用户体验。

通用化和自动化是计算机领域长期发展的关键驱动力。随着技术的进步和计算机能力的提高,通用计算机不断演化,变得更加强大、智能化,并在人们的日常生活和工作中发挥着越来越重要的作用。这两个核心思想推动了计算机科学和技术的快速发展,塑造了现代社会和经济的许多方面。

2、计算机系统

2.1 CPU

原生的CPU(中央处理器)通常具备以下大类功能,从逻辑上分类可以分为以下几个方面:

  1. 指令执行和计算功能

    • 算术运算:包括加法、减法、乘法、除法等基本数学运算。
    • 逻辑运算:执行与、或、非、异或等逻辑操作。
    • 移位和旋转:将数据位向左或向右移动,或者进行循环旋转操作。
    • 比较和跳转:比较数据并根据条件跳转到不同的指令。
    • 数据转移:将数据从一个位置复制到另一个位置。
  2. 控制和流程控制功能

    • 指令解码:将指令解释为对CPU内部组件的控制信号。
    • 程序计数器(PC)管理:管理下一条要执行的指令地址。
    • 分支和跳转:根据条件或无条件地改变指令的执行顺序。
    • 中断处理:响应外部中断信号,执行中断服务程序。
  3. 寄存器管理功能

    • 寄存器管理:管理各种类型的寄存器,包括通用寄存器、特殊目的寄存器、浮点寄存器等。
    • 寄存器堆栈:管理寄存器的堆栈,用于保存和恢复上下文信息。
  4. 数据存储和缓存管理功能

    • 数据访问:从存储器中读取数据和指令,以及将数据写回存储器。
    • 高速缓存管理:管理高速缓存中的数据,包括高速缓存的访问和替换策略。
  5. 时钟和时序控制功能

    • 时钟控制:管理CPU内部时钟,确保各个操作在正确的时间序列内执行。
  6. 异常和错误处理功能

    • 异常处理:处理运行时异常情况,如除零错误、越界错误等。
    • 错误检测和校正:检测和纠正硬件错误,以保证数据的可靠性。
  7. 协处理器支持功能

    • 浮点数运算支持:协处理器用于执行浮点数运算,提高浮点数运算性能。

这些功能组成了一个基本的CPU,它是计算机的核心,负责执行程序的指令,进行计算和控制计算机的各个部分。不同的CPU架构和制造商可能会在这些基本功能的基础上添加额外的功能或优化,以满足不同的应用需求和性能目标。

2.2 存储层次

存储层次结构的主要目标包括:

  1. 提高数据访问速度:高速缓存位于CPU内部或非常接近CPU,具有非常快的访问时间,因此可以更快地提供数据给CPU,缩短了CPU等待数据的时间。
  2. 降低内存访问延迟:主存储器相对较慢,但容量较大。高速缓存充当了CPU和主存储器之间的缓冲区,通过存储最常用的数据块,减少了CPU等待主存储器响应的时间。
  3. 减少内存带宽压力:高速缓存存储了频繁访问的数据,减少了对主存储器带宽的需求,从而降低了内存系统的负载。
  4. 提高计算机性能:通过减少CPU等待数据的时间,存储层次结构能够提高计算机的整体性能,使CPU更有效地执行指令。

存储层次结构通常包括多级高速缓存(如L1、L2、L3缓存),这些高速缓存与主存储器之间形成了多级存储级别,每一级别都具有不同的访问速度和容量。CPU会首先在最快的高速缓存中查找数据,如果找到了所需数据,就无需访问主存储器。只有在高速缓存未命中时,CPU才会访问主存储器,这样就减少了对主存储器的频繁访问,提高了系统性能。

2.2.1 寄存器

寄存器(Registers)是计算机内部的一种小型、高速的数据存储设备,它们位于CPU(中央处理器)内部,并用于临时存储数据、地址和中间计算结果。寄存器是计算机体系结构中的关键组成部分,具有以下特点:

  1. 高速存储:寄存器是计算机内部存储设备中速度最快的,它们可以在一个时钟周期内非常快速地读取和写入数据。这使得寄存器非常适合存储需要频繁访问的数据,以提高计算速度。

  2. 容量有限:与主存储器(RAM)相比,寄存器的容量非常有限。通常,一个CPU中包含多个寄存器,每个寄存器能够存储少量的数据,如整数值、内存地址、操作码等。

  3. 数据传输:寄存器用于在CPU内部传输数据。数据可以从一个寄存器复制到另一个寄存器,或者从寄存器传输到执行单元,以进行运算和操作。

  4. 寄存器命名:寄存器通常以字母、数字或特定缩写的方式命名,如R0、R1、PC(程序计数器)、SP(栈指针)等。不同的CPU架构和制造商可能会使用不同的寄存器名称和编号。

  5. 程序状态:一些寄存器用于存储程序状态信息,如条件标志寄存器(用于存储比较操作的结果)、指令寄存器(用于存储当前执行的指令)、栈指针寄存器(用于管理栈操作)等。

  6. 寄存器编程:程序员和编译器可以使用寄存器来优化代码执行。通过将数据存储在寄存器中,可以减少对内存的访问次数,提高程序的执行速度。

寄存器在CPU的操作中起着关键的作用,它们用于存储和传递数据,执行运算,管理程序状态,并协助执行指令。尽管寄存器的容量有限,但它们对于提高计算机的性能至关重要,因为它们提供了高速的数据存储和传输通道,减少了CPU对内存的访问延迟,从而提高了计算速度。不同的CPU架构和体系结构可能具有不同数量和类型的寄存器,以满足不同的计算需求和性能目标。

2.2.2 高速缓存(Cache)

高速缓存(Cache)在计算机体系结构中发挥着重要的作用,其主要功能和作用包括:

  1. 提高数据访问速度:高速缓存存储了最常用的数据块(通常是主存储器中的部分数据),因此可以更快速地提供数据给CPU。由于高速缓存的存取速度远远快于主存储器,它可以减少CPU等待数据的时间,加速计算机的运行。

  2. 降低内存访问延迟:主存储器相对较慢,而高速缓存位于CPU内部或非常接近CPU,因此可以充当CPU和主存储器之间的缓冲区。当CPU需要访问数据时,首先会在高速缓存中查找。如果所需数据位于高速缓存中(缓存命中),CPU可以立即获取数据,无需等待主存储器的访问延迟。这降低了内存访问的总延迟。

  3. 减少内存带宽压力:高速缓存存储了频繁访问的数据,减少了对主存储器带宽的需求。这有助于减轻内存系统的负载,特别是在多个CPU核心共享同一主存储器时。

  4. 提高计算机性能:通过减少CPU等待数据的时间,高速缓存能够提高计算机的整体性能,使CPU更有效地执行指令。这对于几乎所有类型的计算任务都是至关重要的,从科学计算到图形渲染和游戏等。

  5. 缓解主存储器的压力:高速缓存可以充当主存储器和CPU之间的缓冲区,使得频繁访问的数据可以在高速缓存中得到重复使用。这减少了对主存储器的频繁访问,有助于平衡系统中不同速度的组件之间的性能差异。

总之,高速缓存的主要作用是提高数据访问速度和减少内存访问延迟,从而加速计算机的运行。通过存储最常用的数据块,并将它们放置在CPU附近,高速缓存有效地解决了CPU和主存储器之间速度不匹配的问题,提高了计算机系统的性能和效率。不同的计算机架构可能包括不同级别的高速缓存(如L1、L2、L3缓存),以更好地满足不同计算需求的性能优化。

2.2.3 动态随机访问存储器(DRAM)

DRAM(Dynamic Random Access Memory)是计算机内存中的一种重要类型,具有以下重要意义和作用:

  1. 主存储器:DRAM是计算机系统的主要内存组件之一,用于存储操作系统、应用程序和数据。它是CPU执行指令和操作数据的主要存储区域。

  2. 随机访问性能:DRAM具有快速的随机访问性能,可以在瞬间内读取或写入任何存储位置的数据。这种特性使DRAM非常适合作为主存储器,以满足CPU对数据的快速访问需求。

  3. 临时存储:DRAM用于临时存储正在执行的程序的指令和数据。它允许计算机系统在运行过程中动态地加载和卸载程序,同时保存运行状态。

  4. 数据传输:DRAM用于数据传输,允许CPU和其他硬件组件之间交换数据。当CPU需要访问存储器中的数据时,DRAM可以快速提供所需的数据。

  5. 电源效率:DRAM的动态性质使得它在电源效率方面表现良好。DRAM只在需要时才刷新存储的数据,因此相对于其他内存类型,它在相同存储容量下通常具有较低的功耗。

  6. 成本效益:DRAM相对于其他高速存储技术(如SRAM)具有较低的成本,因此它是一种经济高效的内存选择,适合用于大容量的主存储器。

  7. 扩展性:DRAM可以扩展到不同的容量和性能级别,以满足不同计算机系统的需求。这种扩展性使得它适用于各种应用,从个人计算机到大型服务器。

  8. 数据持久性:虽然DRAM是一种易失性存储器,意味着当断电时其中的数据会丢失,但它可以用于存储需要在计算过程中频繁修改的临时数据。对于需要长期存储的数据,通常会使用非易失性存储器(如硬盘驱动器或固态硬盘)。

综上所述,DRAM在计算机系统中具有重要意义,因为它是主要的内存存储器,用于存储和操作计算机程序和数据。它的快速访问性能和成本效益使得它成为计算机内存的首选选择,支持计算机系统的高性能和高效率运行。

2.2.4 硬盘

硬盘(Hard Disk Drive,HDD)是计算机存储系统中的关键组件,它具有以下重要意义和作用:

硬盘的主要意义:

  1. 数据存储:硬盘主要用于长期数据存储。它可以存储操作系统、应用程序、文件、多媒体内容等各种类型的数据。

  2. 持久性存储:与内存(RAM)不同,硬盘是一种非易失性存储设备,意味着它在断电后仍能保留存储的数据。这使得硬盘非常适合用于长期存储重要数据。

  3. 数据备份:硬盘常用于创建数据备份。用户和组织可以将重要数据复制到硬盘上,以防止数据丢失或损坏。

  4. 文件管理和组织:硬盘上的文件系统和目录结构允许用户组织和管理文件,使其易于查找和访问。

  5. 程序和操作系统存储:操作系统和应用程序通常安装在硬盘上,因此硬盘是计算机系统正常运行的关键组成部分。

  6. 大容量存储:硬盘可以提供大容量的存储空间,适用于存储大型文件、多媒体内容和应用程序。

  7. 数据传输:硬盘允许数据的读取和写入,支持数据的传输和共享。

硬盘技术的更迭:

硬盘技术经历了多次演进和更迭,主要包括以下几个方面:

  1. 容量增加:硬盘的存储容量从最早的几兆字节到今天的数TB(TB,即千兆字节)甚至更多。这一演进使用户能够存储更多数据。

  2. 性能提升:硬盘的性能不断提高,包括更快的读写速度和更低的访问延迟。这些改进使得硬盘在处理大型文件和应用程序时更加高效。

  3. 物理尺寸减小:随着时间的推移,硬盘的物理尺寸越来越小,同时存储容量不断增加。这导致了更小、更轻便的移动硬盘和笔记本电脑硬盘的出现。

  4. 新技术的应用:新技术,如固态硬盘(Solid State Drive,SSD)和混合硬盘驱动器(Hybrid Hard Drive,HHD),正在逐渐替代传统机械硬盘。SSD在速度和耐用性方面具有优势,而HHD结合了机械硬盘和闪存技术的优点。

  5. 云存储的兴起:随着云计算和云存储的兴起,许多用户将数据存储在云中,减少了对本地硬盘的依赖,但硬盘仍然是云存储基础设施的一部分。

总的来说,硬盘在计算机存储中扮演着不可或缺的角色,随着时间的推移,它经历了容量、性能、尺寸和技术等多方面的改进和演进,以满足不断增长的存储需求。同时,新的存储技术如SSD也正在改变存储领域的格局,提供更快的存储性能和更高的耐用性。用户可以根据其需求和预算来选择最适合的存储解决方案。

2.3 总线

2.3.1 总线层次

总线可以按不同的层次和功能进行划分。以下是常见的总线层次和按功能划分的一些示例:

按层次划分:

  1. 系统总线:系统总线是计算机系统内部的总线,用于连接中央处理器(CPU)、内存、主板上的其他核心硬件组件,如北桥芯片(Northbridge),以及其他关键组件。系统总线包括数据总线、地址总线和控制总线。它们用于CPU与内存之间的数据传输,以及CPU对其他硬件设备的控制。

  2. I/O总线:I/O总线用于连接计算机系统的输入/输出设备,如键盘、鼠标、打印机、磁盘驱动器等。它允许数据在CPU和外部设备之间进行传输。

  3. 扩展总线:扩展总线用于连接扩展卡,如图形卡、声卡、网络适配器等,以扩展计算机的功能。常见的扩展总线包括PCI总线、PCI Express总线等。

按功能划分:

  1. 数据总线:数据总线用于传输二进制数据。它决定了每次可以传输多少位(通常以位数表示,如8位、16位、32位、64位等)。数据总线的宽度直接影响数据传输的带宽。

  2. 地址总线:地址总线用于指定内存位置或I/O端口的地址。它决定了系统的寻址能力,即计算机可以访问的内存或I/O地址范围。

  3. 控制总线:控制总线传输控制信号,如读取、写入、中断请求等。它用于协调各个硬件组件之间的操作和数据传输。

  4. 时钟总线:时钟总线传输时钟信号,用于同步各个硬件组件的操作。时钟信号通常以一定的频率发生,用于定时操作。

  5. 电源总线:电源总线传输电源供应相关的信号,以为硬件设备提供电能。

  6. 控制信号总线:控制信号总线传输各种控制信号,如启动、停止、复位、错误信号等,用于管理和监控硬件设备的状态和操作。

总线的功能划分和层次可以根据不同的计算机体系结构和硬件需求而有所不同。总之,总线在计算机系统中起到了连接和协调各种硬件设备的关键作用,确保数据和控制信号能够正确传输和处理。不同类型的总线具有不同的特性和应用场景。

2.3.2 总线属性

总线具有多种重要属性,其中包括以下几种:

  1. 总线宽度(Bus Width):总线宽度指的是总线一次可以传输的数据位数。它通常以位数表示,如8位、16位、32位、64位等。较宽的总线可以一次传输更多的数据,提高数据传输的效率。例如,一个32位数据总线可以同时传输32位(4字节)的数据。

  2. 总带宽(Bus Bandwidth):总带宽表示总线在单位时间内传输的数据量。它不仅取决于总线宽度,还取决于总线的时钟频率。总带宽通常以数据传输速率来衡量,如每秒传输的比特数(位/秒)或字节数(字节/秒)。更高的总带宽意味着总线可以支持更快的数据传输速度。

  3. 总线延迟(Bus Latency):总线延迟是指从发出请求到实际数据传输开始之间的时间延迟。它包括了寻址延迟(地址总线定位到目标地址的时间)、传输延迟(数据在总线上传输的时间)和响应延迟(目标设备响应请求的时间)。较低的总线延迟有助于减少数据访问的等待时间。

总线的这些属性对计算机系统的性能和效率都有重要影响。更宽的总线和更高的总带宽可以支持更快的数据传输,提高系统的整体性能。同时,较低的总线延迟可以减少数据访问的响应时间,提高系统的响应速度。因此,在设计计算机系统时,需要仔细考虑总线的宽度、带宽和延迟,以满足系统性能和应用需求。不同类型的总线(如数据总线、地址总线、控制总线等)可能具有不同的宽度、带宽和延迟特性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/84152.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

优化Cache机制,提升CPU性能

目录 CPU性能提升方式 CPU和Cache交互流程 Cache机制 优化Cache机制 CPU性能提升方式 CPU性能提升可以通过多种方式实现,以下是一些常见的方式: 增加CPU核心数:多核心处理器可以同时处理多个任务,从而提高CPU的处理能力。 提…

自动化发布npm包小记

1.注册npm账号 打开npm官网,并注册自己的npm账号 2.申请AccessToken 1.登录npm官网,登录成功后,点开右上角头像,并点击Access Tokens选项 2.点开Generate New Token下拉框,点击Classic Token(和Granular Access To…

CCF会议期刊(软件工程/系统软件/程序设计语言)

中国计算机学会推荐国际学术会议 1PLDIACM SIGPLAN Conference on Programming Language Design & ImplementationA会议软件工程/系统软件/程序设计语言2POPLACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesA会议软件工程/系统软件/程序设计语言3FS…

VS2019创建GIt仓库时剔除文件或目录

假设本地有解决方案“SomeSolution” 1、首先”团队资源管理器“-“创建Git存储库”,选择“仅限本地”、“创建” VS会在解决方案目录下自动生成.gitattributes、.gitignore 2、编辑gitignore,直接拖到VS里或者用记事本打开。添加要剔除的文件或文件夹…

轻松自定义文件,悦享文件管理与格式转换!

大家好!厌倦了繁琐的文件命名和格式转换过程吗?现在,我们为您推出一款智能文件管理工具,让您能够轻松自定义文件改名,并将视频文件格式转换为MP3,让您的文件管理更加高效便捷! 首先&#xff0c…

Redis核心数据结构实战与高性能解析

目录 一、安装Redis 二、Redis线程与高性能 2.1 Redis是单线程么? 2.2 Redis读写是单线程为何这么快? 2.3 Redis如何处理并发操作命令? 三、核心数据结构实战 3.1 字符串常用操作实战 SET 存入键值对 SETNX SETEX MSET 批量存入键…

java图片转pdf ,pdf 导出

pom引入jar <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.0-RC2</version></dependency> 转pdf方法 /*** 使用pdfbox将jpg转成pdf** throws IOException IOException*/pu…

.Net IDE智能提示汉化(.Net6、AspNetCore)

先上现成的.net6汉化文件&#xff0c;可以手动下载后参照 如何为 .NET 安装本地化的 IntelliSense 文件 进行安装。或者使用后文的工具进行自动安装。 无对照英文在前中文在前 汉化内容来自 官方在线文档 &#xff0c;某些内容可能存在明显的机翻痕迹。 上一些效果图&#x…

c语言基础知识+OS+数据结构

c语言&#xff1a; memory section&#xff1a; .bss&#xff1a; uninitialized or zero-initialized global and static variables .data: initialized global and static variables .text: Read only, code and const C语言编译流程&#xff1a; pre-compiler: …

快速安装和测试混淆后的IPA文件:使用Ipa Guard的签名和安装功能

​ 目录 转载&#xff1a;怎么保护苹果手机移动应用程序ipa中文件安全&#xff1f; 前言 1. 对敏感文件进行文件名称混淆 ​编辑 2. 更改文件的MD5值 3. 增加不可见水印处理 3. 对html&#xff0c;js&#xff0c;css等资源进行压缩 5. 删除可执行文件中的调试信息 转载&…

kubesphere中间件部署

微服务部署前中间件部署 一、MySQL部署 1.1 使用Docker实现MySQL主从复制 docker run -p 3307:3306 --name mysql-master \ -v /mydata/mysql/master/log:/var/log/mysql \ -v /mydata/mysql/master/data:/var/lib/mysql \ -v /mydata/mysql/master/conf:/etc/mysql \ -e My…

企业架构LNMP学习笔记59

目录介绍&#xff1a; bin&#xff1a;存放的是启动和关闭tomcat的脚本文件&#xff1b; conf&#xff1a;存放tomcat服务器的各种全局配置文件&#xff0c;其中最重要的是server.xml和web.xml lib: 存放的是tomcat服务器所需要的各种jar文件。java打包类库。 logs&#xff…

Vue项目前端代码防止被调试

项目背景 被安全测试针对了&#xff0c;总是调试我这不太安全的代码。前端代码深度混淆转成十六进制还不行&#xff0c;仍然找到加密方法&#xff0c;对后端数据进行解密。这次就修改了思路换种方法: 我承认阁下很强&#xff0c;但假如, 我是说假如打开控制台是空白页面&…

OSCP系列靶场-Esay-Gaara保姆级

OSCP系列靶场-Esay-Gaara 目录 OSCP系列靶场-Esay-Gaara总结准备工作信息收集-端口扫描目标开放端口收集目标端口对应服务探测 信息收集-端口测试22-SSH端口的信息收集22-SSH端口版本信息与MSF利用22-SSH协议支持的登录方式22-SSH弱口令爆破(待定)22-SSH手动登录尝试(无) 80-HT…

“三高”论文完美复现!基于PSO-VMD-MCKD方法的风机轴承微弱故障诊断,实现早期微弱故障诊断,MATLAB代码实现...

声明&#xff1a;对于作者的原创代码&#xff0c;禁止转售倒卖&#xff0c;违者必究&#xff01; 本期文章思路来自振动测试与诊断期刊的一篇三高论文&#xff0c;点击链接可跳转。https://mp.weixin.qq.com/s/hmmDj5IwpaozeL4F0iI-2g 文章摘要如下&#xff1a; 针对风机滚动轴…

在qml中将一个16进制表示的颜色加上透明度

在qml中&#xff0c;我们在指定控件的颜色时&#xff0c;可以直接通过16进制的字符串来表示&#xff0c;比如"#ff0000"; 这种方式也比较符合UI设计人员的使用习惯。 但是假如要在此颜色的基础上&#xff0c;加个透明度的话&#xff0c;就要重新计算一番&#xff0c;比…

【iOS逆向与安全】插件开发之某音App直播间自动发666

1.目标 由于看直播的时候主播叫我发 666&#xff0c;支持他&#xff0c;我肯定支持他呀&#xff0c;就一直发&#xff0c;可是后来发现太浪费时间了&#xff0c;能不能做一个直播间自动发 666 呢&#xff1f;于是就花了几分钟做了一个。 2.操作环境 越狱iPhone一台 frida ma…

c++ 纯虚函数、抽象类

一、 纯虚函数 抽象类 只要有一个纯虚函数&#xff0c;这个类称为抽象类 抽象类的特点 1、无法实例化 2、抽象类的子类&#xff0c;必须要重写父类中的纯虚函数&#xff0c;否者也属于抽象类 例子一 #include <iostream> #include <string.h> using namespa…

tensorflow cuda gpu 安装

Windows 安装 CUDA/cuDNN 需要注意的是一定要选择 TensorFlow 和 CUDA相匹配&#xff0c;还需要查看下自己GPU的驱动版本&#xff0c;如果不匹配会出现很多问题。GPU驱动的版本可在 NVIDIA控制面板里找到&#xff1a; CUDA个版本与驱动的关系如下&#xff1a; GPU版本的 Tensor…

LC18. 四数之和

题目大意 给你一个数组nums&#xff0c;要求找到所有不重复的和为target的四元组。 18. 四数之和 题解 和三数之和的思路一致&#xff0c;排序后双指针&#xff0c;只不过四数之和相比三数之和需要多加一个for循环&#xff0c;同AC代码&#xff1a; class Solution { publi…