프로그래밍 농장

Definition of Computer System Components [ 임베디드시스템 설계 ] 본문

Linux

Definition of Computer System Components [ 임베디드시스템 설계 ]

Tennessee201 2021. 9. 1.
728x90

- Storage structure

 

- 컴퓨터시스템 요소의 정의 

CPU : 명령어를 수행하는 추상적인 의미

Processor : 실질적인 명령어를 수행하는 의미 

Core : CPU의 가장 basic computation unit 

Multicore : 같은 CPU안에 위와같은 CPU가 여러개 있는것 / 시스템자체를 만들때 엔진을 2개넣고 만드는것 

Multiprocessor : 프로세서를 여러개 포함하는것 

 

AMP : 프로세서가 여러갠데 종류가 다른것들을 묶어놓은것 

- Symmetric Multiprocessor (SMP)  = multiprocessor

Symmetric Multiprocessor

-> 내부 캐시를 공유


- Computer Architecture

명령어가 0,1 이라는 BIT 정보로 들어오면, 이를 받아서 내부적으로 정의하는 방법이 필요 -> ' ISA '

 ->  Instruction Set Architecture (ISA) + Memory model, registers . .

 

- Von Neumann Architecture verse Non [ 폰 노이만 구조 ]

Von Neumann Architecture vs Non

 

- Overall Architecture of CPU 

Overall Architecture of CPU 

 

- Register : Program Couter (PC) 

: 빠르고 작으며, spr, gpr  두가지고 나뉨 

: PC값은 일반적으로 다음 명령어를 가르킨다. 

: Containing the address of the instruction being fetched next

 

Program Couter (PC) : 다음에 수행할 명령어를 가르키는 것 

- Fetch : 메모리에서 명령어를 가져오는것 

 

- 일반적인 명령어 표준 

->해석ex)  x1, x2를 더해서 x0에 넣어라 

 

Assembley : 기본적으로 명령어는 8비트값으로 들어온다면, 사람이 쉽게 이해할수있도록 정의해놓은것

: 기계어와 1:1 대응이된다. 

ex) 

 

만약 Computer Architecture가 다르면 수행이 되지않는다. ( 각 환경에서의 Opcode가 전부 다르기떄문 ) 

 

-> 만약 하나의 Architecture가 주류로 자리잡으면, 그것(hegemony)을 깨기란 쉽지않다. ( Intell , amd . . )

-> ex) Android의 경우, 초창기 Intell이 Atom으로 접근하였지만 실패한 이력이있다. 

 

 

- Types of Instruction (예시)

 

EX )

왼쪽과 같은 c코드를 어셈블리어로 만들면 가운데와 같다.

MOV : 뒤의 값을 앞에 넣어라 

CMP : 두개를 비교해라 같으면 1 / 다르면 0 

loop : loop로 점프해라

 

728x90