|
Hi Mark,
cache and stack are completely different things.
A stack is a data structure intended to keep historic information, things get pushed on it, later on
popped from it, in reverse order.
Microprocessors typically contain the required logic in hardware to have an execution stack,
where each call of a subroutine/function/method (CALL, JSR, or whatever the assembly instruction is called)
automatically pushes the "program counter" (and possibly a bit more) onto the stack, and when
returning from the subroutine (RETURN, RTS, ... instruction) automatically pops the same information
from stack and restores it in the appropriate registers, so normal program flow can continue
where it left of before.
A cache is a data structure intended to keep a copy of existing information at hand, typically
to boost performance. Caches operate on a statistical basis; if they contain what is needed,
then all is good; if not, data is loaded from elsewhere, probably main memory.
Modern processors have an on-chip "level 1" cache (typically two, one for
data, one for code), and a "level 2" cache and sometimes the control logic for a "level 3" cache.
Each level has different sizes and speeds, level 1 being the smallest but fastest.
A typical example would be a CPU running at say 1 GHz, requiring 1 cycle to access one of its
registers, 2 cycles to read from its level 1 cache, 4 cycles to read from its level 2 cache,
and hundreds of cycles to read from main memory (main memory works at microsecond speeds, not
nanoseconds).
Conclusion: a stack is a logical entity, it holds specific information that is necessary for
correct execution; a cache holds a copy, and is used to speed up things.
BTW: extra stacks can be implemented by software (e.g. each thread in a system needs its own
stack); extra caches can also be implemented by software (e.g. results of a long computation may
be stored in a cache, so if they happen to be required again later on they might be found there).
|
|
|
|
|
Thanks Luc,
I'd feel sorry for anyone who had to compete with you for a job... Is there anything at all about computers or math you don't know?
|
|
|
|
|
Hi Mark,
I started as an electronics engineer, so I do know the internals of a processor.
In fact I designed some myself, very simple ones; on paper, not for real.
This hardware knowledge helps me a lot in understanding how a system is operating,
or failing for that matter.
While I read a lot about software, it is hard if not impossible to keep up.
I am aware there is much more to know than is humanly possible
(IMO Leonardo Da Vinci was the last human to know all technical stuff humanity knew at the time)
So I am struggling with the latest stuff, say LINQ, XAML, Lambda, and what have you.
However, I have an inquisitive mind; I don't like the feeling of hearing
about something without really knowing what it is. Hence, I am reading a lot, and
rather busy on the Internet...
|
|
|
|
|
Hi,
I'm trying to find out if this is possible, and if so how to do it. From a machine running XP or Vista, as I understand it, when you send something to print, Windows/the print drivers render the file into a format the printer can read and understand (a spool file?). This file is sent to the printer then the local copy is deleted. I believe this file is held briefly in the 'C:\WINDOWS\system32\spool\PRINTERS' folder, which is effectively the shared print queue folder. for all printers on that machine.
My question is whether you can capture this 'raw' spooler data (I've managed to copy and paste to capture the files that appear in the spool folder, but you have to be fast!), and crucially, once you've captured it, can you then somehow send it to print again?
I have a feeling this is more complicated than I think. Presumably there are different formats of spooler data etc? Is there a utility that can do the printing/viewing of captured files?
|
|
|
|
|
|
hi
please help
my PC restarts itself
it just started out from no where
it worked fine yesterday but today the problem occured
when i tried the BLUE SCREEN ....it shows:
STOP:0x0000008E(0xC0000005,0x8054A51A,0xB8BD2B90,0x00000000)
i searched about this but nothing helps
i didnt install any new programs .....as i told u ....i did nothing
somebody please guide me through this
i appriciate anykind of help
thank u all
|
|
|
|
|
Did this happen once, or it occurs repeatedly. Wat is the primary purpose of ur PC, coding? gaming etc
Need more details.
|
|
|
|
|
actually...it occurs repeatedly
now i cant open my PC
and another thing:
i used to go to the SAFE MODE and it works fine
but now the same thing happend
so now icant open it
****its ahome PC******
simple
now what should i do
|
|
|
|
|
Since u cant get into windows, the best thing is to repair ur windows using the OS cd, instead of where it asks new installation the second time, select the partition, eg C:, and select REPAIR.
This way if there are any system files corrupted, they wud be restored and u wont loose any data or settings.
Then u can re-install ur motherboard and other peripheral drivers as well.
U'l hav a fresh system then.
|
|
|
|
|
STOP 8E is KMODE_EXCEPTION_NOT_HANDLED - an exception occurred in kernel-mode code. The first parameter is the exception code. Here it's STATUS_ACCESS_VIOLATION (0xC0000005), which means that the code tried to read from or write to an address that either didn't have anything mapped there, or that the address was marked read-only.
In this case we know it was a read that failed, as the fourth parameter is 0 (it will be 1 for a write). The other two parameters are the address of the instruction and the address it was trying to read from but I can't remember which way round they are.
Most likely it's a bug in a device driver that requires a fairly uncommon set of circumstances to make it happen. The driver at fault should have been listed on the blue screen.
You could see if there are any updated drivers for the device, but this isn't guaranteed to help.
DoEvents: Generating unexpected recursion since 1991
|
|
|
|
|
just take this as advice, just shut down your PC, remove the RAM(Random Access Memory) clean the RAM slot with the help of air blower and reconnect it & then check, I hope it should help.
Regards
|
|
|
|
|
Hi,
I'v been thru lots of articles related to hardware changes but couldnt find one specifically for this topic.
OS/Platform : win XP / .NET C# v2.0
im unable to get the relevant Windows Native APIs, though i'v tried in advapi.dll as well.
one way is to use the WndProc(ref message) method but this works with windows form where you can intercept the WM_CHANGE... signals.
Need a breakthru with services, as i work with smartcard Readers and Contact/Contactless/RFID tech.
-ck
|
|
|
|
|
Are you trying to monitor if a smart card has been inserted/or RFID card swiped?
or are you looking to compare hardware profiles to check if a device is present?
|
|
|
|
|
Using the service, im trying to detect if an appropriate reader has been connected so that i can launch the corresponding application.
|
|
|
|
|
|
This is the problem i was talking about when i posted the Question. With VC++ its ok cos there's a windows.h header file, but im currently working on C# so the only way i can do it is from a Windows DLL that has Windows Native APIs but still havent got the method that i can "extern import" and receive such device notifications.
Now there is a WndProc(ref message) method that can be used to override the System.Windows.Forms method, and it will work with Forms, but im using a windows service without a UI.
Now, there is also a way to bypass this problem as well, create a windows Form and hide it, but this is a major security lapse that i dont want.
Thanx for ur attempts, killabyte.
|
|
|
|
|
|
|
I'm not sure what you're trying to do, but if you just need signatures for the win32 API try www.pinvoke.net They have signatures for most if not all win32 apis.
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots.
-- Robert Royall
|
|
|
|
|
A nice way to look for hardware changes is to use Windows Management Instrumentations (WMI).
.net has the System.Management namespace for WMI interaction. You might use ManagementClass and ObjectQuery for searching specific hardware components.
Hope this info helps
|
|
|
|
|
This is no joke!
For a second time in past two years I have this weird problem.
My internal hard drive (dynamic disk with mirrors) gradually disappeared from the BIOS.
By gradually I mean sometime it was there and another time it was not.
The Logical Disk Management (win2000) would report dynamic disk missing and reactivation would say the disk cannot be located.
During the windows startup I would get two consecutive short beeps at random until the windows starts – maybe two or five of them.
I had this happened before ( different box, same OS) and the temporary solution was to take the drive out of the machine (!) and place it vertically next to it! I am not kidding!
So, last night I took the drive out of the box (vertical mount) and turn the power on.
Did not touch any cabling!
Guess what - it loaded and RAID started regenerating my mirrors!
I put it back into the box and it worked just peachy the whole day.
Today – zilch, same old problem - disk is just not there!
Of course the disk is out of warranty and the vendor could careless about my problem.
In reality I do not want to spend much time troubleshooting this, but this is a second time around and I feel the hard drive should last past the warranty period.
Before I toss this worthless drive – can anybody tell me what could be wrong and where are these beeps coming from.
My best guess is that the drive has some temperature related issues.
Or maybe “consumer grade “ run of the mill drives are not suitable for RAID – the forced or hidden regeneration may be too stressful.
Thanks for reading. Any constructive comments are appreciated, just please do not waste my time telling me that drives are cheap and to buy a new one.
Vaclav
|
|
|
|
|
The beeps are most likely your RAID controller or BIOS reporting that it can't see the drive you've configured.
I'd check and replace the cables. They do fail if damaged, and often intermittent connections occur where it works in a certain range of temperature or certain positions, but not others.
Likewise, electronics can fail when subjected to shock or high temperatures. There can also be poor joints in the soldered board which eventually fail with vibration, shock or temperature.
If it's mirrored, and replacing the cables doesn't help, toss the drive. It just isn't worth investigating the problem. If it's bad electronics or weak joints it can't be fixed without replacing the drive's controller board anyway.
Consumer drives are pretty much identical to 'enterprise' ones, except that the enterprise drives generally have write-back buffers disabled (consumer drives will report that they have written data when they have written it to the on-drive cache, not actually to the disk itself, so you can lose data on losing power that the OS thought was written) and also have aggressive error-recovery disabled. Consumer drives will re-read sectors that have errors repeatedly, leading to long delays if there is a problem, but it might be able to recover the data. Enterprise drives are intended for use in mirrored or parity-protected arrays, the system can recover the data from other drives, so the recovery is much reduced so the OS or RAID controller can get on with doing that, then replace the bad sector.
Drives often do last quite a long time. We recently had to replace one that had been in service for six years in a RAID array in a server - this was a setup with Windows 2000 Server mirroring the data on consumer IDE drives. Unfortunately it's common for drives in the same batch to fail at more-or-less the same time, if they haven't been subjected to different stresses. Some administrators get drives from different batches or even different manufacturers for this reason.
Sometimes, though, drives fail much sooner. In a computer I bought for my parents in 2001, the disk failed in less than three months. (It was replaced under warranty by the manufacturer.)
DoEvents: Generating unexpected recursion since 1991
|
|
|
|
|
Thanks for the comments.
I run two development machines side by side and some of the drives are "semiopen", one in the bottom of "standard" IDE 3 slots horizontal bay and the other has the drive attached vertically (front of the box). All together I have five hard drives and have noticed that they get rather hot. You cannot keep your hand on it for long.
I am beginning to believe that is my problem - poor air flow around drives.
I have used some swappable drives in past and they have rather beefy cases.
Maybe some small fan would help. I’ll try that.
You have mentioned possibly bad cable. I went that route with my other problem - moved IDE ports and cables. But eventually tossed the 80GB drive.
I think this one is on the way to the wherever bad drives go.
But you have answered my main question – where does the beep comes from, thanks.
Thanks
PS. I forgot to mention - I use OS RAID.
|
|
|
|
|
|
|