首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
华为云
V2EX  ›  程序员

不懂 Python 就不能注册 V2EX 吗?

  •  
  •   mytry · 67 天前 · 11170 次点击
    这是一个创建于 67 天前的主题,其中的信息可能已经有所发展或是发生改变。

    115 回复  |  直到 2018-09-16 05:57:39 +08:00
    1  2  
        101
    yankebupt   66 天前
    CMPXCHG....
    @yksoft1 google 直奔 mmx 去了,扑了个空,然后发现是 486....486....
    CAS 为了最早的多线程下的单指令原子性....但愿没查错...
        102
    yksoft1   66 天前 via Android
    @yankebupt p1 出来了它的第一种变种 cmpxchg8b
        103
    newtype0092   66 天前   ♥ 1
    就算不会 python,知道使用搜索引擎也是可以注册的。
        104
    yankebupt   66 天前
    @yksoft1 "但也有传言这可能是一条伪指令,是为了掩盖当时代跨线程原子性的简单实现方式后来添加的......"
    不过再也没有 486 系统来验证是不是真有这个指令了....
    486 时代我记得还分 DX SX 性能不一样什么的还是我记错了...
        105
    yankebupt   66 天前
    @yksoft1 N 年前曾经读到过关于所谓锁了中断不能切换进程自然就原子性了之类的,当时也差点信以为然,后来看看,一大堆寄存器标志位完全不懂,结果再碰到互相矛盾的相关的技术说明之类完全不知道信哪个了。很可能信错了多线程性能直接砍个 25%什么的.....
        106
    LeeJTom   66 天前
    难道不是用来防机器人的吗,hhhh
        107
    saran   66 天前
    其实比 BILIBILI 的考试还是简单不少滴~
        108
    yankebupt   66 天前
    @yksoft1 修个 spectre 就砍了 8%左右性能,这大概是在对用户讲,处理器设计不那么严密是有可能得到 8%性能提升的...
    至于当初 486DX 怎么设计的,有没有在安全性上放水,有没有过度追求严密使一些看起来应该很简单的操作实际 cost 极高,有没有因为 虽然不能在安全上过度严密或者放水 /又不能牺牲关键操作的 cost/结果相关的其他某些操作 cost 变高......
    这些对于我这个不懂处理器的人...
    .
    .
    .
    好像都没有发言权.
    期待关于进一步的解释啊......
    比如就当时桌面普遍 1 核的情况下,C 语言 inline asm 括号那么粒度级别的锁定中断有没有致命 downside 非要加这么一条指令,对比普通 P1 添加了 mmx 指令集的代价估算当时 486 加了这条指令大概可能付出了多少代价,远小于 mmx,差不多 mmx 还是会远大于 mmx,这条指令有没有相较没设计这条指令的 386/286 系统 cpu 周边各种结构非大改不能容得下的破绽,而且(多谢 wiki 的提示)只解决单指令原子性粒度太小解决不了 ABA 会不会大大限制了该指令可能带来的性能提升导致得不偿失......
    .
    .
    *而且当时的 win 系统和 dos 系统用了什么样的线程调度方式......是基于中断的还是.....而且当时还不像现在一天一个补丁,在保持和 386 兼容的情况下 OS 或 application 是不是真的有效利用了这个指令......
    .
    .
    对于不懂处理器(如果新处理器不懂情有可原的话,特别强调老处理器也不懂)的我来说,满脑子都这些问题。。。
        109
    whlvi   66 天前 via iPhone
    我也不会 Python,但我会用搜索引擎
        110
    passerbyb   66 天前
    @realpg 没关系,误伤就误伤吧,我朝人民身经百战像 ex — hentai 封成那样都能上的,上个 V2EX 被锁 ip 了还没办法?
        111
    xiaoxinlaile   66 天前 via iPhone
    开玩笑,我一个 HR 都可以注册,哈哈哈
        112
    FrankHB   66 天前   ♥ 1
    @yankebupt 开关中断要特权刷流水线,用户态下多处理有多大实际意义?
    LOCK#锁总线是 8086 就有的,能有多大麻烦。后面加 MESI 显然代价大得多。MMX ……和 x87 一腿的破事更多点,没什么可比性,但是看操作码数量,前端显然省事。
    另外我记得 CMPXCHG 对应的操作码的硬件实现某些 386 就有,没公开而已。
        113
    yankebupt   65 天前
    @FrankHB 好吧,现在关于 386 486 时代的记忆有两个版本。
    一个版本告诉我说只要用户态锁定非 NMI 中断就行,OS 或各种调度不会动用 NMI 中断的,调用 NMI 中断的家伙不会碰你的上下文所以不用管......
    另一个版本告诉我尽管当时 x86 的多任务就 win3.x 那一点,win95 刚出,用户态或者保护模式(dos 都有 app 用到)已经相当复杂了,屏蔽中断什么的早就不能用了.....

    ...那么该信哪个版本...
        114
    ucando   65 天前
    还好注册得早
        115
    FrankHB   65 天前
    @yankebupt NMI 中断你管也管不到。关键问题是 DOS 这种本来就只是搞实模式的,处理中断也比较直接;到保护模式中断跟任务调度能有一腿,IVT 直接都算是特权数据结构;就算能搞中断也是驱动的事,OS 设计上就不会允许你在用户空间程序中直接倒腾。
    1  2  
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   763 人在线   最高记录 3821   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 18ms · UTC 22:24 · PVG 06:24 · LAX 14:24 · JFK 17:24
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1