怎么控制线程执行顺序 计算机的第一条指令如何执行?
计算机的第一条指令如何执行?
这涉及到一些构图原理和操作系统的根本问题。
一一回答。
1.说明书存放在哪里?
指令以二进制代码的形式存储在外部存储器(硬盘)中,在程序执行时会加载到主存储器(内存)中供CPU直接使用。
2.两点是什么时候?CPU工作?
因为现代计算机都是基于冯.诺依曼体系结构开发的,所以指令在计算机中的执行也是顺序的,即 "获取执行 "。但是
只有一个CPU(单处理器),同时只能有一个程序使用CPU执行操作。但是执行一条操作指令(比如1 ^ 2)的速度和执行一条IO指令(比如从磁盘读取文件)的时间相差很大(10 ^ 5)。执行一条IO指令可以执行无数条操作指令,一个程序可以 不都是操作指令,会导致CPU在执行IO操作时不工作。
因此,前人提出了 "过程与结果
概念,多个程序交替并发执行,发生IO操作或资源抢占时阻塞自身,然后调度其他进程进行CPU操作。进程的调度是由操作系统来完成的,一个操作系统可能有几十个或者上百个进程,所以现代操作系统中CPU几乎没有休息时间。
3.一段代码是如何运行的?
首先,应该明确计算机可以 t直接识别C代码,C代码在编译链接的过程中会被翻译成计算机可以识别的二进制机器码。
先看一个简单的C函数。
编译它
Rbp和eax都是CPU中的寄存器。
Mov和add都是汇编指令,其中mov将前一个操作数移动到后一个操作数。
c代码被编译器翻译成汇编代码,很像要执行的指令。我们不。;这里不讨论汇编语言生成的机器码。
根据上面讨论的冯诺依曼系统的顺序执行,我们可以简单的画出一个模型顺序指令执行模型——CPU从主机访问第一条指令,执行将3移入(%rbp-4),然后从第二条指令的地址取出,然后执行将5移入(%rbp-8),之后取出,然后将两个数相加,保存在寄存器eax中。
虽然现代CPU为了提高运行效率,在这种顺序模型的基础上进行了很大的优化和改进,如流水线、乱序执行、超线程等技术,但都是基于上述取指令执行模型。
12核24线程什么意思?
12核24线程:CPU核数为12。12核24线程:CPU线程是24线程,最多可以模拟24核。
线程(英语:Thread)是操作系统可以调度操作的最小单位。它包含在流程中,是流程中的实际操作单元。线程是指进程中控制流的单个序列多个线程可以在一个进程中并发,每个线程并行执行不同的任务。
在Unix System V和SunOS中,也称为轻量级进程,但轻量级进程将内核线程和用户线程称为线程。
发展简史
在20世纪60年代,OS中能够拥有资源并独立运行的基本单位是进程。然而,随着计算机技术的发展,过程有许多缺点。
第一,因为进程是资源的拥有者,在创建、撤销和切换时有很大的时间和空间开销,所以需要引入轻进程。第二,由于对称多处理器(SMP)的出现,可以满足多个运行单元,但是多个进程的并行开销太高。
所以在80年代,线程这种可以独立运行的基本单元出现了。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。