Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
suoyuan666 committed Jan 17, 2025
1 parent 6b2fb9f commit 17885fe
Show file tree
Hide file tree
Showing 3 changed files with 469 additions and 3 deletions.
6 changes: 3 additions & 3 deletions content/posts/c_not_low_level.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "译文: C 不是一个底层编程语言"
author: suo yuan
date: 2024-12-19T02:30:08Z
lastmod: 2025-01-10T10:31:22Z
lastmod: 2025-01-17T11:45:06Z
draft: false
tags:
- C
Expand Down Expand Up @@ -30,7 +30,7 @@ summary: "一篇题为 C Is Not a Low-level Language 的译文"
>
> 虽然我们希望执行错误的分支后应该恢复到执行前的状态,但实际上可能会有一些副作用残留。Spectre 利用了这一点,将一些不可读的数据提前加载到缓存中,方便后续读取。
>
> Spectre 不易修复,它指代的是一类的漏洞,直到今年(也就是 2024 年),依旧可以看到它。实际上 Spectre 十分依赖于对芯片行为的研究,开发者需要诱导 CPU 认为应该执行分支里的代码。
> Spectre 不易修复,它指代的是一类的漏洞,直到今年(也就是 2024 年),依旧可以看到它。Spectre 依赖于对芯片行为的研究,开发者需要诱导 CPU 认为应该执行分支里的代码。
>
> 如果想了解更多,可以参考 Meltdown 和 Spectre 的论文: [Meltdown](https://arxiv.org/abs/1801.01207)[Spectre Attacks: Exploiting Speculative Execution](https://arxiv.org/abs/1801.01203)
Expand Down Expand Up @@ -120,4 +120,4 @@ ARM 的 SVE(标量向量扩展,Scalar Vector Extensions)—— 以及伯

在软件开发中有一个常见的误区,那就是并行编程很难。对于 Alan Kay 来说,这将是一个惊讶,他能够教年轻孩子使用一个演员模型语言,并让他们编写拥有超过 200 个线程的工作程序。对于 Erlang 程序员来说,这也同样令人惊讶,他们通常编写包含成千上万并行组件的程序。更准确的说法是,在具有类似 C 抽象机的语言中并行编程很困难,而考虑到并行硬件的普及,从多核 CPU 到多核心 GPU,这也只是说 C 语言与现代硬件的匹配度较差。

[^1]: http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_260.htm
[^1]: http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_260.htm
Loading

0 comments on commit 17885fe

Please sign in to comment.