728x90
728x90

2017/10 23

ARM에 대한 기초적인 지식

ARM;Advanced RISC Machine여러 회사의 투자를 통해 설립한 회사로 ARM 프로세서 코어를 IP(Intellectual Property;지적 재산권) 형태로 무수히 많은 반도체 제조 회사에 라이센싱함. 32 bit 임베디드 프로세서 시장의 70% 이상 차지하며, 저전력 고성능 퍼포먼스로 휴대용 장치에 많이 사용됨. 16 bit 명령어, Java 코드 가속, DSP 기능, 보안 기능을 제공함. - ARM CoreARM 프로세서의 명령어 셋을 실행가능한 HW로 이를 ARM 코어의 HW 구조를 ARM 구조라고도 함. ARM 시스템 코어가 구조와 성능 결정함. 하드 매크로 셀과 합성 가능한 코어로 제공. 하드 매크로 셀;Hard Macrocell(레이아웃 수준 설계, 설계 변경 불능, 코어 크기..

ARM 레지스터

일반 목적 30개PC(Program Counter) 1개상태 레지스터 6개(CPSR 1 + SPSR 5) CPSR : 현재 프로세서 상태를 저장, 모든 모드들이 공용으로 사용SPSR : 모드 변경 시 이전 모드의 상태값 저장, 예외 모드에 하나씩 주어짐 특수 레지스터 #Stack Point(SP) - 프로그램의 스택 위치를 저장하는 레지스터- ARM은 모드별 스택을 따로 사용해 모드별로 SP 필요 #Link Register(LR) - 서브루틴으로 분기할 때 되돌아 올 주소를 저장하기 위한 레지스터- 모드별로 할당 #Program Counter(PC) - 프로그램의 위치를 저장- 하나만 존재해 모든 모드가 공용 사용 상태 레지스터 - ARM의 상태를 저장하기 위한 레지스터 (CPSR 1개 + SPSR 5개..

C++] 명품 C++ 프로그래밍 6장 실습문제

개인적으로 C++을 공부할 때 작성해놓았던 코드들을 찾았다.혼자 책을 사서 독학하던 시절에, 그리고 학부생 시절에 복습하면서 했던 문제들이라서어떤 문제들은 깔끔히 잘 정리되어 있고, 어떤 문제들은 허접한 버그가 있을 수도 있다.확인은 해뒀지만, 확인하지 못하거나 고려해야 할 버그, 오탈자 등은 댓글을 남겨주시라. 그간 공부한 것들을 정리하는 블로그이기 때문에 올려놓는다. 실습문제 1. add() 함수를 호출하는 main() 함수는 다음과 같다. add() 함수를 중복 작성하고, 프로그램을 완성하라. 디폴트 매개 변수를 가진 하나의 add() 함수를 작성하고 프로그램을 완성하라. #include using namespace std; /* 1 */ /* int add(int* arr1, int size) {..

C++] 명품 C++ 프로그래밍 5장 실습문제

개인적으로 C++을 공부할 때 작성해놓았던 코드들을 찾았다.혼자 책을 사서 독학하던 시절에, 그리고 학부생 시절에 복습하면서 했던 문제들이라서어떤 문제들은 깔끔히 잘 정리되어 있고, 어떤 문제들은 허접한 버그가 있을 수도 있다.확인은 해뒀지만, 확인하지 못하거나 고려해야 할 버그, 오탈자 등은 댓글을 남겨주시라. 그간 공부한 것들을 정리하는 블로그이기 때문에 올려놓는다. 실습문제 1. 두 개의 Circle 객체를 교환하는 swap() 함수를 '참조에 의한 호출'이 되도록 작성하고 호출하는 프로그램을 작성하라. #include using namespace std; void swap(int& a, int& b) { int tmp; tmp = a; a = b; b = tmp; } int main() { int..

C++] 명품 C++ 프로그래밍 4장 실습문제

개인적으로 C++을 공부할 때 작성해놓았던 코드들을 찾았다.혼자 책을 사서 독학하던 시절에, 그리고 학부생 시절에 복습하면서 했던 문제들이라서어떤 문제들은 깔끔히 잘 정리되어 있고, 어떤 문제들은 허접한 버그가 있을 수도 있다.확인은 해뒀지만, 확인하지 못하거나 고려해야 할 버그, 오탈자 등은 댓글을 남겨주시라. 그간 공부한 것들을 정리하는 블로그이기 때문에 올려놓는다. 실습문제 1. 다음은 색의 3요소인 red, green, blue로 색을 추상화한 Color 클래스를 선언하고 활용하는 코드이다. 빈칸을 채워라. red, green, blue는 0~255의 값만 가진다. #include using namespace std; class Color { int red, green, blue; public: ..

백준 알고리즘] 13301 - 타일 장식물(KOI 2016 전국)

