News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Schwarzer Bildschirm

Started by Mork, 12:57, 12 August 24

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Bryce

Quote from: Prodatron on 21:43, 28 August 24Regarding the Z80 I would suggest that ADD HL,dd (using a value which always inverts all bits in HL to have the maximum transistor action?) is the best way to use the ALU in the most intensive way (performing 4x 4bit executions) while using the memory transfer in a minimal way (just fetching one byte from Ram).
As the ALU is usually just a smaller part of a CPU on the Die this could already be significant.
Regarding the CRTC, no idea, it's probably best to ask @Longshot  :)

You would also have to turn off any background routines / interrupts such as Keyboard scanning etc.

Bryce.

MaV

Bryce already mentioned deactivating interrupts. I would add that the bit pattern for the add hl, dd or any similar instruction must be more along the lines of 1100110011001100 and be used constantly in order to heat one side of the 4 bit accumulator and keep the other side relatively cool. This would cause a higher temperature difference and thus strain on the silicon on the die. Unroll the instruction used over the whole 64k and let that run for hours, perhaps even days, months. The length of time would be dependant on how worn down the Z80 in question is after 40 years of usage.
Black Mesa Transit Announcement System:
"Work safe, work smart. Your future depends on it."

Gryzor

So who's gonna try it?

Prodatron

Here is a suggestion:

org #4000

        di

        ld hl,#aaaa
        ld de,#5555-#aaaa
        ld bc,#aaaa-#5555

loop
repeat 8192
        add hl,de
        add hl,bc
rend
        jp loop


This will use the ALU in the most intensive way (I guess it doesn't matter anymore if you execute 16384 or even 65536 instructions before doing a JUMP), interrupts are locked of course, and beside this, it will flip the bits in HL between %1010101010101010 and %0101010101010101 all the time.
So it should do as many transistor switches as possible?

As you can see, the ALU is using only a very small area of the Z80 die, and now only this part of the die should become more hot than usual:

You cannot view this attachment.


@MaV, I am not sure if I got you correctly, but your suggestion is to keep HL always the same but because of the special ALU usage your idea would heat it up even more? (see you in 13 hours :)  )

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

Bryce

Quote from: MaV on 10:01, 29 August 24Bryce already mentioned deactivating interrupts. I would add that the bit pattern for the add hl, dd or any similar instruction must be more along the lines of 1100110011001100 and be used constantly in order to heat one side of the 4 bit accumulator and keep the other side relatively cool. This would cause a higher temperature difference and thus strain on the silicon on the die. Unroll the instruction used over the whole 64k and let that run for hours, perhaps even days, months. The length of time would be dependant on how worn down the Z80 in question is after 40 years of usage.


It shouldn't take that long. What also makes it tougher for the CPU is cycling - Stopping the process for a few seconds and then restarting the "torture routine".
It's also "useful" that the ALU is in the corner of the die, meaning that the heat can essentially only dissipate in one direction.

Maybe we can make a competition out of it? I have a box of old Z80's here and can run the code until it fails. Maybe I can take some pictures with a thermal imager while it's running.

Bryce.

Prodatron

Quote from: Bryce on 10:21, 29 August 24What also makes it tougher for the CPU is cycling - Stopping the process for a few seconds and then restarting the "torture routine".
That's interesting! Why is this tougher? Wouldn't it cool down during these seconds?


Quote from: Bryce on 10:21, 29 August 24It's also "useful" that the ALU is in the corner of the die, meaning that the heat can essentially only dissipate in one direction.
Indeed it is! I tought this would be more optimal, as at the corner it has at least two more directions, where it can emit the heat.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

Bryce

Quote from: Prodatron on 10:34, 29 August 24
Quote from: Bryce on 10:21, 29 August 24What also makes it tougher for the CPU is cycling - Stopping the process for a few seconds and then restarting the "torture routine".
That's interesting! Why is this tougher? Wouldn't it cool down during these seconds?


It's a bit like bending a piece of metal back and forth till it breaks. The silicon bonds are being pushed together when it heats and being pulled apart when they cool. So you should be stressing the material more than just a single heat.

Bryce.

MaV

