본문 바로가기

분류 전체보기85

[ARM] Operating modes와 Exceptions ARM에는 7가지 동작 Mode가 있다. 그중 User Mode를 제외한 나머지 6가지 Mode는 Privileged Mode로 분류된다. Privileged Mode는 이름에서 알 수 있듯이 ARM의 상태 레지스터인 CPSR에 접근할 수 있는 특권을 가진다. 7가지 Operating Mode는 다음과 같다. User Mode: Normal Program execution mode System Modes: Run privileged operating system tasks IRQ(Interrupt Request) Mode: : When a low priority (normal) interrupt is raised FIQ(Fast Interrupt Request) Mode: When a high prior.. 2021. 12. 8.
[ARM] Addressing mode Addressing mode란 인스트럭션이 데이터를 처리할 때 데이터를 가져오는 방법 즉, 피연산자(operand)를 가져오는 방법 크게 direct와 indirect 방법으로 구분됨 Name Assembler syntax Addressing function Direct Immediate #Value Operand = Value Register Ri EA = Ri Absolute LOC EA = LOC Indirect Register indirect (Ri) EA = [Ri] Index X(Ri) EA = [Ri] + X Base with index (Ri, Rj) EA = [Ri] + [Rj] ARM의 CISC적인 측면 중 하나가 Autoincrement, autodecrement를 지원한다는 점이다... 2021. 12. 8.
OpenAI GYM 간단한 사용법 (feat. FrozenLake) * 해당 자료는 김성훈 교수님의 모두를 위한 강화학습을 참고하여 작성하였습니다. OpenAI GYM 강화학습에는 에이전트와 환경이 있습니다. 에이전트는 어떤 행동을 하고 에이전트가 행동을 할 때마다 환경 속에서의 상태는 바뀌게 됩니다. 강화학습을 하려면 에이전트와 환경이 있어야 되는 데 이 때 환경을 만드는 일은 복잡하고 귀찮은 일입니다. OpenAI GYM은 강화학습 환경을 만들어주는 프레임워크입니다. OpenAI GYM으로 강화학습 환경을 만들어 사용하면 환경을 구성하는 데 신경쓸 것 없이 주어진 환경에서 강화학습 알고리즘에 집중할 수 있습니다. GYM은 다음 명령어로 설치할 수 있습니다. pip install gym FrozenLake FrozenLake는 OpenAI GYM에서 제공하는 환경 중 .. 2021. 11. 9.
[ARM] conditional execution이란 Overview 거의 모든 ARM instruction은 conditional execution이라는 재밌는 특징을 가집니다. 이에 대해 알아봅시다. conditional execution은 ARM의 레지스터인 CPSR의 상태에 따라 조건부로 instruction을 실행하는 것을 말합니다. ADD r1, r2, r3 흔히 볼 수 있는 어셈블리 명령어입니다. 위의 명령어를 수행하면 r2와 r3 값을 더해서 r1에 저장하겠죠. 특별한 문제가 없다면 항상 실행될 것입니다. ADDEQ r1, r2, r3 그렇다면 이 명령어는 어떠할까요? ADD명령어 뒤에 EQ가 붙었습니다. 이 명령어는 항상 실행되지 않습니다. 명령어를 수행하기 전 CPSR의 30 번 째 비트인 Z를 확인하고 이 값이 1인 경우에만 실행합니다... 2021. 10. 1.
2021 추석 가족 여행 첫 날 일정 출발 전. 다들 때깔이 좋다. 중간에 카페에서 당도 보충해준다. 오늘의 목적지 도착 동생 사진도 좀 찍어주고 주변에 절도 있다. 그리고 고기 구워 먹을 준비. 크기가 어마어마하다. 고구마 맞나? 땅콩 물로 씻겨준다. 맛있는 고기. 고기 사진을 안찍었네. 둘째 날. 날이 좋았다. 당은 보충해줘야지. 도착! 뷰가 너무 좋다. 마지막 날. 11시에 출발해서 8시간 반 정도 걸려서 도착했다. 비가 오네? 끝. 2021. 9. 22.
[Linux] Vim 설치 및 vimrc 설정 vim 설치 sudo apt install vim vim 설정 vim 설정을 위해 .vimrc 파일을 수정합니다. .vimrc 파일은 홈 디렉토리에 존재해야 합니다. vi ~/.vimrc vimrc 파일을 수정하고 :wq로 저장하고 나옵니다. set smartindent set shiftwidth=4 set showmatch set smartcase set ruler set hlsearch set tabstop=4 syntax on colorscheme delek 코드를 작성하여 설정이 잘 적용됐는지 확인합니다 2021. 9. 12.