DP读书:鲲鹏处理器 架构与编程(一)处理器与服务器

简介: DP读书:鲲鹏处理器 架构与编程(一)处理器与服务器


鲲鹏处理器 架构与编程(一)处理器与服务器

你好! 这是我第一次使用 Markdown编辑器

下面请由我来介绍这本书(下面是我的学习笔记)

未来的世界将是一个

端-云-端 的世界:

人机物融合,通过对云侧的极限计算,边缘侧的专业计算,端侧的个性计算——未来计算机体系的构成。
x86:个人向
ARM:移动计算,服务器AND物联网
RISC-V:万物互联

鲲鹏系列处理器:ARM生态

本文基于学习ARM架构,帮助理解高性能服务器处理器。

鲲鹏芯片:海思自研芯片的总称,含有鲲鹏处理器、昇腾(Ascend)、人工智能(AI)、SSD控制芯片、智能融合网络、智能管理芯片。

鲲鹏920完全兼容64位的ARMv8-A环境,完全兼容所有的ARM环境,提供一种华为创新解决方案。
对于鲲鹏处理器,其不仅满足个人服务器的处理条件,还更多的应用在服务器系统的搭建运行上。

一、服务器与处理器

1 服务器分类

体系结构,技术基础:Sever(服务器)是一种同时网络数据节点与枢纽为主,对于服务器功能与性能>>PC(个人电脑),与PC同属于计算机。

  • SMP(对称多处理器Symmetric multi-Proceser),RAID(独立磁盘冗余阵列Rradudent Arrays of Independent Disks)冗余备份技术,热插拔远程监测技术。

应用层级:服务器大致分级以数量规模作区分

  • 入门、工作组(50-)、部门级、企业级

机械结构:TS塔式(台式)[入门工作组级]、RS机架(机柜)[宽19英寸,1、2、4、8U单位,1U=1.75英寸]、BS刀片[共享高速总线,发热能耗低]

使用用途:业务服务器、存储服务器、其他专用服务器

  • 人工智能架构支持异构架构,大量GPU(Graphics Processing Unit图形处理器)或FPGA(Field Programmable Gate Array,现场可编程门阵列)实现CPU加速。

处理器架构:处理器分类——CISC(Complex Instruction Set Computer,复杂指令集计算机)和RISC(Reduced Instruction Set Computer,精简指令计算机) + 架构分类——CISC、RISC、EPIC(一种特殊的RISC)

  • CISC架构服务器:Intel的Intel 64架构,AMD的AMD64和早期的IA-32,
    Intel的Keon、AMD的Opteron和EPYC
  • RISC架构服务器:非INTEL架构服务器 + IBM的Power,HP的Alpha和PA-RISC、SUN/Oracle的SPARC 、MIPS的NIPS
    :RISC架构服务器 不同于 体系结构的RISC处理器,价格昂贵、体系封闭,Unix和专用系统为主,稳定性能强
    +Power架构,Apple、IBM、摩托罗拉共同开发的微处理器架构,Power(Performance Optimized With Enhanced RISC)性能强大,价格高昂,硬件采用SMP(对称多处理器)国内IPS负责运营。
    +SPARC早期由SUN开发、目前由Oracle甲骨文运营的处理器架构,SPARC(Scalable Processor ARChitecture可拓展处理器架构)

  • EPIC架构服务器:显示并行指令计算(Explicitly Prallel Instruction Computing)IA-64的Itanium处理器,由HP和Intel开发 : 免去了在RISC中设计复杂的并行调度电路,直接应用现代编译程序进行过程性调度。
    +VLIW(Very Long Insstruction Word 超长指令字)技术,提高并行性,128位指令束3*41+5,但将于2025停产

服务器测试基准:TPC、SPEC

:RASUM–>主板 控制管理IPMI规范,IPMI(Intelligent Platform Management Interface智能平台管理接口)应用BMC芯片与BIOS交互,规范描述了主板管理控制,

+ BMC监视系统状态,多接口上层网管查询

查找:Ctrl/Command + F

替换:Ctrl/Command + G

2服务器处理器

高性能处理器并行组织结构,为了提供更强的计算能力。

但是由于物理规律对半导体器件的限制,传统的单处理器系统通过提高主频提升性能的方法收到制约,不可能任沿摩尔定律预测的轨迹持续上升,且随着晶体管越来越小芯片内部的互连线延时影响越来越大,高频率不仅使能源消耗剧增,而且没有良好的散热对系统的稳定性造成剧烈影响。

并行式成为了在这种情况下更好的解决方案,成为目前能够提高系统效率的最佳方案。

