Today let us learn about program counter what is it? We will discuss the definition, meaning, work of it in this article. Before beginning it let us know that

seen from Türkiye
seen from Australia
seen from Australia
seen from United States

seen from Australia
seen from Australia

seen from Türkiye
seen from United Kingdom
seen from Australia
seen from China

seen from Spain
seen from Türkiye

seen from United States
seen from Türkiye

seen from Australia
seen from Germany

seen from Australia
seen from Türkiye

seen from Australia
seen from Australia
Today let us learn about program counter what is it? We will discuss the definition, meaning, work of it in this article. Before beginning it let us know that

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Program Counter and Instruction Register
Program Counter and Instruction Register
Program counter holds the address of the instruction that should be executed next, while instruction register holds the actual instruction to be executed. wouldn’t one of them be enough?
And what is the length of each one of these registers? (I have some guesses I just want to be certain.)
Thanks.
Answer
You will need both always. The program counter (PC) holds the address of the next…
View On WordPress
Step by step instruction execution in a modern computer
In our last post (http://skjorrface.blogspot.it/2013/05/von-neumanns-architecture-how-modern.html) we've showed and described a modern computer model, Von Neumann's architecture. We've analyzed every single component, CPU, RAM, Input/Output devices and system bus. In this new post we're going to practically see how a simple computer instruction is processed and executed by the CPU and RAM. To start working the machine needs to load the binary form of a program into the central memory (RAM). The binary form, just like any other kind of information inside a computer, is a sequence of binary words (a sequence of binary digits, 0 or 1). Once loaded into the RAM the CPU can finally execute them using a mechanism we're going to describe later on. It is remarkable that every program is divided into two distinct parts: the first part contains encoded instructions that tell CPU what to actually do once loaded, the second part contains data (input, output, temporary and computed data). These two parts are separated by the "halt" instruction, which makes a program stop. Every instruction execution is divided into three phases: fetch phase, interpretation phase and execution phase. Fetch phase, works as follows:
Contents in program counter register (PC, a CPU register), is transferred to the adress register (AR, another CPU register). PC contains information about the next instruction to execute;
A read operation from central memory (RAM) is done: Contents in the memory cell that matches the address contained in the AR is transferred to the data register (DR, always in the CPU), by the system bus;
Information contained in the DR is transferred to the CIR (Current Instruction register, the name of this CPU register is self explanatory);
Value contained in PC is incremented by 1, so that it will contain the adress to the next instruction to execute and the fetch phase can restart with another instruction. P.S. Sometimes PC will be updated with a totally different value, so that sequentiality is broken (branch instructions).
Once fetch phase has ended we have the interpretation phase, in which CIR contents are processed by CPU to understand what kind of operation has to be executed. Only the opcode (operative code) contained in the instructions is processed. Finally we have the execution phase, in which CU (control unit) and ALU (arithmetic logic unit) work seamlessly in the CPU to process data and give results. In the next post we'll see a numerical example with a binary instruction.Â
Von Neumann's architecture: how a modern computer is made
Have you ever wondered how and why our modern computers are structured the way they are and who and when thought to design them this way? This post will try to answer this question, trying to give a simple and quick explanation of how computer instructions work and make computers a really interesting tool. As you already could have imagined, catastrophic events such as wars will always bring forth magnificient tools for subdueing other people, that's what Von Neumann and other scientists such as Alan Turing had in their minds during world war II. John Von Neumann was jewish by origins and obviously hated germans' ideas about shoah. Infant prodigy, it is narrated that he could, being 4-5 years old, learn whole telephone books pages. Later in the years he became a chemistry student, mathematician and logician. His best contribution to the US army was the conception of modern computer architecture (don't forget that John Von Neumann was part of the Manhattan project too). Below is an explanatory image of Von Neumann's architecture:
As you can see the structure of a modern computer is quite modular: the CPU (Control processing unit), is the actual "brain" of the calculator: it is divided into different parts: we have the ALU (Arithmetical-logical Unit), which calculates numbers and finds out truth/false values (boolean variables), the CU (control unit), which manages all components in the CPU and whole architecture, a clock (which works at a certain frequency to dictate the CPU duty cycle), and various registers (IR, PC, etc.), and whose understanding will be clear later.Â
The CPU has only a little memory (which is contained in the registers mentioned above), but where does it take the information to elaborate? Here RAM (Random Access Memory) plays a key role. Semiconductor device, it is like a big grid or table whose single cell contains a byte (or piece of information). It is called "Random" because the information of a program or application is not always stored sequentially in the table but "randomly" all inside of it. Moreover, once the machine is shut down, all contents in the RAM will be lost (that's why we need a secondary, slower memorization supports [I.E. hard disks, solid state drives, compact disks and so on]).Â
We couldn't have a modern computer if we hadn't the possibility to put data from the external world and to see the results of CPU computations, that's what input/output devices are for. Keyboards, mouses, scanners, card readers etc. are a means for inputting data into the CPU, Monitor, Printer and many more are for showing results to the external world. So we have three key components: CPU, Memory and Input/Output devices. How do they communicate? That's what system bus is for. System bus is divided into other three sub-bus systems:
Data bus: it transfers the real computations data from the memory (RAM) to the CPU (or viceversa);
Adress bus: it transfers information about where data is stored or will be stored in the memory from the memory to the CPU (or viceversa);
Control bus: it transfers information from the memory to the CPU (or viceversa), about the successful (or not) completion of an instruction/operation.
Obviously input/output devices can communicate with memory and CPU via system bus: different input/output registers (such as PDR [Peripherical Data Register], PCR [Peripherical Command Register] and PSR [Peripherical Status Register] are placed on the extremity of bus lines, so that data flow will be consistent within all the components of Von Neumann's architecture. Now we have enough awareness to practically see in detail, in the next post, how a real computer instructions is executed in modern computers.Â
Thanks John Von Neumann!Â