안녕하세요. 개발자 WH입니다.
개발자가 관련 글을 쓸 때, 굉장히 행복함을 느낍니다.
뭐 여튼 시작할게요.
가장 기초에요. 컴퓨터 구조를 알아야 하는 이유가 무엇일까요? 사실 많은 개발자가 있지만, 임베디드를 하시는 분이라면, 반드시 알아야 한다고 생각합니다. 응용 소프트웨어 단에서 알면 좋은 정도지만, 임베디드는 아직 컴퓨팅 능력이 현재 컴퓨터를 따라가지 못하는 것 또한 사실이거든요.
가장 먼저 여러가지 이론을 다루기보다
가장 기본적인 것을 짚고 넘어가겠습니다.
임베디드 소프트웨어 개발을 한다는 것은 궁극적으로 무엇일까요?
그것은 바로 ' 입출력을 관리한다 '라고 말씀드리고 싶습니다.
즉 쉽게 설명해 드리면,
우리는 서비스를 이용할 때 특정 응용 소프트웨어를 사용합니다.
그런데 이런 응용 소프트웨어는 연산이라고 표현할 수 있겠습니다.
가장 기본 적인 덧셈, 뺄셈 나아가 복잡한 AI까지
결국 큰 틀에서 보자면 연산인 것이지요.
그러면 임베디드 시스템 개발자가 하는 것은 무엇일까요.
바로 하드웨어와 소프트웨어 사이의 인터페이스를 설계(?) 하는 것입니다.
흐름도로 보자면
1. 하드웨어 입력
2. 인터페이스를 통해 응용 소프트웨어 연산
3. 하드웨어 출력
이런 매우 단순화된 흐름을 따릅니다
여기까지 쉬운가요? 이제 우리가 컴퓨터 구조를 알아야 하는 이윱니다.
하드웨어 설계 과정까지 알 필요는 없습니다.
다만, 각 하드웨어 스펙이 의미하는 바를 알아야
효율적으로 소프트웨어를 활용할 수 있게 되는 것이지요
위에 말한 흐름을 고전적 구성 요소에 대입하면,
입력, 출력, 메모리, 데이터 패스, 제어 유닛에 속하게 되고
( ch. 데이터 패스( datapath ) + 제어( control ) = 프로세서( processor )라 부름 )
해당 유닛들이 어떻게 작동하는 지를 보게 됨으로써
입, 출력 관리를 보다 잘 할 수 있게 되는 것이지요
하나만 기억합시다. 우리의 목적은
입 출력을 원활히, 효율적으로 만드는 일입니다.
그 다음 글부터는 이론적인 내용으로 돌아오록하겠습니다.
이상 WH였습니다.
'컴퓨터 구조론( MIPS )' 카테고리의 다른 글
명령어 : 컴퓨터 언어 5 (0) | 2022.02.07 |
---|---|
명령어 : 컴퓨터 언어 4 (0) | 2022.02.07 |
명령어 : 컴퓨터 언어 3 (0) | 2022.02.07 |
명령어 : 컴퓨터 언어 2 (0) | 2022.02.07 |
명령어 : 컴퓨터 언어 1 (0) | 2022.02.07 |