(中文配音)硬件如何在多任务处理中协助软件?
合集 · 直观理解计算机技术【CoreDumped】 (68)
-
代码中指定变量类型为何如此重要?
11:03
-
栈为何如此之快?
13:46
-
堆为何如此之慢?
17:53
-
动态数组的内部机制(ArrayList VS LinkedList)
19:56
-
探索计算机并发与多任务处理的历史
15:37
-
晶体管是如何运行代码的?
12:54
-
晶体管是如何记忆数据的?
16:12
-
制作一个CPU来运行程序
18:47
-
计算机如何将字符串转换为数字
11:23
-
动态随机存取存储器(DRAM)的工作原理
17:18
-
计算机处理器是如何运行条件和循环的?
16:05
-
一个程序不是一个进程
6:51
-
深入理解进程,如何进行上下文切换?计算机科学中最深刻和最成功的想法之一。
14:52
-
处理器内部的单个位如何保护操作系统的完整性?
20:20
-
计算的心跳:时钟如何推动 CPU 前进?
13:14
-
英语原声版-计算的心跳:时钟如何推动 CPU 前进?
14:22
-
(英语原声)进程间通信:共享内存或发送消息
14:15
-
(中文配音)进程间通信:共享内存或发送消息
12:29
-
(中文配音)为什么单核处理器需要线程?
14:59
-
(英语原声)为什么单核处理器需要线程?
16:07
-
(中文配音)多核系统上的线程
9:26
-
(英语原声)多核系统上的线程
11:27
-
(中文配音)为什么应用程序是特定于操作系统的?
11:52
-
(英语原声)为什么应用程序是特定于操作系统的?
13:09
-
(英语原声)硬件如何在多任务处理中协助软件?
13:15
-
(中文配音)硬件如何在多任务处理中协助软件?
11:29
-
链表的一个实际应用
20:34
-
让你的电脑运行更流畅的奇妙算法
45:02
-
(流畅中文配音)让你的电脑运行更流畅的奇妙算法
43:38
-
(原声双语字幕)当程序调用 sleep() 时会发生什么?
19:41
-
(流畅中文配音)当程序调用 sleep() 时会发生什么?
17:57
-
这个简单算法驱动了真正的解释器:Pratt Parsing
20:40
-
(双语字幕)编程中最难以捉摸的Bug:竞态条件
18:19
-
(流畅中文配音)编程中最难以捉摸的Bug:竞态条件
19:23
-
(中文配音)阻止内存攻击的底层电路
16:02
-
(英语原声)阻止内存攻击的底层电路
14:51
-
为什么有些项目会使用多种编程语言?
18:04
-
为什么有些项目会使用多种编程语言?
19:32
-
别再杀进程了!让 Ctrl+C 变成“喵”……(用信号实现)
17:15
-
别再杀进程了!让 Ctrl+C 变成“喵”...(用信号实现)
19:23
-
80 年代避免竞态条件的算法(以及它为何失败)
19:05
-
80 年代避免竞态条件的算法(以及它为何失败)
19:43
-
CPU如何与众多不同设备交互?
22:10
-
(中文配音)CPU如何与众多不同设备交互?
23:52
-
(中文配音)你每天都在用的奇特CPU操作
14:04
-
你每天都在用的奇特CPU操作
13:04
-
(中文配音)历史如何塑造了我们今天仍在使用的编程术语?
18:04
-
(英语原声)历史如何塑造了我们今天仍在使用的编程术语?
17:42
-
为什么有些底层项目里会充满这种奇怪的代码?
16:41
-
(中文配音)为什么有些底层项目里会充满这种奇怪的代码?
16:39
-
编译与解释代码如何共处同一程序中?
21:35
-
(英语原声)编译与解释代码如何共处同一程序中?
21:30
-
【双语字幕】Core Dumped 常见问题的集中回答
17:09
-
【双语字幕】90年代的设计决策阻碍了Python并行化
13:36
-
【中文配音】90年代的设计决策阻碍了Python并行化
12:01
-
Linux创建进程的奇怪方式
17:51
-
【中文配音】Linux创建进程的奇怪方式
18:14
-
CPU如何运行函数?
19:49
-
【中文配音】CPU如何运行函数?
19:38
-
没有人解释的问题:内核的边界在哪里?
17:15
-
【英语原声】没有人解释的问题:内核的边界在哪里?
19:36
-
硬件如何让线程问题不再那么棘手?
35:49
-
为什么在macOS、Windows和Linux上安装应用程序如此不同?
19:47
-
游戏公司真的能破坏你的电脑吗?
24:00
-
一个视频说透“架构”:为什么你的程序换个CPU就可能跑不了?
10:43
-
CPU如何执行有符号和无符号运算?
14:45
-
简单指令, 奇妙算法
19:11
-
当CPU遇到它不认识的指令,会发生什么?😱【底层原理】
9:26
Description
https://www.youtube.com/watch?v=1HHeyUVz43k https://www.youtube.com/watch?v=1HHeyUVz43k 本视频深入探讨了操作系统中的上下文切换机制,解释了当一个进程被中断时,CPU如何保存和恢复进程的状态。视频详细介绍了寄存器状态的重要性,以及如何在硬件和软件层面实现上下文切换。通过对比不同的CPU架构,视频展示了现代计算机如何处理中断和进程切换,确保系统的高效运行。此外,视频还讨论了硬件支持在上下文切换中的关键作用,以及不同架构如何通过硬件自动化和特殊寄存器组来简化这一过程。
Comments
就拿简单的cortex m来说 貌似只有堆栈指针sp有备份 其余寄存器没有备份
♥ 10 ↩ 2
感觉"软件需要硬件"这个需求与某种哲学类似: 当前抽象层的不完备性使其无法自洽, 因而必须借助更底层的抽象层来弥补和支撑
♥ 4
实名羡慕up这溢出屏幕的才华[点赞][点赞][点赞],YYDS!快来一键三连吧[热词系列_优雅] 一、进程在运行过程中使用CPU执行指令时,寄存器的状态对于指令执行结果的影响,以及中断处理机制的重要性。 00:01 - 进程在运行时使用CPU执行指令,上下文环境影响结果 00:21 - 进程被中断时,必须保存寄存器状态并加载新状态 02:06 - 计算机中断是重要特性,伴随我们超过70年 二、在处理中断时,如何保存被中断进程的CPU状态,以及硬件和软件的解决方案。同时也指出了一些需要注意的问题。 03:03 - 程序计数器被中断覆盖导致无法回避问题 03:47 - 需要处理标志位并将其压入栈中 05:33 - CPU可以提供多个寄存器组分配给不同的进程,避免对前一个进程的状态进行修改 三、处理器中寄存器组的两种类型:普通寄存器组和特权寄存器组。当发生中断时,中央处理器会切换到内核模式,停用普通寄存器组,并开始使用特权寄存器组。 06:00 - 两个寄存器组可满足需求,一组可共享,另一组仅内核可访问 06:16 - CPU在内核模式下可操作更多寄存器,确保中断进程状态不变 08:54 - 硬件自动化有两种实现方式,每种架构不同,但总的来说有两种方式可以做到这一点 四、在硬件中嵌入指令和数据的方法,以及在中断发生前立即执行指令的原理,同时还介绍了在硬件中实现上下文切换的方法。 09:01 - 硬件可以自动执行某些步骤,而不是复制寄存器组。 10:14 - 硬件中执行上下文切换,通过一个段寄存器实现。 11:22 - 敬请订阅,学习更多精彩话题。 --以上内容由模型基于视频内容生成,仅供参考。视频总结、高能空降欢迎召唤热心市民@AI视频小助理
♥ 2
博主,我一直想搞清楚不同语言之间是怎么互相调用的,特别是虚拟机跑的程序和本地机器跑的程序之间。这个系列会介绍吗?
♥ 2 ↩ 10
烫🥵
♥ 1 ↩ 1
字幕好像错位了
♥ 1 ↩ 1
cortex a系列有好多寄存器,经常傻傻搞不明白
主要是方便后期单独提出来,不然你去那么长的视频里找片段是很麻烦的事情。
ARM架构
听不懂
操作系统的栈叫内核栈吗
↩ 1