Study/임베디드시스템및실험

[Lecture 01] Embedded System

ansui 2023. 10. 15. 01:27

Lecture 01_Embedded System

 


< Embedded System >

: Combination of computer hardware and software design for a specific function

 

- Embedded systems may also function within a larger system.

- The system can be programmable or have a fixed functionality.

 

Ex) Industrial machines, consumer electronics, agricultural and processing industry devices,

automobiles, medical equipment, cameras, digital watches, household appliances, airplanes,

vending machines, toys, mobile devices

 

 

 

< 실습에서 사용하는 임베디드 시스템 >

 

 

< Microarchitecture >

- Processors

: A processor appears to be a simple implementation of its ISA,

but processors use far more complex mechanisms for speed up program execution.

: processor's ISA - describing the effect of each machine-code instruction (각각의 기계 코드 명령어의 효과)

↔ Microarchitecture - describing how the processor is actually implemented (실제 프로세서가 어떻게 실행되는지)

 

*ISA (Instruction Set Architecture)

 

 

< ARM vs. X86 >

- X86

: X86 refers to Intel processor's family starting from 8086,

and it later releases 80186, 80286, 80386, 80486, Pentium and Xeon etc.

: Number 86 in X86 denotes the last 2 digits of its earlier processors.

: X86 dominates desktop, workstation, laptop, server markets.

: Initial chips were 16 bits, and later versions were 32 and 64 bits.

 

-  ARM

: ARM originally started as Acorn RISC Machine by ARM Holdings, developed ARM, ARM2 32-bit processors

with minimal transistors that had lower power consumption/heat dissipation.

: ARM edged out Intel processors in speed and long battery life. (ARM > Intel X86)

: Collaborated with Apple and VLSI to float a new company Advanced RISC Machines.

: ARM processors are extensively used in mobile devices.

 

 

< How does your computer work? >

Algorithm → High Level Language Assembly Language Machine Language

Hard-Disk Main Memory Processor(CPU/GPU)

 

*Compiler: high level language assembly language

*Assembler: assembly language machine language

 

 

< Hardware Organazation >

 


< IEEE Spectrum's Ranking: Top 10 Programming Language >

: 주로 Python, C, Java를 사용한다.

 

 

< Python >

- High-level, general-purpose programming language.

- indentation(들여쓰기)를 통한 readability(가독성)을 중요시한다.

- dynamically typed and garbage-collected

- It supports multiple programming paradigms,

including structed (particularly procedural), object-oriented and functional programming

-  its comprehensive standard library → "batteries included" language

 

 

 

< C Programming Language >

: General-purpose computer programming language

 

- Procedure language(절차적인 언어): Instructions in a C program are executed step by step

- Portable: C programs를 다른 platform으로 옮길 수 있고 changes 없이 실행 가능 

- Speed: C programming is faster than most programming languages like Java, Python, etc.

- General purpose: C can be used to develop operating systems, embedded systems, databases...

 

→ While C has been a versaitile(다목적의) programming language,

it has been the most suitable one when it comes to Embedded Systems.

 

 

< C++ >

: High-level, general-purpose programming language

- object-oriented(객체지향), generic(일반화),  functional features, facilities for low-level memory manipulation

- 대부분의 컴파일된 언어로 구현되며, 다양한 업체에서 C++ 컴파일러를 제공한다.

(Free Software Foundation, LLVM, Microsoft, Intel, Embarcadero, Oracle, and IBM)

 


< FreeRTOS >

: Real-time operating system kernel for embedded devices

- originally developed by Richard Barry around 2003

- later developed and maintained by Barry's company, Real Time Engineers Ltd.

- In 2017, the firm passed stewardship of the FreeRTOS project to Amazon Web Services (AWS).

- Barry continues to work on FreeRTOS as part of an AWS team.

 


자료는 이화여자대학교 윤명국 교수님의 임베디드시스템및실험 강의에서 가져온 것입니다.