作者highway4625 (俺を谁だと思ってやがる)
看板Modchip
标题Re: [PSP ] 5.03DT之超频与记忆卡加速讨论
时间Sun Dec 27 21:58:51 2009
1F:推 coolcliff01:高速大 可以补完一下游戏公司偷超频的部分吗? 好奇= =12/27 21:22
稍微讲一下这部份的东西好了
Koei在PSP上出的第一款三国无双
就有传出过 为了让画面更顺畅 在引擎码里面作手脚 偷超频以达成顺畅感
不过并非"全部场景" 而是部份场景会这样偷搞手脚
後来几款无双 多多少少都有用过这东西
但是超的不多就是了 不到10%
或许有些人会觉得很鬼扯
轫体不动怎麽OC 频率都是固定的阿
其实 这是不能说的秘密 你们只需要知道 可以这样搞就是了
跟後来软改机可以超频的原理很像就是了
而且原本PSP就可以做 短时间的OC码 让游戏使用
这原本是为了让游戏移植可以更简单所做的一种妥协
毕竟掌机就算号称有PS2以上效能 在移植上多少还是会有这方面问题
这时候可以透过些微OC让移植不会因为要妥协而变的尴尬
搞到後来乾脆把这东西当成不能说的秘密
其他有传出过游戏公司在程式码里面 做过这种手脚的
其实还蛮多间的= =
欧美厂用的很多就是了
日厂比较有名就Koei那次被抓包的事件这样
※ 引述《highway4625 (俺を谁だと思ってやがる)》之铭言:
: ※ 引述《chiupeter01 (邱比特)》之铭言:
: : 我想先讨论一下超频的观念(先声明我不是超频版派来的)
: 我绝对不是电虾版晃到无聊跑过来的
: : 根据上过的计算机组织内容 自己想得 尽量用浅显易懂的说法 所以不是很严谨
: : 可能有误 欢迎提出来 > <"
: : /****************************************************/
: : 首先CPU所做的事情 不外乎就是
: : 1.加减乘除运算
: 以前会有乘法器 现在CPU基本上内建
: 但是以PSP来说 他着重的点会在浮点运算器跟整数运算
: 加减乘除的话 那我拿台工程用计算机会比较好(默)
: : 2.读取or写入memory(例如:DRAM 我们电脑装的记忆体)
: 以PSP来说....正确来说 以封闭式游戏机架构来看 你应该要把
: 这东西当成是L3去看而不是Dram 两者有实质上的不同
: : 3.读取写入cache(例如:SRAM 就是内建在CPU的记忆体)
: : (还有其他指令这边先不写了 以免太混乱)
: 这基本上游戏系统的都没有
: 封闭式游戏机基本架构
: GPU -> L3 -> CPU -> L1 -> L3(你没看错游戏机没有L2架构)
: 至於SRAM的话 游戏机没有所谓实体SRAM 通常只有一组L1在CPU内
: 而这组L1跟SRAM其实有点差距就是了
: 大家所谓的游戏机记忆体容量 其实是L3 跟DRAM的逻辑差很多
: : 每个指令进来 都需要时间来完成
: : 例如: 加法需 5ns
: : 减法需 6ns
: : 读memory 50ns
: : 而CPU每一次(cycle)只会执行一个指令
: : 假如今天CPU cycle设为10ns 即100MHz(=1/10ns)
: : 那麽由上面的例子会发现
: : 10ns可以做完加法指令(需5ns) 会剩余5ns空着 CPU没事做
: : 然後下一次的10ns可以做完减法(需6ns)指令 会剩余4ns空着 CPU没事做
: : 但是对於读取memory(需50ns) CPU还没做完
: : 下个10ns就来了 要做下一个指令
: : 这时就会出错!!!!!
: 这例子基本上不正确= =....
: 我用比较浅显的概念讲一下好了
: EX: CPU 运算一个物件被即时破坏要 5ns
: 纯粹的超频的话 会让5ns变成3ns
: 但是你画面呈现会不会变快呢 会 反应速度会变快 可是实际上你只是会觉得
: 挖 我的无双大蛇在那麽多小兵的时候不LAG耶
: 如果程式写的太糟 也是会出现 整体画面变快的情况(你可以看看EMU版 这种情况
: 还蛮常发生的)
: 但是不会因为你Memory没读完 下个东西塞进来而出错= =
: 而超频运算出错是怎样的错法呢
: 就只是单纯算错 因为他时脉变快了 他在运算回圈的时候可能会miss掉一些东西
: 这也跟Memory没太多关连
: 如果以正常主机(Wii 360 PS2)来说
: 超频後最容易出错的地方是在记忆体分配的部份
: 还有数质运算的部份
: PC上的 我就不提了 这跟改机版无关
: 不过有兴趣可以去下载sp2004来看你OC後的稳定度
: 虽然说那个就算烧机72hrs 一样有出错的危险就是了
: : 以上面的例子 CPU最快的cycle必须为50ns 即20MHz
: : 这样每个cycle都可以把事情做完 不会有哪个指令做不完
: : 但是厂商不会将CPU速度设在20MHz 因为假如一个不小心 跑到21MHz
: : 就有可能出错
: : 所以可能会设在15MHz(使其有正负5MHz做误差值) <--正负5这个值是我随便说的
: : 那超频的就是让15MHz往上提升
: : 16~20MHz都可以 越高越危险 因为越有机会
: : 不小心飘到>20MHz 又不小心遇到读取memory指令 然後做不完就当机了~
: : 所以超频的好处就是CPU处理速度上升!!!!!!!!
: : 因为每个cycle时间变短 同样长度的时间内 可以做的cycle数变多了
: : 当然所做的指令数也会上升!
: 一"一
: 这个扯太远了
: 纯粹就是良品率问题 一块晶圆来说 如果你要让这整块都能够被利用到
: 那厂商就会以这整块晶圆的情况去做设定
: 但是越内圈体质越好 有时候甚至可以跟最外圈差接近2倍时脉
: 可是因为你产品设定 可能他就只需要能稳跑 33MHz的东西
: 你晶圆就算再内圈 都是设定要跑33MHz
: 那你可不可以让CPU跑33MHz的两倍呢 我只能说 看人品 人品好就可以
: 只是跑完会不会寿命减短这就很难定夺了
: 不过过热是一定的 因为温度反而比良品率难控制
: 尤其是以PSP这种超小型集合体
: 超频後过热当机还比运算出错还来的更有可能发生(以目前来说 是这样啦)
: : 缺点:不难发现 假如不小心超太快 有些指令会做不完 然後就出错了
: : 就是大家常说的系统不稳!!
: : 至於耗电可以根据公式:功率=电容*频率*电压^2
: : (频率上升 功率上升 --->耗电!!)
: : 建议:超不超频看个人,除非有游戏会lag,要不然还是不要超比较好
: : 因为游戏开发公司是以不能超频的条件下去写游戏的 你说是吧!
: : 如果是游戏读取很慢 超频会帮助一点 但是不会影响很大(我个人认为拉)
: : 因为游戏读取慢是"CPU去读取memory(DRAM)再去读取记忆卡里的档案" 这个指令很慢
: : 超频是把每个cycle加快 而不是加快读取指令速度。
: : 以前面的例子:
: : 读memory需50ns CPU cycle由原先的60ns改成55ns当然会变快
: : 可是这是由改cycle时间而达到的加速(读memory依然是50ns 这样系统容易不稳)
: : 比较好的方法是 使读memory的时间下降 例如50ns->40ns
: : 这样再超频 这样CPU cycle就可以放心的改到55ns 或是冲到50ns都很稳定!
: : 讲完了超频~
: 我是完全不建议超频
: 超频要考虑的东西牵扯太多
: 光是一个温度上升 这就很难解决
: 你总不能把PSP挖个洞 装上大塔型散热片吧= =
: 另外就是以PSP这种机器 他的PCB跟mos元件能不能承受这种电压电流
: 这也是很大的问题
: 到时候mos死的不明不白 这还要上X光机才抓的出来
: 其实某些游戏开发公司也是会偷超频
: (这很早以前就有几家被抓到过了 KOEI就是其中一家)
: : 接下来来谈谈记忆卡加速!!
: : 我不会看5.03DT的程式码
: : 所以不确定他是不是只做到超频 所以使记忆卡加速
: : 其实这样记忆卡一点也没"加速",只是加速了CPU的cycle 才看起来读记忆卡比较快
: : 这样系统就容易不稳 然後耗电
: : 假如他是做到使"读取记忆卡"的这个指令所需时间下降 那麽配上超频就依然很安全了
: : (不过耗电是无法避免的)
: : 以上是一些浅谈 我用电脑CPU架构角度所作的说明 (PSP上应该也适用 ><"
: : 所以现在问题就是他的记忆卡加速是属於哪一种呢? XDDD
: 至於记忆卡加速的部份 我还没时间去看5.03DT到底是用什麽方法加速
: 不过就我所知 是有办法加速MS DUO读取的 不过那跟读取指令有关系
: 使用非正规的读取法是有可能啦
: 大概就是这样了
--
█╗█╗█╗◢██╗█╗█╗█╗ █╗███╗█╗ █╗
█║█║█║█══╝█║█║█║ █║█╔█║╚█╗█╔╝▉█ ██ ██ ██
███║█║███╗███║█║█╗█║█║█║ ╚█╔╝ ▉█ █▇ █ █
█╔█║█║█╔█║█╔█║██╔██║███║ █║ ██ ▉█ █ █
█║█║█║███║█║█║█╔╝╚█║█╔█║ █║ █ ██ ██ ██
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.224.86.212
2F:→ q0212908:请问被抓包会怎样 罚钱吗? 12/27 22:04
3F:→ jikanson:不会怎样阿 一 一 12/28 01:05
4F:→ z1987090:也不算甚麽偷超频吧 psp比较早期的游戏的确不用到333mhz 12/28 10:27