- 主题:Re: 想知道cpu是怎么用电路实现浮点运算指令的,求推荐学习资料
小数部分和整数部分,分别都用整数运算电路(一般是加法器)计算并把进位/借位保存在寄存器里,然后再由软件“组装”成小数的表示形式。在硬件层面都是整数运算,没有小数/实数运算。
【 在 smallpanda03 的大作中提到: 】
: 已经学过《数字设计与计算机体系结构》《计算机组成原理硬软件接口》,书中给出了几个指令的硬件电路图,包括add ,sub。现在想知道怎么实现浮点运算指令。应该学什么
--
FROM 120.230.113.*
以前模拟电路年代,模拟计算单元实际上就是浮点的。
但数字时代,连续的模拟信号都被量化了,变成整数数值。
其实这种是一种进步,因为从微积分的角度看,当量化的(分级)精度趋向于无穷小的时候就能无限逼近对应的连续模拟量,但数字/值化后信号就变成数据了,保存、传输、运算都更加方便了。
【 在 hgoldfish 的大作中提到: 】
: 进入 21 世纪了没啥改进的思路吗?
: 之前 FFT 还搞出数论计算,更基本的浮点计算难道就没啥新意?
:
--
FROM 120.230.113.*
gpu的浮点单元运算电路也都是小数、整数部分都分别按整数算再用电路把两部分“组装”起来的,本质上和在cpu上算浮点的单元电路没区别,gpu算浮点比cpu快是另外的原因而不是因为真的能直接算浮点数。
【 在 hgoldfish 的大作中提到: 】
: 这是两种方向。数字化之后很方便搞并发,所以现在 GPU 可以做超超大规模集成电路,同一时间计算大量的浮点。另一个方向是优化一次计算使用的时延。
:
--
FROM 120.230.113.*
你是对的。
【 在 hgoldfish 的大作中提到: 】
: 你还没听明白我说的话。。
: GPU 算浮点没有更快,只是同时进行更多。
:
--
FROM 120.230.113.*