What is the core of a processor?

Have you accidentally deleted some photos from your camera? Have you accidentally given “delete all”? Most likely, they are very easy to retrieve. In this article on how to recover deleted photos from the camera we will see what you can do to get the information back, since as you will really see, a deletion is not what it seems and there are many possibilities of having the photographs back.

Before we start, we want to clarify that as soon as you realize that you have accidentally deleted a photo you should avoid doing any more on the storage medium you are using. Change the SD card and save the one that contained the deleted images as this will make it much more likely that you will recover them. This is based on the recommendations made by the creators of the software that we are going to propose to recover the photos, and in the article you will understand very well why we give it. We started!

Index of contents

  • Deleting a file in computing is not what it seems
    • File recovery software
  • PhotoRec is your best ally to recover deleted photos from the camera
    • How to use PhotoRec to recover deleted photos
  • What to do if I cannot retrieve the information?
  • Conclusions

Deleting a file in computing is not what it seems

Most file deletions can be recovered very easily. The reason is that when we delete a photo from our camera, it is most likely that the file is not really deleted, but two things can happen:

  • Any reference to the file existing is removed.
  • The file is marked as deleted.

That is, when the photograph is deleted, it is not that all the data blocks in which it was located are filled with zeros and ones, since it is something that takes more time than the previous two methods. These are made possible by the way the file systems that organize information work.

It could be said that the equivalent is that, instead of taking a book out of a library, all references to it are removed (where it is located, what book it is, etc.) and left in the same position. When it is necessary to put in a new book, that “unknown book” will be removed from there to put it in that place.

In a camera, you will surely have an SD card or similar as a storage medium, and the most common file system in these cases will be FAT , specifically FAT32 . These are the abbreviations of File Allocation Table, that is to say, file allocation table, and basically describes the way in which the files are stored in which physical positions of the memory are.

This is a FAT table

These positions are divided into blocks, and the same file can occupy one or more, and they do not have to be contiguous. For example, a photograph that occupies 3 blocks could be in the 4th, then the 7th, then the 2nd, then the 10th … In the FAT table there will be an entry for the beginning of the file in the position corresponding to its first block ( we will see the example of file A that begins in the 4th). This will contain the next block that we will have to access, in our example the 7th, and so on until we reach the last block that instead of leading to a specific one will have a fixed value (for example -1).

If the references to the file are not deleted from the FAT table and it is simply marked as deleted, recovering it will be really easy as long as you do not end up needing any of those data blocks, hence our recommendation at the beginning of the article.

File recovery software

Due to what we have explained to you, there is a large number of programs that allow you to recover deleted files, including those from your camera. You just have to connect it to the PC and use suitable software. You will see now that the previous idea is not the most optimal to achieve recovery, but fortunately we have plenty of options.

PhotoRec is your best ally to recover deleted photos from the camera

The quintessential program to recover deleted photos from the camera is PhotoRec, not only because it is completely free and open source, but because it is specifically designed for digital photos.

As we have already explained, the big problem with file recovery on a FAT system like the one used by your camera’s SD is that it is only possible if the file is in contiguous blocks, something that doesn’t have to happen. So the key to PhotoRec is that it totally ignores what the file system is and is dedicated to searching the data deep in memory. This way we also get rid of problems if we have formatted the entire card instead of deleting only some photos.

In particular, PhotoRec manages to identify the block size of the device, and from this value it goes through each block in search of new files. The program has a signature database that allows you to identify the file extension to proceed with its recovery. Among these are the .jpg photographs that are widely used in digital cameras.

It is still ideal that the storage of the files is in contiguous blocks (without fragmenting), but the software has methods to fully recover fragmented files.

We also take the opportunity to indicate that this program will not cause any problem on the files that you already have written, since it performs the entire process in read-only mode.

How to use PhotoRec to recover deleted photos

Let’s see now how we can use PhotoRec with our device. This program comes bundled with TestDisk, other software from the same developers, so that will be the one we will have to download. We leave you the download link here .

First of all, we recommend connecting the camera to the computer or, failing that, only the memory card, depending on whether you have a compatible reader or not.

Once the zip file from testdisk is downloaded , we will unzip it in the folder we want, and we will navigate to it. There we will find two executables: photorec_win.exe and qphotorec_win.exe. The latter is the version with a graphical interface, which is easier to use.

Once inside, the first thing will be to choose the device where we want to do the data recovery. We can do it in the selection menu that we find in the upper part of the main program window. There we will select our camera.

So, we will basically have two options: either select a partition on the drive or choose none ( “No partition” ). The last option that will allow us to basically scan the entire device regardless of its partition distribution. Perhaps it is the best option if we have formatted the entire unit , in case we have simply deleted some photos, perhaps choosing the corresponding partition is more convenient.

Be that as it may, at the bottom we will choose the type of file system, where we will have to choose FAT / NTFS / HFS + / ReiserFS /… since it is the option corresponding to the file system that our camera will have. If you are doing this for a Linux partition and not for a memory card, you should choose the ext2 / ext3 / ext4 option.

We will continue choosing the directory in which we want to save the files to be recovered, within the disk of our computer or another auxiliary unit to which we are going to recover.

The next thing will be to see the type of files that we want to recover (click on File formats ) . This is quite an important part, because if you look at what we get in the program there are a huge amount of file extensions that we really don’t need to scan at all, and if we leave them all it is possible that the program will waste additional time looking for these files. So what we recommend, in the case of a camera, is that you choose only the extensions in which you save the images, such as JPG or RAW.

It should be noted that by clicking on the “Restart” button you can unmark all the elements and in “Restore” all those that were previously previously marked will be re-marked.

Well, now we can start the process of recovering our photos, which will surely last a fairly long period of time, so take it easy. Click on Search and you’re done.

Then the program will start with a very fast pass through the sectors of the unit, to go on to read all the sectors in search of files to recover. As we say, this can take a long time, especially depending on the storage space of the drive. So do n’t expect to be able to use it for several hours, you may even have to let it run at night. That is why perhaps it is convenient to connect the card through a reader and not through the camera itself, although it can still work out.

As files are recovered, you will have them available in the folder you have chosen, within the “recup_dir”. You will be able to see them, identifying if they are what you were looking for, and the truth is that in many cases you will be surprised with old photos that you did not expect to have there.

Personally PhotoRec has gotten me out of a lot of trouble, and I have managed to recover entire photo sessions after accidentally formatting the camera’s SD card. But on other occasions it has also failed me. I would say that it has worked for me ” half the time ” or even more.

What to do if I cannot retrieve the information?

Having passed a whole scan with PhotoRec, if you have not been able to recover the data it is very likely that it is already unrecoverable. And it is that this program performs a deep search of the data, so every bit of the storage device should be analyzed.

Nor should we rule out the possibility that the drive is damaged, especially if the information has not been erased voluntarily. Precisely, a corruption in the file system or in the device itself is not common, and if you have understood our explanation of how these systems work, you will understand that this problem can have catastrophic consequences that involve the direct loss of data. A good sign that this is happening is that the drive is read-only, files or folders are renaming meaninglessly, etc.

Conclusions

Deleting an image from the camera or even deleting all of them accidentally is something that can happen frequently. Then, methods to recover deleted photos become necessary In particular, there are a large number of programs available that allow us to do so with a relatively high degree of success.

This is achieved thanks to the fact that, in reality, when we delete a file or perform a formatting, we are only eliminating the references to it, but we do not delete the information itself. This will remain in the storage unit until it is overwritten by another file, or photograph in this case.

Therefore, as soon as we detect that we have carried out an accidental deletion, we should stop using that storage unit (the SD card, or where the photos are) to avoid writing data on the deletion. So, we will connect the device to our PC and use a software. Our recommendation is definitely PhotoRec. It’s open source, works great, and does an in-depth scan.

We recommend reading our articles:

  • How to know if a USB pendrive is fake
  • SD card: all the information about its types and characteristics
  • How to repair SD card
  • The file is too large for the target file system

Of course, this is also a good opportunity to remember that it is very important to keep very safe what you want to keep and erase as best as possible what you don’t. When you do photo sessions, save them in another medium as soon as possible, to avoid any unforeseen events. If you frequently connect the camera to the PC to check something, take the opportunity to copy the photos, perhaps even in the cloud.

