HP-71B CPU frequency? « Next Oldest | Next Newest »

 ▼ Christoph Giesselink Senior Member Posts: 355 Threads: 67 Joined: Nov 2005 02-20-2013, 03:31 PM I'm just wondering about the CPU frequency of real HP-71B? At the 71IDS vol. 3 document in the =RCKBp entry header is a remark: "note: CPU KHZ is usually 650000 to 700000." But my experiences show a CPU speed below. The theoretical speed of Emu71/Win with "Authentic Speed" mode activated is 38 * 16384 = 622592 Hz. But thank goodness the HP-71B ROM has a CPU speed measuring routine inside which is updated at power on/off or after a INIT:1. The clock speed is standing inside the CSPEED variable (5 nibble) at address 2F977. So we can read the content with PEEK\$("2F977",5) In the case of Emu71/Win the result is "9A790". This is a hexadecimal number in reverse order and multiplied with 16 you get the clock speed in Hz. In our Emu71/Win example:```PEEK\$("2F977",5) = "9A790" -> #097A9h * 16 = #097A90h = 621200 Hz``` Now to my two real HP71B:```Sn. 2507Axxxxx ROM rev. 1BBBB: PEEK\$("2F977",5) = "9E990" -> #099E9h * 16 = #099E90h = 630416 Hz Sn. 2506Axxxxx ROM rev. 1BBBB: PEEK\$("2F977",5) = "16790" -> #09761h * 16 = #097610h = 620048 Hz``` We see that the results of the real calculators are very similar to the Emu71/Win one and far away from the note inside the 71IDS. I would be glad if some of you could measure the CPU speed in the way like above on your own HP-71B and post the result here. ▼ Garth Wilson Posting Freak Posts: 887 Threads: 9 Joined: Jul 2007 02-20-2013, 03:44 PM Quote:I would be glad if some of you could measure the CPU speed in the way like above on your own HP-71B and post the result here. 626960 for one, 645968 for the other. Eric Smith Posting Freak Posts: 2,309 Threads: 116 Joined: Jun 2005 02-20-2013, 04:05 PM IIRC, the CPU frequency is determined by an LC oscillator, which is both not very precise due to loose tolerances of the components, and will change with temperature and ageing. HP considered 650 kHz to be a nominal value, with the expectation that some units would be slower or faster. The CPU speed test compares the LC oscillator against the 32 kHz crystal oscillator, which should be accurate to better than 100 parts per million except at temperature extremes. Egan Ford Posting Freak Posts: 1,619 Threads: 147 Joined: May 2006 02-20-2013, 04:17 PM SN 2944* input: print peek\$("2f977",5) output: DC790 Gerson W. Barbosa Posting Freak Posts: 2,761 Threads: 100 Joined: Jul 2005 02-20-2013, 04:43 PM ```S/N: 2709Axxxxx VER\$ -> HP71:1BBBB MATH:1A PEEK\$("2F977",5) -> "9A790" BVAL("097A9",16)*16 -> 621200 Hz ``` Christoph Giesselink Senior Member Posts: 355 Threads: 67 Joined: Nov 2005 02-20-2013, 06:07 PM Many TNX for your measured frequency values. TNX Eric to pointing me to the LC oscillator so that I have had a look at the hardware IDS document. 71 hardware IDS page 9-4: "Current HP-71's operate at 600KHz to 650KHz, future HP-71's will run at up to 1MHz." Regarding this document the measured frequencies make more sense than the one mentioned in the 71IDS vol. 3. And so we mustn't be afraid to renovate the LC components in the CPU oscillator for anti-aging to get the same speed like a new 71B decades ago. ;-) At the moment I'm working on Emu71/Win v1.04 so that the "CLKSPD - Compute CPU Clockspeed" routine store valid clock speed values into the CSPEED variable even if the emulator isn't in "Authentic Speed" mode. ▼ Eric Smith Posting Freak Posts: 2,309 Threads: 116 Joined: Jun 2005 02-20-2013, 06:27 PM Although HP did replace the 1LF2 Saturn processor with the improved 1LK7 in later production 71B units, as far as I know they never actually changed the oscillator components for higher speed. While the 1LK7 CPU might have run reliably at higher speeds than the 1LF2, everything else in the 71B, including plug-in modules, would also have had to be requalified for the higher speed. It's reasonably likely that all 71B units could be modified to run faster at room temperature, but HP wouldn't have changed it unless everything was qualified at all process corners, i.e., at all combinations of temperature and voltage boundaries. Doing that qualification for just one chip takes a lot of time and effort; doing it for all chips that go into a 71B, including in plug-in modules, would have been a huge undertaking. It was much easier for them to qualify the Saturn-based chips in the 48 series for higher speeds, because they were much more constrained systems. Egan Ford Posting Freak Posts: 1,619 Threads: 147 Joined: May 2006 02-20-2013, 07:23 PM Quote: "Current HP-71's operate at 600KHz to 650KHz, future HP-71's will run at up to 1MHz." I've tripple checked and I still get: ```>VER\$ HP71:2CDCC FTH41:1A EDT:A MATH:1A JPC:Ex HPIL:1B HELP:C FACTR:A >PEEK\$("2F977",5) DC790 >BVAL("0DC79",16)*16 903056 ``` 900KHz. SN 2944*. Edited: 20 Feb 2013, 7:25 p.m. ▼ Gerson W. Barbosa Posting Freak Posts: 2,761 Threads: 100 Joined: Jul 2005 02-20-2013, 09:42 PM Quote: ```>PEEK\$("2F977",5) DC790 >BVAL("0DC79",16)*16 903056 ``` 900KHz. SN 2944*. The hex string should be inverted: ``` >BVAL("097CD",16)*16 621776 ``` ▼ Egan Ford Posting Freak Posts: 1,619 Threads: 147 Joined: May 2006 02-20-2013, 11:01 PM Doh! Thanks. Sanity restored. ▼ Gerson W. Barbosa Posting Freak Posts: 2,761 Threads: 100 Joined: Jul 2005 02-20-2013, 11:07 PM To be honest I made the same mistake too: my first result was 1+ MHz :-) Gerson W. Barbosa Posting Freak Posts: 2,761 Threads: 100 Joined: Jul 2005 02-21-2013, 12:59 PM Better reverse the string manually. Anyway-- ```10 X=BVAL(PEEK\$("2F977",5),16) 20 R=FLOOR(X/65536)+65536*MOD(X,16)+256*MOD(X-MOD(X,16),256)+MOD(X-MOD(X,256),4096) 30 R=R+MOD(X-MOD(X,4096),65536)/256 40 DISP "CPU clock frequency:";R*.016;"kHz" >RUN CPU clock frequency: 621.776 kHz ``` I am getting a slightly different value this afternoon. Room temperature is only 30°C (°86F) :-) P.S.: The following requires no Math ROM and is easier to key in: ```>LIST 10 A\$=PEEK\$("2F977",5) 20 H\$="0123456789ABCDEF" 30 F=0 40 FOR I=0 TO 4 50 F=F+(POS(H\$,A\$[I+1,I+1])-1)*16^I 60 NEXT I 70 DISP "CPU clock frequency:";F*.016;"kHz" >RUN CPU clock frequency: 621.2 kHz ``` The frequency has decreased to 621.2 kHz again. Edited: 21 Feb 2013, 3:48 p.m. ▼ Christoph Giesselink Senior Member Posts: 355 Threads: 67 Joined: Nov 2005 02-22-2013, 11:39 AM Yesterday I found another document as reference, the "71-HandheldComputer-ServiceManual-00071-90055-93pages-Dec83.pdf" available here. The LC-Oscillator (schematic at PDF-page 76, values at page 6-5/6-6) is build around the components L1 (180uH), C4 (33pF) and C5 (33pF). The frequency at the LC-Oscillator OSC1 line is ~2.5MHz (page 4-6). I don't know the internal design of the oscillator inside the CPU, but when we assume that the internal capacity between OSC1 and OSC2 is about 6pF (Cint) then we have: C = 1 / ((1/C4) + (1/C5)) + Cint = 1 / ((1/33pF) + (1/33pF)) + 6pF = 22.5pF f0 = 1 / (2*pi*sqrt(L1*C)) = 1 / (2*pi*sqrt(180uH*22.5pF)) = 2.5MHz This LC-Oscillator signal then is divided (by 4?) to get the nominal 640kHz strobe line frequency of the CPU we are measuring (page 4-7). When I now have a look at the L1, C4 and C5 component tolerances of 5% I get an extimated error of ~103kHz at the OSC1 pin and this divided by 4 an error of ~26kHz (~4%) for the strobe frequency. Finally a word to used "CLKSPD -Compute CPU Clockspeed" function which is filling the CSPEED variable. The function description tells us: "Detail: Clockspeed is accurate to about 500 hz." ▼ Gerson W. Barbosa Posting Freak Posts: 2,761 Threads: 100 Joined: Jul 2005 02-22-2013, 08:03 PM Thanks for the link to the Service Manual. The beeper troubleshooting is at page 4-7 also. I had checked the solder on the Q2 leads, but I see now there are more places to check.I've read in this old thread that a 4x speed-up is possible. Sure the battery consumption would increase, but that's what the AC adapter is for. Has anyone tried this? P.S.: FWIW, this one-liner gives the CPU clock frequency in Hz: ```1 A\$=PEEK\$("2F977",5) @ B\$="" @ FOR I=0 TO 4 @ B\$=B\$&A\$[5-I,5-I] @ NEXT I @ DISP BVAL(B\$,16)*16 ``` Math ROM of course required. Edited: 26 Feb 2013, 6:37 a.m. Craig Ruff Junior Member Posts: 32 Threads: 3 Joined: Nov 2011 02-20-2013, 07:26 PM 2901A* (2CDCC) 639623 Hz 2422A* (1BBBB) 642512 Hz Edited: 20 Feb 2013, 7:26 p.m. Reth Senior Member Posts: 556 Threads: 9 Joined: Jul 2007 02-20-2013, 08:20 PM sn 2421A00I44 VER\$ gives: HP71:1BBBB HPIL:1B CLK:A CNV:C CSTU:A STR:A TXTU:A ECPY:F EPRM:C PEEK\$("2F977",5) yelds D9A90 - 633,296 Hz I just got this thing off a colleague of mine who doesn't need it. Can anyone please shed some light on what I actually got? It has 2*4K and 1*32K RAM modules plus AMP-ROM 03 MODULE - CMT71-64E (I suspect it's EPROM with some surveying programs on). Cheers, Reth Michael Lopez Member Posts: 63 Threads: 9 Joined: Mar 2009 02-21-2013, 04:33 AM Hi Christoph, Here are my HP71B's details: Sn. 2902Axxxxx ROM rev. 2CDCC: PEEK\$("2F977",5) = "DFD90" -> #090DFDh * 16 = 647120 Hz Cheers, Michael Bruce Larrabee Member Posts: 80 Threads: 14 Joined: Sep 2010 03-02-2013, 05:22 AM I'm getting 1,287,632Hz. What did I do wrong? ▼ Gerson W. Barbosa Posting Freak Posts: 2,761 Threads: 100 Joined: Jul 2005 03-02-2013, 09:35 AM If you haven't forgotten to reverse the hex string you then you have a 2x spedup unit. If you're going to take a few more measurements, you might want to run this program: ```1 A\$=PEEK\$("2F977",5) @ H\$="0123456789ABCDEF" @ F=0 @ FOR I=1 TO 5 2 F=F+(POS(H\$,A\$[I,I])-1)*16^(I-1) @ NEXT I @ DISP 16*F ``` Or this one, if you have the MATH ROM: ```1 A\$=PEEK\$("2F977",5) @ B\$="" @ FOR I=0 TO 4 @ B\$=B\$&A\$[5-I,5-I] @ NEXT I @ DISP BVAL(B\$,16)*16 ```

 Possibly Related Threads... Thread Author Replies Views Last Post [WP-34s] Crystal frequency jerome ibanes 6 1,466 05-25-2012, 07:36 PM Last Post: Paul Dale OT: Mechanical CPU clock Ethan Conner 1 814 04-19-2012, 01:23 AM Last Post: Mike Morrow HP 15C LE programming, does CPU run fast? designnut 1 760 02-12-2012, 05:13 PM Last Post: Jeff O. HP-IL 71B to 71B via HPIL Geoff Quickfall 11 2,085 12-01-2010, 06:55 PM Last Post: Michael Meyer Emulator CPU usage Martin Pinckney 6 1,547 10-13-2010, 01:43 AM Last Post: HrastProgrammer Capricorn CPU microcode Olivier De Smet 6 1,501 03-10-2010, 03:50 AM Last Post: Olivier De Smet HP nut CPU and illegal instruction sequences Håkan Thörngren 9 1,745 01-05-2010, 12:50 PM Last Post: Eric Smith Lab-Volt (348?) cpu trainer peter a walker (papwalker) 0 549 09-02-2009, 08:48 AM Last Post: peter a walker (papwalker) P41CX, Palm TX, and CPU Speed setting Les Wright 8 1,509 04-27-2006, 07:29 AM Last Post: Thomas Okken HP 35 CPU Tom Bagdas 6 1,291 09-02-2005, 07:45 PM Last Post: don wallace

Forum Jump: