V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ruandao
V2EX  ›  问与答

芯片是不是可以直接运行?

  •  1
     
  •   ruandao · 2019-04-24 09:57:02 +08:00 · 2867 次点击
    这是一个创建于 1801 天前的主题,其中的信息可能已经有所发展或是发生改变。

    就是,那些芯片的设计是不是,直接把程序逻辑给刻入进去了,直接可执行的

    用各种电子管表示,与或非,然后程序固化到芯片里面?

    17 条回复    2019-05-11 07:51:50 +08:00
    gabon
        1
    gabon  
       2019-04-24 09:59:54 +08:00 via Android   ❤️ 1
    FPGA 了解一下
    fuchunliu
        2
    fuchunliu  
       2019-04-24 10:01:35 +08:00 via Android
    1 楼说的就是
    dapang1221
        3
    dapang1221  
       2019-04-24 10:08:10 +08:00
    不一定,有的简单的芯片,是把逻辑功能通过门电路“刻入”进去,也有的芯片,比如 soc 这种,你可以把芯片理解成一个操作系统(平台),可以从指定存储地址读程序来跑
    dapang1221
        4
    dapang1221  
       2019-04-24 10:11:18 +08:00
    soc 是读程序,然后放在一堆门电路里跑,其实逻辑也是固定的。fpga 是直接对门电路编程,相当于芯片上刻了一大堆各种门电路,通过程序来控制用哪个不用哪个……啊,这样解释已经很通俗易懂了
    jmc891205
        5
    jmc891205  
       2019-04-24 10:28:43 +08:00
    设计芯片的时候用硬件描述语言(如 Verilog )在比较高的层次(比如寄存器传输级)上来描述你想要的逻辑
    EDA 软件中的综合工具可以帮忙把你写的硬件描述语言翻译成比较底层(比如门级)的网表
    再然后仿真没问题之后 EDA 软件中的布局布线的工具可以把门级电路再转换成物理元件(比如 CLB 等等)并完成布局布线
    之后还有一堆工序才能送到代工厂(比如台积电)去制造
    murmur
        6
    murmur  
       2019-04-24 10:30:57 +08:00
    FPGA 是要烧代码的 启动的时候把代码(电路)烧进去才能用
    CPLD 才是不用烧的
    ShadowStar
        7
    ShadowStar  
       2019-04-24 10:32:29 +08:00
    @gabon FPGA 并不是直接运行的,也需要灌“软件”的。
    通常 FPGA 验证通过后,大批量需求会流片 ASIC,这种才是固化程序逻辑的芯片。
    ShadowStar
        8
    ShadowStar  
       2019-04-24 10:36:00 +08:00
    @murmur CPLD 也是需要烧代码的。
    tristankuo
        9
    tristankuo  
       2019-04-24 11:12:23 +08:00
    BIOS 不就是吗
    LZSZ
        10
    LZSZ  
       2019-04-24 11:16:19 +08:00
    Intel 的处理器自带 MINIX 系统
    MINIX 在处理器内部拥有自己的 CPU 内核和专属固件,完全独立于其他部分,而且完全隐形,操作系统和用户均不可见,运行权限更是达到了 Ring -3。
    ys0290
        11
    ys0290  
       2019-04-24 11:18:02 +08:00 via iPhone
    ROM 了解下

    还是要有输入输出,要不然功能局限太大
    RobertYang
        12
    RobertYang  
       2019-04-24 11:23:18 +08:00 via Android
    FPGA 本质上是 RAM 查找表,启动的时候需要从外部 flash 读取编译好的数据(程序),但是运行的时候可以认为是直接用硬件表示逻辑。部分 ASIC 芯片使用知桥是直接熔断其中熔丝,将逻辑固化,运行时候等于直接硬件表示逻辑,但是程序一旦熔断不可更改。
    BingoXuan
        13
    BingoXuan  
       2019-04-24 11:27:09 +08:00
    fpga 是要先读 bit 文件把逻辑门配备好后再读程序运行
    tylinux
        14
    tylinux  
       2019-04-24 11:56:46 +08:00
    liwufan
        15
    liwufan  
       2019-04-24 12:04:25 +08:00 via iPhone
    这进入电器范畴了吧,遥控器洗衣机照相机才用这种逻辑电路芯片。要是更新个微信还必须要买个新手机,这日子感觉回到上个世纪
    xieyudi
        16
    xieyudi  
       2019-05-11 07:49:51 +08:00 via Android
    芯片不存在程序员所谓的 “执行” 的概念。FPGA 也不算。

    要让 “执行” 这个词有意义,必须是类似执行在 CPU 上的程序。CPU 是芯片的一个特例,在这个前提上这个问题才有意义。

    感觉除了 3 楼外其余的回答多少都是牛头不对马嘴。
    xieyudi
        17
    xieyudi  
       2019-05-11 07:51:50 +08:00 via Android
    @xieyudi 看错了。除了 5 楼。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5824 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 06:15 · PVG 14:15 · LAX 23:15 · JFK 02:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.