It is something that we have learned well on this website, with our high volume of reviews , because as much as there are possibilities of recovery it is something very tedious. In case you want the opposite, to lose track of an image from your camera, then it is best to resort to erasing methods that are as advanced as possible. We hope that this article has been helpful to you to achieve recovery, and if you have not succeeded, invite us to tell us about your specific case in our hardware forum .

The  cores  or  cores  of a CPU are a concept that we continually mention when talking about their specifications. Even more so when in recent years we have seen  a great increase in its relevance  and how processors include more and more. But what is really the core of a processor and what is its importance? It is something that we will clarify in this article. We started!

Concurrency versus parallelism: the illusion of parallel execution

When we think about the operation of a PC at the user level, the possibility of executing several tasks at the same time clearly comes to mind   that is, in parallel. This idea has been the case for decades, when we only found a core in a processor. The reality is that a CPU executes each process concurrently, and not in parallel.

To explain this we must know two things: first, we will assume (to simplify) that each program on our computer will be a single different process ; second, we will remember the fact that each process executes its instructions sequentially, one by one, and not in parallel. Having clarified this, what we must also know is that in a CPU only one process can be executed at a time. So there is no form of parallelism in execution.

Precisely, what allows this pseudo-parallel execution that we notice is concurrency, which basically means that there are several tasks running in overlapping periods of time, so that time is distributed among several processes:

Several processes will progress in a way that seems parallel, since the division of time will be on a very small scale, but in reality at any given moment there will only be one process running.

We are going to present this idea to you graphically, imagining a system that executes 3 processes, and giving a more or less ideal vision of what a parallel execution would be versus a concurrent one:

The idea is clear: at each moment of time there will only be one process running, but we will divide it into pieces so small that in the eyes of the user they will actually be running at the same time.

Precisely, in operating systems there is always a process planner that is responsible for dividing this time according to the needs of the user and the machine, although it is something that escapes from what we want to explain in this article.

The nuclei bring the parallelism

What we just told you applies to a single core CPU, something that we hardly see in computers anymore. And it is that the arrival of the multicore brings with it a form of real parallelism . But before we comment on that, let’s get down to business: what exactly is a processor core?

Example basic diagram of a 4-core CPU, sharing L2 cache.

Basically, the idea of ​​the kernel is born from multiplying various parts destined for logic in order to have several processors in one. Thus, in a single package we would have what behaves like several separate CPUs, which is combined using parallel programming techniques  to achieve a real parallelism of the programs, or simply to be able to execute several different programs at the same time. Naturally, many parts will be shared, and as we show you in the basic diagram above we can share some cache levels, for example.

This is quite a complex AMD Zen core

This was implemented for the first time by IBM with its POWER4 in 1996, followed by AMD and Intel in 2004 and 2005 respectively, and initially the cores were quite similar to the concept that we propose here, looking more “CPU stuck” than anything else. Nowadays , much progress has been made in the design of processors, and the composition of the parts of each core has varied a lot.

For example, in the latest AMD Ryzen processors, we can find cores in separate physical regions within the chip , known as ‘chiplets’, which are interconnected via the Infinity Fabric bus .

Multithreading: giving two logical cores to each physical processor core

What many of you will have also seen, in addition to the number of processor cores, is its ” number of threads “, an amount that if it is double the number of cores then indicates that the CPU has HyperThreading (this is a commercial name of Intel , in AMD it will be called Simultaneous Multithreading or SMT) . We will use the concept of multithreading (some books in Spanish translate it to “multithreading” ) so as not to enter commercial names.

Well, what multithreading implies is basically an improvement by which the CPU can maintain the state of two different threads , in order to alternate between one and the other in a much faster way than normal.

To understand this definition, you should also know that the execution threads or threads are a kind of divisions of a process that work with an independence similar to that of two different processes, but sharing resources. For example, a word processor may have one thread to receive user input, another to display it formatted on the screen, another for autosave …  With multithreading, a single physical processor core hosts two of these threads (even if they are of different processes) to speed up execution.

Dramatization with 2 threads A and B: multithreading allows a better use of time.

