«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

ITGenerations

2018_0524 임베디드 수업자료 본문

Univ/임베디드

2018_0524 임베디드 수업자료

ITGenerations 2018. 5. 24. 14:52

프로세스: 현재 실행중인 프로그램

프로세어: H/W

Processor란?

메모리에 저장된 명령어를 실행하는 finit-state automation



마이크로프로세서

(Micro Processor = mp)

반드시 기억해야될것 2가지!!!! ->>> (1)Instruction Set (명령어 집합) / (2)Register



Single Board Computer

Raspberry Pi 에는 마이크로프로세서가 들어가 있다. BCM2835와 같은 mp가 있다.

파이에서 프로그램을 짤 때, C, Python같은 하이레벨 언어를 사용하여 컴파일 해서 실행 시킴.



(Arm128 같은것)

mp

Assembler Language (어셈블리어) --> Instruction Set 작성. 

어셈블리어로 mp에서 명령어 집합을 작성한다.

ARM과 같은 mp은 RISC 타입의 명령어를 가진다.


RISC란? Reduce Instruction Set Computer ( Reduce )

CISC란? Complex Instruction Set Coomputer ( Complex )


어셈블리 종류 - 클락이 움직여야 마이크로 프로세서가 동작한다.

ex)

MOV    8비트 클락,    7비트 클락

LDV    16비트 클락,    7비트 클락

LOAD  12비트 클락,    7비트 클락


RISC는 비트가 일정하게 해서 가볍게 만든것임.

CISC는 비트가 일정하지 않아서 복잡하게 만들어진것임



IC Intergrated Circuit(집적회로)  

ps, 직접회로 아님!!!

모을 , 쌓을 , 회, 로

 集積回路.

(한자로 쓰는것도 알아두기,,, 시험에 나올수있음)




Stored program

명령어와 데이터들 같은 메모리 시스템에 저장한다.

필요할 경우 명령어를 데이터로 취급할 수 있도록 한다.


Instruction Set (RISC & CISC)

각각의 명령어는 전체 상태가 변화하는 특정 방법을 정의하고, 어떤 명령어가 다음에 실행되어져야 할지를 정의한다.



Register


메모리 체계

SDRAM - cache(SRAM) - RAM, ROM < HDD


레지스터를 구성하는 단위 플리 플롭

플리 플롭을 구성하는 단위는 트랜지스터


트랜지스터는 데이터를 저장 못한다.

따라서, 저장을 할 수 있게 만들게 플리플롭이다.

1플리 플롭은 1비트를 저장할 수 있다.


플리플롭들로 이루어진게 레지스터다.

레지스터는 마이크로 프로세서(mp) 내부에 구성되어있다.

마이크로 프로세서 내부에 있는 메모리를 레지스터라고 한다.

이 레지스터가 8 비트, 16비트다 라고 정의하는건 레지스터의 크기에 따라 정의된다.

(다른 말로, 레지스터에 있는 플리플롭의 갯수에 따라 정해진다.)




Aram has a total of 37(32bit) registers

- 30general purpose / 6 status / pc

- At any one time, sixteen are visible, the other registers used to speed up exception.


Special Purpose General Register

- Program counter (r15 = pc)

A pointer to the instruction

- Link register(r14 = lr)

To hold the address of the next instruction after a Branch with Link

At all other times, r14 can be used as a general - purpose 


Register(2)

Status Register


CPSR(Current Program Status Register) : 현재 cpsr 상태

SPSR(Saved Program Satus Register): 이전 모드의 cpsr 상태

31 

30 

29 

 28 

N

 

M4 

M3 

M2

 M1

M0 



 M[4:0]

MODE (6가지)

10000 

USER 

10001 

FIQ 

10010 

IRQ 

10011 

SUPERVISOR 

10111 

ABORT 

11011 

UNDERFINDE INSTRUCTION

 

 


N - Negative/Less Than

Z - Zero

C - CArry/Borrow/Extend

V - Overflow

I - IRQ Disable bit

F - FIQ Disable bit

T -    0 indicates ARM excution(Default)

/ 1 indicates THUMB excution

M[4:0] - Present current processor mode



"Shadow" Register

CPU 동작 모드가 USER 모드 -> Supervisor 모드로 바뀔 경우, Supervisor 모드에서만 동작하는 Shadow register R13과 R14가 끼어든다.


[사진]



[설명]

새로 바뀐 레지스터를 Shadow 레지스터라고 한다.



Shadow register는 평상시에는 없다가 특정한 모드일 경우 나타내는 레지스터를 말한다.



ARM 레지스터에는 37개가 있다.


System&User 16개

FIQ 7개

Supervisor 2개

Abort 2개

IRQ 2개 

Undefined 2개


CPSR 1개

SPSR-fiq 1개

SPSR-svc 1개

SPSR - abt 1개

SPSR - irq 1개

SPSR - und 1개


16+7+2+2+2+2+1+1+1+1+1+1 = 37

->16+7+8+6

-> 37

http://forum.falinux.com/zbxe/index.php?document_srl=571055&mid=lecture_tip

참조

'Univ > 임베디드' 카테고리의 다른 글

2018_06_05 임베디드 수업  (0) 2018.06.05
2018_0529_수업자료  (0) 2018.05.29
2018_05_17 수업자료  (0) 2018.05.17
2018_05_15 임베디드 수업자료2  (0) 2018.05.15
20180515 수업자료  (0) 2018.05.15