精华内容
下载资源
问答
  • CPU硬件组成

    2019-04-11 21:41:26
    硬件组成:ALU ,控制器 交换方式:总线 与外界信息 交换类型: 地址 (ab) 数据(db)控制(cb) 采用了复用引脚 (控制体积 ) 通过电路将数据类型分开 数据总线:双向 地址总线:单向 控制总线:双向 (控制信息 反馈的状态信息)...

    CPU

    • 硬件组成:ALU ,控制器
    • 交换方式:总线 与外界信息
    • 交换类型: 地址 (ab) 数据(db)控制(cb) 采用了复用引脚 (控制体积 )
      通过电路将数据类型分开
    • 数据总线:双向
    • 地址总线:单向
    • 控制总线:双向 (控制信息 反馈的状态信息)

    在这里插入图片描述
    汇编 :将汇编指令翻译为二进制代码
    IO设备与CPU之间的通信

    • 不能直接通信
    • 经接口电路(声卡,显卡…即为VGA BIOS )转换通过数据总线传输
    • 通过不同地址确定设备

    地址总线的多少确定能寻址的空间的大小
    数据总线的多少确定一次传送数据的多少

    在内存中双字节类型的组织形式
    在这里插入图片描述

    展开全文
  • 多核CPU硬件架构介绍

    千次阅读 2018-09-12 14:38:00
    SISD、MIMD、SIMD、MISD计算机的体系结构 1.计算平台介绍 Flynn于1972年提出了计算平台的Flynn分类法,主要根据指令流和数据流来分类,共分为四种类型的计算...SISD机器是一种传统的串行计算机,它的硬件不支持...

    转自:http://book.51cto.com/art/201004/197196.htm

    SISD、MIMD、SIMD、MISD计算机的体系结构

    1. 计算平台介绍

    Flynn于1972年提出了计算平台的Flynn分类法,主要根据指令流和数据流来分类,共分为四种类型的计算平台,如下图所示:

     

    单指令流单数据流机器(SISD)

    SISD机器是一种传统的串行计算机,它的硬件不支持任何形式的并行计算,所有的指令都是串行执行。并且在某个时钟周期内,CPU只能处理一个数据流。因此这种机器被称作单指令流单数据流机器。早期的计算机都是SISD机器,如冯诺.依曼架构,如IBM PC机,早期的巨型机和许多8位的家用机等。

    单指令流多数据流机器(SIMD)

    SIMD是采用一个指令流处理多个数据流。这类机器在数字信号处理、图像处理、以及多媒体信息处理等领域非常有效。

    Intel处理器实现的MMXTM、SSE(Streaming SIMD Extensions)、SSE2及SSE3扩展指令集,都能在单个时钟周期内处理多个数据单元。也就是说我们现在用的单核计算机基本上都属于SIMD机器。

    多指令流单数据流机器(MISD)

    MISD是采用多个指令流来处理单个数据流。由于实际情况中,采用多指令流处理多数据流才是更有效的方法,因此MISD只是作为理论模型出现,没有投入到实际应用之中。

    多指令流多数据流机器(MIMD)

    MIMD机器可以同时执行多个指令流,这些指令流分别对不同数据流进行操作。最新的多核计算平台就属于MIMD的范畴,例如Intel和AMD的双核处理器等都属于MIMD。

    本书所讲述的主要内容就是围绕多核计算平台而来的,下面就来介绍一下多核的硬件结构。

    2. 多核CPU硬件结构

    多核CPU是将多个CPU核集成到单个芯片中,每个CPU核都是一个单独的处理器。每个CPU核可以有自己单独的Cache,也可以多个CPU核共享同一Cache。下图便是一个不共享Cache的双核CPU体系结构。

     

    在现代的多核硬件结构中,内存对多个CPU核是共享的,CPU核一般都是对称的,因此多核属于共享存储的对称多处理器(Symmetric Multi-processor,SMP)。

    在多核硬件结构中,如果要充分发挥硬件的性能,必须要采用多线程(或多进程)执行,使得每个CPU核在同一时刻都有线程在执行。

    和单核上的多线程不同,多核上的多个线程是在物理上并行执行的,是一种真正意义上的并行执行,在同一时刻有多个线程在并行执行。而单核上的多线程是一种多线程交错执行,实际上在同一时刻只有一个线程在执行。

    3. 多核编程模型

    前面谈到过多核属于共享存储的SMP,但实际上SMP系统出现在多核之前,服务器硬件中就广泛采用多个CPU构成的SMP系统,如双CPU、四CPU的服务器很早就出现了。多核CPU系统中的编程和多CPU的SMP系统的编程模型是一致的,都属于共享存储的编程模型,在本书中把它叫做多核编程,实际上并不限于在多核CPU系统中的编程,而是可以应用于共享存储的SMP系统中的编程。

    转载于:https://www.cnblogs.com/814467783sweet/p/9634631.html

    展开全文
  • AES是世界上最安全、使用广泛的加密算法,很多安全合规要求里面都明确要求使用AES算法,只是相对于3des、rc4等加密算法,速度慢了很多,幸好有了AES-NI,这是针对AES加密算法的硬件加解密CPU指令集。 AES-NI的全称是...

    概述

    AES是世界上最安全、使用广泛的加密算法,很多安全合规要求里面都明确要求使用AES算法,只是相对于3des、rc4等加密算法,速度慢了很多,幸好有了AES-NI,这是针对AES加密算法的硬件加解密CPU指令集。

    AES-NI的全称是:Advanced Encryption Standard New Instructions。指令集说明

    更多详细的信息可以参考Intel发布的企业安全AES-NI白皮书,本文重点在目前阿里公有云上的主流机型上进行性能测试对比,用于RDS的SSL(链路加密)和TDE(透明加密)特性中。

    支持AES-NI指令集的Intel CPU列表,基本上2010年之后的Intel CPU都支持,另外AMD和ARM的一些型号也支持。

    支持AES-NI的安全和加密软件库

    绝大多数现代编译器都支持AES-NI指令。常见的支持AES-NI的安全加密软件库:

    • Cryptography API: Next Generation (CNG) (requires Windows)[27]
    • Linux's Crypto API
    • Java 7 HotSpot
    • Network Security Services (NSS) version 3.13 and above28
    • Solaris Cryptographic Framework[29] on Solaris 10 onwards
    • FreeBSD's OpenCrypto API (aesni(4) driver)[30]
    • OpenSSL 1.0.1 and above[31]
    • FLAM®/FLUC® 5.1.08 (released 2015-08-24) and above

    查看CPU信息

    测试的目标机器是D13机型,具体CPU配置如下:

    #lscpu
    Architecture:          x86_64
    CPU op-mode(s):        32-bit, 64-bit
    Byte Order:            Little Endian
    CPU(s):                24
    On-line CPU(s) list:   0-23
    Thread(s) per core:    2
    Core(s) per socket:    6
    CPU socket(s):         2
    NUMA node(s):          1
    Vendor ID:             GenuineIntel
    CPU family:            6
    Model:                 45
    Stepping:              7
    CPU MHz:               2194.853
    BogoMIPS:              4388.87
    Virtualization:        VT-x
    L1d cache:             32K
    L1i cache:             32K
    L2 cache:              256K
    L3 cache:              15360K
    NUMA node0 CPU(s):     0-23

    检查系统是否支持AES-NI指令

    D13机型24个核都开启了AES-NI

    #grep -m1 -o aes /proc/cpuinfo
    aes
    #grep -o aes /proc/cpuinfo|wc -l
    24

    openssl是否支持AES-NI指令

    openssl从1.0.0版本之后开始支持aesni engine,但是在1.0.0版本中必须在代码中显式指定engine,如下:

    EVP_CIPHER_CTX ctx;
    EVP_CIPHER_CTX_init(&ctx);
    ENGINE_load_builtin_engines();
    ENGINE* engine=ENGINE_by_id("aesni");
    if(engine==NULL){
        printf("aesni not found\n");
    }
    EVP_EncryptInit_ex(&ctx,EVP_aes_128_cbc(),engine,test_key_128,test_init_vector);
    int out;
    EVP_CipherUpdate(&ctx,output,&out, test_plain_text, inputlen); 

    openssl 1.0.1版本后,将这个engine去掉了,变成运行时期自动检测是否支持AES-NI,如下:

    extern unsigned int OPENSSL_ia32cap_P[2]; 
    

    #define AESNI_CAPABLE (OPENSSL_ia32cap_P[1]&(1<<(57-32)))

    const EVP_CIPHER *EVP_aes_128_cbc(void) { return AESNI_CAPABLE?&aesni_128_cbc:&aes_128_cbc; }

    只有使用openssl EVP的接口定义函数才能够使用AES-NI。简单介绍一下EVP,EVP函数对openssl的底层加解密函数进行了封装,提供高层的通用接口,其中一大好处就是底层的加解密套件可以更换,而调用方无需做代码更改。

    测试方法

    • 开启AES-NI指令加速情况下测试aes-256-cbc
    openssl speed -elapsed -evp aes-256-cbc
    
    • 关闭AES-NI指令加速的情况下测试aes-256-cbc的性能
    OPENSSL_ia32cap="~0x200000200000000" openssl speed -elapsed -evp aes-256-cbc

    在D13机型中不同密钥长度是否开启AES-NI的加解密性能测试数据

    测试值的含义是单个CPU每秒处理的数据量。

    AES-NI enabled type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
    ON aes-256-cbc 282.49MB 296.7MB 300.08MB 301.0MB 301.21MB
    OFF aes-256-cbc 136.59MB 153.13MB 156.37MB 158.5MB 159.37MB
    ON aes-128-cbc 385.65MB 411.25MB 418.37MB 420.14MB 420.62MB
    OFF aes-128-cbc 180.44MB 209.81MB 217.87MB 220.55MB 222.4MB

    AES_NI_001

    结论:

    • 密钥长度越长,处理速度越慢
    • AES-NI开启后的处理性能提升2~3倍
    展开全文
  • 计算机 锁 的cpu硬件级别支持原理

    千次阅读 2017-01-13 11:23:02
    多核多线程 并发在硬件层面,CPU提供了原子操作 机制;1禁止中断、2锁内存总线3Test-and-Set指令Swap指令同步互斥 . 互斥与同步的概念 互斥和同步是两个紧密相关而又容易混淆的概念。互斥:是指某一资源同时只允许...

    单核多线程 并行
    多核多线程 并发

    在硬件层面,CPU提供了原子操作 机制;

    1禁止中断、

    2锁内存总线

    3Test-and-Set指令

    Swap指令

    同步互斥
    . 互斥与同步的概念
    互斥和同步是两个紧密相关而又容易混淆的概念。

    互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。
    同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。

    同步:任务间的直接制约关系,A要继续执行需要B完成某一个操作操作才能继续进行。
    互斥:任务间的间接制约关系,A访问了资源B就不能去访问,必须等A访问完了才行。

    原子操作:

    锁分类:sleep-waiting、 busy-waiting。

    这里写图片描述

    展开全文
  • 保护模式下Intel 80x86 CPU 硬件中断过程 大学学操作系统原理的时候,感觉进程和文件似乎是介绍最多的两块内容,但慢慢发现,要想理解清楚操作系统的工作机制,如果按知识学习的先后顺序排,中断应当是比较靠前的才...
  • 在安装tensorflow的时候, 出现下面的错误. ... 最后发现自己的CPU是Pentium的E5800. 这款CPU因为不支持AVX(高级向量扩展), 所以tensorflow不支持. 真是坑爹啊. AVX说明:https://en.wikipedia.org/wiki/Advanced_V...
  • 一般虚拟化主ESXi都会开启BIOS中的CPU虚拟化技术,INTEL叫VT-x,AMD的叫AMD-V。ESXI部署虚机需要做一下配置(一定要用vshpere web client浏览器客户端打开)。 1、检查虚机版本是否是9版本以上的,如果不是进行虚机...
  • 一般虚拟化主ESXi都会开启BIOS中的CPU虚拟化技术,INTEL叫VT-x,AMD的叫AMD-V。如下图为DELL服务器的CPU虚拟化功能开启方法,进入BIOS,选择Process Setting,将Virtualization Technology设置为Enabled。 当在该...
  • C++ 硬件信息 获取CPU序列号

    万次阅读 2015-04-09 13:38:56
    获取计算机CPU序列号的方法很多,这里采用的是命令行的形式获取,可以获取CPU的序列号,很简单,直接上代码。 【1】头文件 #if !defined(AFX_14BEC153_17B9_47BE_845F_71A27BF26B59__INCLUDED_) #define AFX_...
  • vmware 开启VM的硬件cpu虚拟化功能

    千次阅读 2018-01-06 00:33:00
    物理机的cpu硬件虚拟化功能,通过开启bios中的设置,而vmware中创建的虚拟机也可以开启该特性,如下。 这样的话,就直接可以基于这些VM安装openstack计算节点、控制节点、网络节点了。 转载于:...
  • 电脑硬件知识入门之CPU

    千次阅读 2017-03-17 18:04:17
    Processing Unit,CPU)是一台计算机的运算核心和控制核心。CPU、内部存储器和输入/输出设备是电子计算机三大核心部件。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU由运算器、控制器和寄存器及实现...
  • C++获取计算机的CPU ID,硬盘序列号等硬件信息

    千次下载 热门讨论 2010-06-11 18:37:23
    C++获取计算机的CPU ID,硬盘序列号等硬件信息,C++获取计算机的CPU ID,硬盘序列号等硬件信息。
  • CPU检测硬件中断的机制分析

    千次阅读 2014-10-07 21:12:33
    CPU中还设置了一些硬件逻辑,用来完成从响应请求后到转入服务子程序之前的一系列操作,如保存断点和状态字,获取服务子程序的入口地址。这些操作是在响应请求后随即发生的,不可能预先安排在程序中,因而有硬件来...
  • 物理CPUCPU核数、逻辑CPU、超线程

    千次阅读 2018-11-24 15:41:07
    物理CPU就是插在主机上的真实的CPU硬件,在Linux下可以数不同的physical id 来确认主机的物理CPU个数。 核心数: 物理CPU下一层概念就是核心数,我们常常会听说多核处理器,其中的核指的就是核心数。在Linux下...
  • 在Linux操作系统中,可以使用 /proc/ 目录下的命令查看,如:cat /proc/cpuinfo 查看CPU信息。然而在macOSX系统中,此却命令不可用。不过好在系统提供了另外一个可能的命令 sysctl,如:sysctl machdep.cpu.brand_...
  •  CentOS查看CPU信息(CPU型号 CPU的个数 CPU是几核)...逻辑CPU :/proc/cpuinfo 用来存储cpu硬件信息的信息内容分别列出了processor 0 – n 的规格。注意:n就不是真实的cpu数。 (一般情况,我们认
  • 怎么查看服务器的cpu和内存的硬件信息 在linux 下怎么查看服务器的cpu和内存的硬件信息 可以按照如下方式进行操作: 一、查看cpu总个数方法: 1、首先执行top命令,如下图中内容...
  • Windows查看系统硬件信息 CentOS查看系统硬件信息 Windows查看系统硬件信息 查看Windows系统硬件信息最方便的方法是使用“鲁大师”等类似软件。效果见下图: 可以看到,我的电脑配置为: CPU:双核 内存:4G...
  • Linux下查看物理CPU和逻辑CPU个数

    万次阅读 2016-11-23 11:43:22
     /proc/cpuinfo是用来存储cpu硬件信息的,信息内容分别列出了processor 0到 processor n-1 的规格,n是逻辑cpu数。一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT),可以在逻辑上再分几倍数量的...
  • 计算机硬件的五大单元输入单元:包括键盘、鼠标、卡片阅读器、扫描仪、手写板、触控屏幕等等一大堆; 主机部分:这个就是系统单元,被主机机壳包住了,里面有CPU与住存储器等; 输出单元:例如屏幕打印机等; ...
  • C#获取CPU硬件ID

    千次阅读 2011-09-14 11:53:58
    应用程序和服务可以使用从 ManagementObjectSearcher 和 ManagementQuery 派生的类,查询感兴趣的管理信息(例如在磁盘上还剩多少可用空间、当前 CPU 利用率是多少、某一应用程序正连接到哪一 数据库 等等);或者...
  • 工业界和学术界对操作系统及运行在其上的软件安全的研究已经持续了数十年时间,但对硬件安全特别是信息系统核心部件CPU芯片硬件安全的研究工作近几年才刚起步,这主要是由两个原因造成的,一是绝大部分...
  • alt+数字键】 第二部分 1、单选题: 两个8位二进制数进行比较,不考虑硬件成本,以下输出信号哪个时延最短 选项: A:大于 B:等于 C:小于 D:都一样 答案: 【等于】 2、多选题: 关于组合逻辑电路,以下说法正确的是 ...
  • CUDA Handbook 补充 CPU和GPU硬件架构1

    千次阅读 2019-03-30 10:28:41
    CPU通过内存管理模块与内存进行连接,如果内存不足,那么系统自动从硬盘划定出区域作为虚拟内存空间,读写速度很慢。 北桥是Intel计算机主板芯片组的两枚芯片之一,另一枚是南桥,南桥连接外围设备到CPU。以前的...
  • 阿里妹导读:通用处理器(CPU)的摩尔定律已入暮年...伴随着当今硬件技术的成熟发展,普通CPU无论是在计算能力,还是资源成本上相对于一些专用硬件已经没有绝对优势,这也促使硬件加速技术得到各大公司的青睐,譬如...
  • 查看UNIX服务器CPU个数等硬件信息

    千次阅读 2013-02-25 10:06:17
    查看硬件_CPU 个数硬件类型  转载自:http://blog.chinaunix.net/uid-25256412-id-101004.html 一、如何查看服务器的CPU 今天安装了9台Linux服务器,型号完全不一样(有DELL、HP和IBM服务器),又懒得去...
  • linux系统物理CPU和逻辑CPU的关系

    千次阅读 2018-07-16 10:35:47
    2、逻辑CPU /proc/cpuinfo是用来存储cpu硬件信息的,信息内容分别列出了processor 0到 processor n-1 的规格,n是逻辑cpu数。一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT),可以在逻辑上再分几...
  • centos支持的最大cpu、最大内存、已经centos文件系统限制 centos支持最小cpu、最小内存、最小磁盘 centos各个版本支持的CPU架构 详细情况请参考centos官网:https://wiki.centos.org/zh/About/Product ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 520,686
精华内容 208,274
关键字:

cpu硬件