And why is execution accelerated? With the definitions that we have seen, it will be easy to understand that this technology does not provide a real parallelism within the kernel, since there will still be only one process running at a time. But the point is, it will switch between those threads several orders of magnitude faster.

The fact of keeping two execution contexts in the same kernel and that the change between them is extremely fast implies that the “free” gaps in execution are used much better . That is, those moments when a kernel would be waiting for the thread to do something or some input / output operation. With multithreading, that time is used to execute the other thread.

What performance improvement does multithreading give?

The “magic” number for multithreading, you could say, is 30%. And it is that normally the average improvement in performance that allows is around that value, it is not something that is always maintained far from it, but it can be said that the improvement will be around 30%. It also helps us to see that indeed the differences will be more modest by doubling the number of processor threads than the number of cores, in such a way that 6 cores and 6 threads tend to behave similarly or better than 4 cores and 8 threads.

Everything will also depend on how the operating system manages it. Let’s think about a primitive implementation: the OS would see each logical core as a different CPU, and when planning them it could make the mistake (due to ignorance) of giving two processes to a single physical core, which is seeing as if it were 2 CPUs.

Fortunately, all systems are highly evolved and do not make these types of errors, and precisely in the Windows task manager you will be able to see how your physical and logical cores are perfectly identified.

Does the number of cores matter today? The difficult choice between single-core and multi-core performance

In practice, it cannot be firmly stated that one CPU is better than another because it has a greater number of cores. Thinking about it intuitively, is it better to have several slow cores or a single especially fast one? This is where the single- core performance of each processor comes into play , which is basically what you can achieve using just one of its cores.

The Threadripper 3990X with its 64 cores and 128 threads working at full capacity. Bestial.

In addition, we must bear in mind that not all applications are designed to make use of all the cores of the computer. Many productivity programs do not, and the same used to happen with games, although now there is finally a trend in which they begin to take advantage of all the available cores much better. The typical area where the number of cores is key is CPU rendering, both for video editing, 3D design, etc., which is almost always designed to take advantage of all available cores.

Current situation

Within this context, in recent years there has been a great debate about which are the most suitable CPUs, taking into account that AMD used to offer a greater number of cores with poorer performance, while the opposite happened in Intel. This was particularly the case with the arrival of the first Ryzen in 2017, which carried the 6 and 8 cores at very low prices while Intel did not exceed 4.

In the 4 years that have passed since then we have seen AMD drastically improve its single core performance while Intel catches up with the number of cores. For this reason, today reaching a compromise choice between single-core and multi-core performance is not exactly a problem, and what really matters is the number of cores to choose from.

The general recommendation in this regard is that it is best to bet on a CPU with at least 6 cores and 12 threads if we are going to play, to better take advantage of the potential of the latest titles that are coming out, especially since these CPUs are in a price segment that a few years ago would correspond to 4 cores and 4 threads. Going from 8 up is already recommended for those more intensive CPU uses, and some also advise it for gaming equipment on a comfortable budget.

Final words and conclusion about the core of a processor

The core of a processor is undoubtedly one of the most important concepts to consider today. These allow us to have something similar to “several CPUs in one”, by multiplying certain logical parts of the processor, in order to achieve parallelism in execution that is impossible in a single-core system. The performance benefits this enables have been demonstrated over the years, and today a single core CPU is inconceivable except for a very low-level exception.

In addition, each physical core can be divided into two logical cores thanks to multithreading technologies, such as Intel HyperThreading or AMD Simultaneous Multithreading. What these achieve is an extremely fast exchange between two threads, since they save the state of each one of them, so that  while one is idle, the other is switched very quickly,  achieving a significant performance improvement.

 

And if you are interested in knowing how many cores you should have today, the reference for “normal” equipment is undoubtedly the 4 cores, but for gaming equipment the 6 cores can already be more than usable , and in some productivity applications or tasks even more rendering. Of course, you must always keep two issues in mind:

  • Not all programs will take advantage of having multiple cores well enough, or they won’t.
  • The performance of each core is very important,so a 4-core CPU with good single-core performance could be better in all cases than a 6 or 8 CPU that has poor single-core performance. Fortunately, the latest CPUs from Intel and AMD are very well positioned in this regard.