cpu与指令集

简介: cpu与指令集

讨论一下

作为一个java程序员,我们都知道,当我们写完代码,java文件会被编译为class文件,然后交给jvm去执行,那么这个执行过程是啥样的呢??

一般我们得到的解答都是,class代码会被解释(或者编译)成机器码,然后机器就知道如何运行了。

当你去查jvm是如何执行我们的代码的,一般回答到“机器码”就结束了,这是令我最不能理解的地方,怎么?计算机不认识我的java代码,就能认识机器码了?机器码是个啥玩意儿??

机器码

我们来了解一下机器码是什么,来看一下维基百科的解释:

机器语言(machine language)是一种指令集的体系。这种指令集称为机器代码(machine code),是计算机的CPU 或 GPU 可直接解读的资料。

机器代码有时也被称为原生码(Native Code),这个名词比较强调某种编程语言或库与执行平台相关的部分。

机器语言是用二进制代码表示的、计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。不同种类的计算机其机器语言是不兼容的,按某种计算机的机器指令编制的程序不能在另一种计算机上执行。

要用机器语言编写程序,编程人员需首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员要自己处理每条指令和每一数据的存储分配和输入输出,还需记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作,编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且,这样编写出的程序完全是0与1的指令代码,可读性差且容易出错。在现今,除了计算机生产厂家的专业人员外,绝大多数程序员已经不再学习机器语言。

机器语言是微处理器理解和使用的用于控制它的操作的二进制代码。

继续疑惑

从上面那段话,我们能知道,机器码是一种指令集,使用二进制代码表示,重点是这句:“它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。

那么,我可以这样理解吗?

cpu=指令集的物理实现?

指令集是接口,cpu就是实现?

是不是可以理解为这样,cpu内的硬件设计,直接对应指令集的设计,比如指令集规定:0000代表读取操作,那么cpu的电路设计应该有一部分是当电路状态为0000的时候,进行读取。

新的疑惑:译码器?

然后继续查资料,带给我新的疑惑,译码器又是个啥??

译码器是啥子

维基百科是这么解释的:

译码器是电子技术中的一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的对象(如逻辑电平等),功能与编码器相反。译码器一般分为通用译码器和数字显示译码器两大类。

关注重点:“逻辑电平”

那是不是能这么理解,机器码到了译码器,译码器来指挥cpu咋干。好像没啥毛病。

目录
相关文章
|
6月前
|
缓存 Linux Go
一次性构建出多CPU指令集的 Docker 镜像
本文介绍了使用 Docker Buildx 构建跨平台 Docker 镜像的流程。首先确保系统为 Ubuntu 22.04,安装 Docker 和相关依赖。然后配置 Docker Buildx,编写 Go 程序和 Dockerfile。接着,创建构建脚本 `build.sh` 自动化构建并推送镜像到 Docker Hub。运行此脚本将为不同平台(如 amd64, arm64)构建并推送镜像。最后,在 Docker Hub 可查看构建结果,并可在其他系统上测试镜像。
108 3
|
Docker Windows 容器
cpu不支持avx指令集怎么办
如果CPU不支持AVX指令集,可以考虑以下两种解决方案: 更新BIOS版本:在某些情况下,更新BIOS版本可能会支持AVX指令集。可以联系电脑厂商或者查阅相关教程进行BIOS更新。 更换支持AVX指令集的CPU:如果更新BIOS版本后仍不支持AVX指令集,那么可以考虑更换支持AVX指令集的CPU。可以根据自己的需求和预算选择适合的CPU。 另外,如果在tf1.6以后的官方的tf包都是用AVX编译的,而电脑的CPU不支持AVX指令集,那么可以考虑使用Docker来配置运行环境。但需要注意,Docker在Windows上配置稍显繁琐,并需要配置虚拟机等其他东西。 总的来说,如果不支持AVX指令
3656 0
|
算法 编译器
【计算机架构】响应时间和吞吐量 | 相对性能 | 计算 CPU 时间 | 指令技术与 CPI | T=CC/CR, CC=IC*CPI
【计算机架构】响应时间和吞吐量 | 相对性能 | 计算 CPU 时间 | 指令技术与 CPI | T=CC/CR, CC=IC*CPI
1117 1
|
6月前
|
存储 Ruby 内存技术
【机组期末速成】CPU的结构与功能|CPU结构|指令周期概述|指令流水线|中断系统
【机组期末速成】CPU的结构与功能|CPU结构|指令周期概述|指令流水线|中断系统
244 1
|
1月前
CPU的工作原理基于其内部结构,通过执行指令来完成各种任务
CPU的工作原理基于其内部结构,通过执行指令来完成各种任务
53 2
|
5月前
汇编语言(第四版) 实验一 查看CPU和内存,用机器指令和汇编指令编程
汇编语言(第四版) 实验一 查看CPU和内存,用机器指令和汇编指令编程
|
5月前
|
芯片
芯片设计 | 一文读懂,CPU、精简指令集、复杂指令集该如何理解
芯片设计 | 一文读懂,CPU、精简指令集、复杂指令集该如何理解
333 0
|
6月前
|
存储 Java 索引
探索CPU的黑盒子:解密指令执行的秘密
本文深入探讨了CPU执行指令的相关知识,包括CPU内部的寄存器组成、程序计数器的作用、函数调用机制以及CPU指令执行的五个阶段。通过学习这些内容,读者可以进一步了解计算机的工作原理。
探索CPU的黑盒子:解密指令执行的秘密
|
6月前
|
存储 缓存 Java
揭秘计算机指令执行的神秘过程:CPU内部的绝密操作
本文介绍了计算机指令和CPU如何执行指令。它解释了计算机指令可以被视为CPU所理解的语言,不同的CPU支持不同的指令集。文中重点介绍了MIPS指令集作为示例。同时,还描述了CPU的内部处理过程,包括控制单元、算术逻辑单元和数据单元。文章最后讨论了CPU和内存之间通过地址和数据总线进行的数据传输。
225 1
|
6月前
|
XML Java API
Android App开发之创建JNI接口获取CPU指令集讲解及实战(附源码 简单易懂)
Android App开发之创建JNI接口获取CPU指令集讲解及实战(附源码 简单易懂)
203 0

热门文章

最新文章