Computer Architecture(1)

김동규·2023년 9월 2일
0

Computer Architecture

목록 보기
1/16

In first time of Computer Architecture class, we defined what is instruction.

Basic architecture of Computer Language.

Instruction is the basic of Computer Language. It consists of operator and operands(address). In the instruction, there are many different counts of operands.
For example, some instruction can have 2 operands, and some can have 1 operands. It has different advantages each other.

High-level Programming Language -> Instruction -> CPU

It is overall progress of programming. Because current computer system has many processes.

I think that you can have questions in this part. The answer is processes is different from each other. It means, processes have their own Machine Instruction.

However, if we make a program in C Language, it doesn't effected whether what process in your computer.

Now, we will think about Register.

Register is in CPU. It is temporary storage of data and instructions. It is much faster than main memory(RAM) because it is in the CPU.

As we can know from this picture, registers are in the CPU and different from main memory. In addition, this register has some types.

General Purpose Register

This is the general register using by anywhere.

Special Purpose Register

This is the register used on special purpose.

Not Accessible Register

This register is not accessible to programmers. This programmer is Assembly Language Programmer. Because Assembly Language is usually heavily influenced environment.

I will explain more about Special Purpose Registers.

PC(Program Counter) is a special register to hold address of next instruction.

It means that PC remember address of instruction in main memory.

AC(Accumulator) is a special register which holds the result of the computation temporarily.

It means that AC remember the result of the computation, not address. In this way, it will be good point or not.

IR(Instruction Register) is a special register which holds the instruction fetched from the memory.

It menas that it remember the instructions not result and address.

The next is ISA.

ISA(Instruction Set Architecture) is essentially a programmer's view of processors. In other words, how to see processors. It provides the information of way of interact with processor but not include details.

This is the things of ISA includes
1) Processor's instruction set
2) Programmer accessible register within processor
3) Information necessary to interact with memory
4) How processor reacts to interrupt from the programming view point

Then, we must know about Levels of Programming Languages.

High Level Languages

It is the machine independent language. In other words, this language doesn't influenced by processors. Because the compiler do compile in each environments.

Assembly Languages

They are similar with Machine Languages but they have symbols. Each processor has its own assembly language and each statement corresponds to a machine instruction.

Machine Languages

It is just Instruction. The processor works with binary codes and one Instruction is matched with one Assembly, Machine Languages.


These are overview of how to compile High-level Programming Languages and Assembly Languages to Binary Codes. Also Assembly language is converted to its equivalent machine code represented as binary number in specific format.

In past, Instruction's length is most important point because the register is usally expensive. So, first version of computer used variable size. It can add other register if its size is more than register's size. However, in these days, the register's price much lower than past and there are 32bits, 64bits registers. It is possible to make program in this size models. So, in this time, computer usally uses the fixed size models.

For example, if we use 8bits register and if we use 3bits in operator(Opcode), we just can use 5bits to remember operands.
In this section, we must think about how we use the memory.

There are some type of operands that divided its numbers.

There are 3-types of operands. 1) Three operands 2) Two operands 3) One operands.

Three operands type's example is ADD A, B, C and Destination is A, soureces are B and C. To doing this code A = B + C, we must know about address of A, B and C. That is the reason why its name is three operands.

Tow operands type's example is ADD A, B and Destination is A, sources are A and B. In case of A = A + B, we just have to know about A and B.

One operands type is different from other types. It must use Special Register named by AC(Accumulator).

Than, in this situation, Zero operand Instruction is possible by using stack.


What I want to focus on is the efficency. In this picture, if we use more operands(address), it must require more bits of register. In past, we can't use high memory registers but now, we can. If we use less operands, we calculate more actions. It is important point of developers.

profile
안녕하세요 :)

2개의 댓글

comment-user-thumbnail
2024년 4월 29일

Computer architecture refers to the design principles and organizational structure of a computer system. It encompasses components like the central processing unit, memory, and input/output mechanisms. With the proliferation of mobile computing devices, architectures have evolved to accommodate different needs, such as power efficiency and compactness. The industrial tablet, designed for rugged environments, is a prime example. These tablets employ robust architectures to withstand harsh conditions while delivering reliable computing power in industrial settings.

답글 달기
comment-user-thumbnail
2024년 5월 4일

Computer Architecture Magic transcends mere engineering; it's the artistry of transforming silicon and circuits into marvels of computational prowess. Like a strolling magician and walk around magician computer architects weave intricate designs, optimizing performance, efficiency, and reliability. They're the walk-around magicians of the digital realm, conjuring architectures that defy limitations and push the boundaries of what's possible in computing. With each innovation, they unveil a new act of technological wizardry, enchanting users with the seamless fusion of hardware and software brilliance.

답글 달기