指令集架构文章总览

计算机是什么,要设计成什么样子

冯诺依曼体系结构

指令集架构文章总览_第1张图片

计算机的必备概念

计算机有通用计算机(例如桌面计算机),服务器,嵌入式计算机
但是都符合冯诺依曼体系结构

办公用的笔记本或台式机(2022-3-5 10:52:42 一般是X64架构)
	输入设备 : 键盘 , 鼠标 , 触摸板,触摸屏 , 麦克风 , 摄像头
	输出设备 : 显示器 , 喇叭
	存储器   : 机械硬盘 , 内存条
	运算器&控制器 : CPU

服务器
	类似于 "办公用的笔记本或台式机"

嵌入式计算机 // ARM架构居多
	输入设备 : 传感器 ,开关, 		及 办公用的笔记本或台式机的输入设备
	输出设备 : LED灯 			及 办公用的笔记本或台式机的输出设备
	存储器   : flash mmc  		及 办公用的笔记本或台式机的存储器
	运算器&控制器 : SOC
	

CPU 要完成什么工作

运算和控制
	一定要设计如下两类指令集
	运算
		算术运算 : 整数/浮点/向量
		逻辑运算 
	控制
		分支控制 : 程序流控制/跳转
		访存 	: 通过写内存来控制外设 // 是运算的依赖  // 运算的前提是 将 运算的值从寄存器中拿到 寄存器
		
	其他: // 运算和控制的依赖
		异常处理
		原子操作
		fence
		系统寄存器访问

CPU的架构设计

其实只要设计能完成 运算和 控制就算完成了 CPU 的架构设计,但是 不同的人有不同的想法

他们对"完成"运算和控制"这个操作"所需的
	1.指令条数
	2.指令编码
不同,产生了 不同的 "架构"

而基于某一个 架构(指令集) , 他们 对 "取值,解析,执行" 所需的 具体设计
	1. 流水线条数
	2. ...
不同,产生了 不同的 "基于该结构的 微架构"

而基于 某一个 微架构 , 他们 对 "一个芯片应该包含什么外设" 
	1. 是否应该包括 I2C
	2. 某设备应该挂到什么总线上
不同,产生了 不同的 "基于 某 微架构的 芯片"

不同的CPU架构

X86

X64

  • X86 与 X64

ARMv7

  • arm32及linux介绍
  • cortex-m arm32 及keil 介绍

ARMv8

  • arm64及linux介绍

RISCV32

RISCV64

  • riscv及linux介绍

debug架构

  • 基于JTAG的 芯片DEBUG 文章整理

虚拟化架构

  • kvm

你可能感兴趣的:(杂七杂八总览,架构,linux,运维)