1.指令流水线

执行程序的角度,并行等级可分为多级:一条指令执行的微操作之间的并行是指令内部的并行;并行执行两条或多条指令,也即指令级并行(Instruction-Level Parallelism,ILP )执行两个或两个以上任务(程序段)属于任务级并行;最高层次或作业级并行则是指2+作业或程序

对于单个处理器,时间并行技术主要体现在指令流水线。 常见的高性能处理器无一不采用指令处理器,多发射处理器将空间并行性引入了处理器。
超标量(Superscalar)采用多发射技术,处理器内部采用多条并行执行的指令流水线,通过时钟周期内向执行单元发射多条指令实现指令级并行。

2.多处理器系统、多计算机系统

Multi-processor(多处理器系统)

常见的有集群(Cluster,也称机群),集群中每台计算机一般成为节点,反应物理连接的紧密程度和交互能力的大小分为,紧耦合系统(直接耦合 系统)[总线、高速开关相连]与 松耦合系统(间接耦合系统)[通道通信线路相连]

3.多线程处理器

除了传统的指令级并行技术,多线程技术与多核技术也能提高芯片处理能力的片内并行技术。.

//当处理器访问Cache(高速缓冲存储器)缺失(Miss,不命中),则必须访问主存,这会导致执行部件长时间等待,直到Cache成功加载。
var 解决该问题的方法是片上多线程技术(On-chip Multi-threading)技术。
  = '处理器中,引入硬件多线程(Hardware Multi-threading)的概念,原理相似。';

并行概念从指令级并行拓展至线程级并行(Thread-Level-Parallelism),快速进行线程级切换,减少垂直浪费。

同时多线程(Simultaneous Multi-Threading,SMT),减少水平以及垂直浪费。一个时钟周期内,不同线程的多条指令。E.g.:Intel的超线程。

一个简单的表格是这么创建的:

项目 E.g.
指令级并行 超标量(Superscalar)
多处理器系统、多计算机系统 集群(Cluster,也称机群),集群中每台计算机一般成为节点
多线程处理器 $ 并行概念从指令级并行拓展至线程级并行(Thread-Level-Parallelism)
目录
相关文章
|
16天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
1月前
|
Ubuntu 网络协议 Java
【Android平板编程】远程Ubuntu服务器code-server编程写代码
【Android平板编程】远程Ubuntu服务器code-server编程写代码
|
20天前
|
网络协议 Python
pythonTCP客户端编程连接服务器
【4月更文挑战第6天】本教程介绍了TCP客户端如何连接服务器,包括指定服务器IP和端口、发送连接请求、处理异常、进行数据传输及关闭连接。在Python中,使用`socket`模块创建Socket对象,然后通过`connect()`方法尝试连接服务器 `(server_ip, server_port)`。成功连接后,利用`send()`和`recv()`进行数据交互,记得在通信完成后调用`close()`关闭连接,确保资源释放和程序稳定性。
|
19天前
|
Python
Python网络编程基础(Socket编程)UDP服务器编程
【4月更文挑战第8天】Python UDP服务器编程使用socket库创建UDP套接字,绑定到特定地址(如localhost:8000),通过`recvfrom`接收客户端数据报,显示数据长度、地址和内容。无连接的UDP协议使得服务器无法主动发送数据,通常需应用层实现请求-响应机制。当完成时,用`close`关闭套接字。
|
编解码 算法 计算机视觉
轻松掌握FFmpeg编程:从架构到实践
轻松掌握FFmpeg编程:从架构到实践
164 1
|
1月前
|
缓存 开发者
嵌入式微处理器的系统架构中微处理器的内核架构
嵌入式微处理器的系统架构中微处理器的内核架构
60 0
|
1月前
|
存储 机器学习/深度学习 人工智能
嵌入式中一文搞懂ARM处理器架构
嵌入式中一文搞懂ARM处理器架构
38 1
|
1月前
|
Ubuntu 网络协议 Java
在Android平板上使用code-server公网远程Ubuntu服务器编程
在Android平板上使用code-server公网远程Ubuntu服务器编程
|
6天前
|
敏捷开发 监控 数据管理
构建高效微服务架构的五大关键策略
【4月更文挑战第20天】在当今软件开发领域,微服务架构已经成为一种流行的设计模式,它允许开发团队以灵活、可扩展的方式构建应用程序。本文将探讨构建高效微服务架构的五大关键策略,包括服务划分、通信机制、数据管理、安全性考虑以及监控与日志。这些策略对于确保系统的可靠性、可维护性和性能至关重要。