@Prodatron, I'm guessing that a bit pattern like &AAAA then &5555 would heat the accumulator constantly, because the data lines are used alternately. That would be the equivalent of preheating a pcb, in order to ease the strain while soldering.
To ensure a higher temperature delta on the 4 bit acc two of those lines should be constantly switched off while the other two lines are active, or better - like Bryce suggested - torturing it - by using a pattern like 1100000011000000. The first nibble turns the highest two bits on, the second nibble turns the highest two off again, rinse and repeat. The lower two bits in the acc aren't used to guarantee a ,,cool" area. The acc bits are close enough and next to each other, so the temperature strain should be in full effect there. Unroll the loop to 32k then add 32k NOPs (again to torture the CPU like Bryce suggested).
Perhaps we can find a better solution if we study the layout if the Z80 die.
Black Mesa Transit Announcement System:
"Work safe, work smart. Your future depends on it."

MaV

Quote from: Bryce on 10:52, 29 August 24
Quote from: Prodatron on 10:34, 29 August 24
Quote from: Bryce on 10:21, 29 August 24What also makes it tougher for the CPU is cycling - Stopping the process for a few seconds and then restarting the "torture routine".
That's interesting! Why is this tougher? Wouldn't it cool down during these seconds?


It's a bit like bending a piece of metal back and forth till it breaks. The silicon bonds are being pushed together when it heats and being pulled apart when they cool. So you should be stressing the material more than just a single heat.

Bryce.
Quote from: Bryce on 10:52, 29 August 24
Quote from: Prodatron on 10:34, 29 August 24
Quote from: Bryce on 10:21, 29 August 24What also makes it tougher for the CPU is cycling - Stopping the process for a few seconds and then restarting the "torture routine".
That's interesting! Why is this tougher? Wouldn't it cool down during these seconds?


It's a bit like bending a piece of metal back and forth till it breaks. The silicon bonds are being pushed together when it heats and being pulled apart when they cool. So you should be stressing the material more than just a single heat.

Bryce.
I was just about to post the metal bending comparison.  :)
Black Mesa Transit Announcement System:
"Work safe, work smart. Your future depends on it."

Prodatron

32K full of 16bit ADDs would take only 0,1 seconds. What would be the best heat-up/cool-down duration? 1 second? 2 seconds?

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

MaV

We could insert simple wait loops to guarantee a longer cool off time then unroll the torture instructions in the rest of available RAM.
Black Mesa Transit Announcement System:
"Work safe, work smart. Your future depends on it."

Bryce

Quote from: MaV on 11:00, 29 August 24
Quote from: Bryce on 10:52, 29 August 24
Quote from: Prodatron on 10:34, 29 August 24
Quote from: Bryce on 10:21, 29 August 24What also makes it tougher for the CPU is cycling - Stopping the process for a few seconds and then restarting the "torture routine".
That's interesting! Why is this tougher? Wouldn't it cool down during these seconds?


It's a bit like bending a piece of metal back and forth till it breaks. The silicon bonds are being pushed together when it heats and being pulled apart when they cool. So you should be stressing the material more than just a single heat.

Bryce.
Quote from: Bryce on 10:52, 29 August 24
Quote from: Prodatron on 10:34, 29 August 24
Quote from: Bryce on 10:21, 29 August 24What also makes it tougher for the CPU is cycling - Stopping the process for a few seconds and then restarting the "torture routine".
That's interesting! Why is this tougher? Wouldn't it cool down during these seconds?


It's a bit like bending a piece of metal back and forth till it breaks. The silicon bonds are being pushed together when it heats and being pulled apart when they cool. So you should be stressing the material more than just a single heat.

Bryce.
I was just about to post the metal bending comparison.  :)

In material science it's known as "Work Hardening". https://en.wikipedia.org/wiki/Work_hardening
Unfortunately both copper and gold are both very susceptible to this, which is often the cause for tiny cracks in copper traces on a PCB. That's why many electrical connections are often made of Brass instead and if copper and gold really need to be used (expensive test leads for example). Tellurium is added to reduce the effect. https://en.wikipedia.org/wiki/Tellurium_copper

Bryce.

Powered by SMFPacks Menu Editor Mod