Instruction의 구성

Download Report

Transcript Instruction의 구성

Embedded System
● Hardware와 Software가 조합되어 특정한 복적을 수행하는 시스템
● 특정한 기능을 수행하도록 Micro Processor와 I/O Device를 내장하며,
이를 제어하기 위한 program이 내장되어 있는 우리의 일상 생활에서
사용되는 각종 전자기기, 가전제품, 제어장치 등의 시스템을 말한다.
Embedded System의 구성
S/W
H/W
Processor
OS Kernel
Memory
System Software
I/O
Application S/W
Embedded System
Embedded Computer
2009년 11월 16일
1
Processor Architecture
● ALU, CU, Register와 Data Bus로 구성된다.
● Micro Processor는 한 개의 작은 IC chip 속에 CPU의 모든 내용을 내장한
chip을 말한다.
● 근래에는 한 개의 IC chip속에 CPU뿐만 아니라 다양한 I/O device를 포함
하는 SoC 형태로 발전하고 있다.
Register
CU
Internal Processor Bus
Control signal
Complementer
ALU
Shifter
Status Flag
Embedded Computer
2009년 11월 16일
2
CU(Control Unit)
● Instruction decode & execute
● Internal dataflow control
Program counter
Address
Memory
Instruction
Instruction reg’
Instruction decoder
External
Control signal
Control signal
Generator
Embedded Computer
Internal
Control signal
2009년 11월 16일
3
명령어(Instruction)
 Instruction의 구성
▷ OP Code(Operation Code)
Processor가 실제로 취해야 하는 동작
▷ 오퍼랜드(Operand)
OP code 가 명령을 수행하기 위한 대상
ADD
A, B, C
OP Code
Operand
A : Operand 1
B : Operand 2
C : Operand 3
A=B+C
Embedded Computer
2009년 11월 16일
4
Bus
 Bus
▷ Computing System의 각 Module에서 발생한 signal을 공유해서
사용할 수 있도록 만등 신호의 집합
▷ 구동 주체(CPU 등)에 의해서 해당 소자에 Data를 읽거나 쓸 수 있
도록 구성된다.
▷ Address Bus, Control, Data Bus
Address
Processo
r
Register
Control
Memory
Instruction &Data
Embedded Computer
2009년 11월 16일
5
Von-Neumann Architecture
 Von-Neumann Architecture
▷ Instruction과 data를 위한 memory interface
▷ 명령을 읽을 때 data를 읽거나 쓸 수 없다.
▷ IBM계열 PC, ARM 7 등
Instruction
Processor
Register
Address bus
Data bus
Data
Memory
Embedded Computer
2009년 11월 16일
6
Harvard Architecture
 Harvard Architecture
▷ Instruction을 위한 memory interface와 date를 위한 memory
interface가 분리되어 있어 instruction read 시 data read/write가 가능하
므로 성능이 우수하다..
▷ ARM9, ARM10, Xscale 등.
Instruction
Processor
Register
Address
bus
Data bus
Data
Memory
Embedded Computer
2009년 11월 16일
7
Memory Device
 Memory의 종류
구분
속도
가격
용도
SRAM
수ns~수십ns
비싸다
cache
DRAM
수십 ns
저렴
Main memory
EEPROM
수십 ns
비싸다
소 용량 data,
Program 저장
NAND
수십 ns
저렴
Data 저장
MP3등
NOR
수십 ns
비싸다
Program,
Data 저장
Volatile
Memory
Non
Volatile
memory
Flash
Embedded Computer
2009년 11월 16일
특징
Block 단위
Read/write
8
Cache memory system
CPU
400MHz
CPU
400MHz
66MHz bus
CPU
400MHz
CPU
400MHz
66MHz bus
고속의 CPU가 bus 및 memory
속도에 의존적이며 늦다.
Embedded Computer
CPU 주변에 고속의 buffer memory
를 두고 자주 사용되는 명령과 data를
저장하여 시스템 성능을 개선
2009년 11월 16일
9
MMU (Memory Management Unit)
 Address Translation 기능
▷ CPU에서 사용되는 logical 한 virtual address를
physical address로 변환
 Memory Protection 기능
CPU
Virtual
Address
Embedded Computer
MMU
Physical
Address
2009년 11월 16일
Memory
10
I/O Device
 CPU와 정보를 교환
I/O device
Interface signal
CPU Interface
signal
CPU
I/O
제어장치
CPU
Address, data,
Control slgnal
Embedded Computer
Serial, USB,
Ethemet
2009년 11월 16일
11
Interrupt Interface
 Interrupt Controller
▷ 입출력 장치에서 발생되는 Interrupt 요청을 제어한다.
▷ Hardware에 따라 Interrupt 응답을 위한 신호도 제공된다.
Interrupt Ack
CPU
Interrupt Beg
Interrupt
Controller
Mask
Pending
register
Embedded Computer
Interrupt Ack
I/O
장치
Interrupt Beg
2009년 11월 16일
12
Interrupt 발생에 의한
Processor flow control
Main Program Routine
ISR
(Interrupt Service
Routine)
Interrupt 발생
Interrupt 발생
ISR
(Interrupt Service
Routine)
Embedded Computer
2009년 11월 16일
13
Interrupt Vector
 Interrupt Vector
▷ ISB(Interrupt Service Routine)을 처리하기 위한 명령 또는 위
치가 저장된 Memory 공간
 Interrupt Vector Addressing Mode
▷ Fixed Interrupt
- Interrupt가 발생시 처리할 address가 지정되어 변경 불가.
- 지정된 address에 interrupt를 처리하기 위한 명령 또는 위치가
저장되어 있다.
▷ Vectored Interrupt
-일반적인 microprocessor 장치에서 여러 개의 주변장치가
시스템 버스에 연결되어 사용되는 경우
-주변장치가 Interrupt를 처리할 주소를 제공
Embedded Computer
2009년 11월 16일
14
ARM processor reister
 Register
Processor가 작업을 하기 위헤 사용되는 값을 일시 저장하는 공간
ARM 에는 32bit 길이의 37개 register가 있다.
Instruction
Memory
DATA
Reglster
A Bus
8 Bus
Barrel
Shifter
Immadlate
상수
Instructio
n
Decoder
ALU
ALU Bus
Embedded Computer
2009년 11월 16일
15