시간 제한 : 2 초메모리 제한 : 512 MB 문제대구 달성공원에 놀러 온 지수는 최근에 새로 만든 타일 장식물을 보게 되었다. 타일 장식물은 정사각형 타일을 붙여 만든 형태였는데, 한 변이 1인 정사각형 타일부터 시작하여 마치 앵무조개의 나선 모양처럼 점점 큰 타일을 붙인 형태였다. 타일 장식물의 일부를 그리면 다음과 같다. 그림에서 타일에 적힌 수는 각 타일의 한 변의 길이를 나타낸다. 타일 장식물을 구성하는 정사각형 타일 한 변의 길이를 안쪽 타일부터 시작하여 차례로 적으면 다음과 같다. 1, 1, 2, 3, 5, 8, ... 지수는 문득 이러한 타일들로 구성되는 큰 직사각형의 둘레가 궁금해졌다. 예를 들어, 처음 다섯개의 타일이 구성하는 직사각형(위에서 빨간색으로 표시한 직사각형)의 둘레는 26..

임베디드 시스템(Embedded System) 마이크로 프로세서

마이크로 프로세서(MicroProcessor) 분류 데이터 처리 단위(CPU의 처리 데이터 기본 단위, 4, 8, 16, 32, 64 bit)명령어 구조(명령어 수/복잡도, RISC;Reduced Instruction Set Computer, CISC;Complex Instruction Set Computer)메모리 연결(CPU/메모리 간 연결 방식, 폰노이만식, 하바드식)사용 용도(MCU;MicroController Unit, ASP;Application Specific Processor, MPU;Micro Processing Unit, DSP;Digital Signal Processor) 상용 마이크로프로세서 1. 32bit x86인텔에서 나온 범용 컴퓨터용 프로세서들을 통칭하며, 대부분 범용 컴퓨터..

백준 알고리즘] 5598 - 카이사르 암호(JOI 2007)

시간 제한 : 1 초메모리 제한 : 512 MB 문제가이우스 율리우스 카이사르(Gaius Julius Caesar)는 고대 로마 군인이자 정치가였습니다. 카이사르는 비밀스럽게 편지를 쓸 때, 'A'를 'D로', 'B'를 'E'로, 'C'를 'F'로... 이런 식으로 알파벳 문자를 3개씩 건너뛰어 적었다고 합니다. 26개의 대문자 알파벳으로 이루어진 단어를 카이사르 암호 형식으로 3문자를 옮겨 겹치지 않게 나열하여 얻은 카이사르 단어가 있습니다. 이 카이사르 단어를 원래 단어로 돌려놓는 프로그램을 작성하세요. 각 문자별로 변환 전과 변환 후를 나타낸 건 아래와 같습니다. 변환전 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 변환후 D E F G H I J K ..

임베디드 시스템(Embedded System) 구조

임베디드 시스템 vs 범용 컴퓨터 프로세서 내장(프로세서, 메모리, 입출력 장치)로 구성되는 구조를 갖고, 하드웨어 성능 향상과 소프트웨어의 유연성 측면에서 두 가지 모두 고려하는 공조설계가 가능함. 또한, 소프트웨어 사용을 통해서 시스템 설계, 구현 시간 단축, 기능 확장성 등에서 용이함. 범용 컴퓨터의 범용성과 시스템 유연성이 떨어지는 것은 임베디드 시스템에서 특정 응용 분야에 최적화하는 과정, 그 과정에서의 성능 향상 추구로 인해 발생하는 부분. 주요 레지스터 PC;Program Counter다음 실행할 명령어가 저장된 프로그램 메모리의 주소값을 저장(프로그램 실행위치 저장)하며, PC 값을 변경해 프로그램의 실행 흐름 제어 IR;Instruction Register프로그램 메모리에서 읽어온 명령어..

백준 알고리즘] 13300 - 방 배정(KOI 2016 전국)

시간 제한 : 2 초메모리 제한 : 512 MB 문제정보 초등학교에서는 단체로 2박 3일 수학여행을 가기로 했다. 여러 학년이 같은 장소로 수학여행을 가려고 하는데 1학년부터 6학년까지 학생들이 묵을 방을 배정해야 한다. 남학생은 남학생끼리, 여학생은 여학생끼리 방을 배정해야 한다. 또한 한 방에는 같은 학년의 학생들을 배정해야 한다. 물론 한 방에 한 명만 배정하는 것도 가능하다. 한 방에 배정할 수 있는 최대 인원 수 K가 주어졌을 때, 조건에 맞게 모든 학생을 배정하기 위해 필요한 방의 최소 개수를 구하는 프로그램을 작성하시오. 예를 들어, 수학여행을 가는 학생이 다음과 같고 K = 2일 때 12개의 방이 필요하다. 왜냐하면 3학년 남학생을 배정하기 위해 방 두 개가 필요하고 4학년 여학생에는 방을..

728x90