博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CPU知识
阅读量:6932 次
发布时间:2019-06-27

本文共 1257 字,大约阅读时间需要 4 分钟。

CPU的指令集是什么

指令集是底层软件与硬件交互的语言。一台计算机的全部指令称为该计算机的指令集。

现在的常见的指令集有:

MIPS指令集

ARM指令集

Intel x86指令集

 

指令集有两种形式,一种是人类可以编程书写的形式(也就是平时所说的汇编语言),另一种是计算机所能识别的形式(就是汇编语言对应计算机的机器语言)。

下面是一个典型的MIPS汇编语言:

add $s1,$s2,$3

汇编语言和高级语言不一样,变量不能任意指定,它只能操作寄存器中的变量,寄存器的个数在计算机中是有限制的,一般是32个。不同的指令集按照寄存器的顺序给他们排列编号0,1,2... 并且用$号来表示寄存器。比如MIPS是使用$s0-$s7表示寄存器16-23,$t0-$t7表示寄存器8-15。

寄存器的长度

寄存器一个字的长度有32和64,由于寄存器是CPU一次运算执行的变量单元,因此我们说的32位机器和64位机器最本质的区别就在于寄存器字的长度是32还是64。

寄存器中存的可能是值,也可能是一个地址。

什么是程序计数器(PC)

储存当前程序运行指令的寄存器就是程序计数器。

指令集的寻址方式

其实就是说如何根据寄存器找到一个值。比如MIPS的PC相对寻址,就是说要获取的值的地址是PC(程序计数器)的值与指令中常数的和。

CPU架构

CPU架构指的是全套CPU的机制,包括用什么CPU指令集,用什么寄存器,有什么寻址方式。一般一种指令集对应一种CPU架构。

ARM指令集

ARM指令集是在嵌入式设备中最常用到的指令集,像苹果和三星的移动设备都是使用这个ARM 架构。

Intel X86指令集

这个是PC中最常用到的指令集了,比如平常说的Intel 8086是第一款寄存器为16位长的体系结构。Intel 80386是第一款寄存器为32位长的指令集。

AMD64 指令集

AMD64是64位的。由AMD公司开发。更多用于服务器上。其后也为Intel所采用,称为Intel X86-64

具体产品

举具体产品的例子,iphone4使用的cpu是苹果A4处理器,iphone5使用的是苹果A5处理器,这两个实质上都是ARM架构。三星应用在智能手机和平板电脑上的Exynos处理器也是基于ARM架构的,由自家公司研发改造的。

Intel公司生产的所有CPU都兼容x86指令集,只不过后来它开发出了很多扩展指令集,比如酷睿系列i3/5/7就支持Intel avx扩展指令集,MMX(多媒体扩展指令集)。

比如戴尔的Inspiron笔记本电脑系列多使用AMD的CPU架构。

go中的5g/6g/8g

go编译器支持三种指令集:

amd64(即Intel x86-64或AMD64): 6g,最成熟的实现

386(即Intel X86-32) : 8g,是amd64到386机器的完美移植

arm: 5g,所以说go本质是支持在移动终端的开发

5g, 5l, 5c, 5a 分别表示 arm的go编译器,链接器,c编译器,汇编编译器

转载地址:http://ailjl.baihongyu.com/

你可能感兴趣的文章
小小聊天室
查看>>
几个不错的网站
查看>>
postmaster.c 中的 ListenAddresses
查看>>
.NET_.NET 发布(publish)网站_01-2
查看>>
文件处理
查看>>
c# 读写 xml
查看>>
使用<frameset><frame/><frame/></frameset> 布局页面 (div+css布局 和frameset布局,两种并列策略)...
查看>>
RDLC子报表
查看>>
2012-09-03 → 2012-09-09 周总结
查看>>
通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题
查看>>
.net调试插件sosex的mk命令显示调用堆栈
查看>>
.NET开发者可以在Windows 8中使用ARM
查看>>
【C#】隐式类型var
查看>>
关于Jquery中ajax方法data参数用法的总结
查看>>
hdu 1496(hash经典)
查看>>
javascript转换日期字符串为Date对象
查看>>
javascript 兼容不同手机的 canvas
查看>>
一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少?
查看>>
方法javaJVM学习笔记-内存处理
查看>>
android官方资料
查看>>