분류 전체보기 170

Raspberry Pi(라즈베리파이) IP 확인

라즈베리파이에서 직접 개발하기보다 개발환경에서 라즈베리파이를 연결할 때, IP를 확인해봅시다. 1. 라즈베리파이에 할당된 네트워크 정보 확인 - eth0 : 유선 네트워크 | wlan0 : 무선 네트워크 라즈베리파이 터미널에서 ip값 확인 pi@raspberrtpi:~ $ ifconfig 2. vi Editor를 이용하여 고정 IP로 변경 - 유동. IP환경이 불편하다면, 고정 IP로 바꿔보자 pi@raspberrtpi:~ $ sudo nano /etc/dhcpcd.conf 또는 pi@raspberrtpi:~ $ sudo vi /etc/dhcpcd.conf 입력 후, # Example static IP configuration: 부분에 주석 해제 후, 본인이 설정하고자 하는 고정 IP값 입력한다. 그 후..

ISA (Instruction Set Architecture - by The LC-3)

0. Intro 지금까지 언급한 ISA(Instruction Set Architecture)의 정체는 무엇일까? ISA도 결국 특정 규칙과 체계를 가지고 있는 하나의 언어이다. 다만, 한국말이나 영어와 같은 자연어가 아니고, C 언어나 자바와 같은 고급 언어도 아니며, CPU가 이해할 수 있는 0과 1로 이뤄진 기계어일 뿐이다. 이번 포스팅에서는 ISA의 개념에 대해 명확히 이해해 보고, 우리가 공부해볼 LC-3라는 교육용 ISA의 명령어 체계에 대해 구체적으로 한 번 알아볼 것이다. 1. ISA (Instruction Set Architecture) ISA는 해당 CPU가 어떤 데이터들을 대상으로 어떤 연산들을 수행할 수 있는지, 어떤 종류의 레지스터들을 몇 개 사용하는지, 어떤 구조의 메모리와 호환이..

Von Neumann Model (폰 노이만 구조)

1940년대 말에 폰 노이만(Von Neumann)이 제시한 아이디어로, 그는 인류 역사상 위대한 천재 중 한 명으로 꼽힌다. 미국에서 수학자&물리학자로서 넓은 분야에서 활동하던 인물로, 컴퓨터 분야에서도 지금까지 언급될 만큼 위대한 업적을 남겼다. 바로 현대 컴퓨터의 기본 구조를 확립한 것이다. 0. Stored-Program Computer (프로그램 내장식 컴퓨터) - 현대 컴퓨터의 기본 구조 폰 노이만은 EDVAC이라는 컴퓨터에 대한 보고서의 초안에서 메모리에 프로그램이 저장되는 방식을 소개하며, 훗날 폰 노이만 구조라 불리는 컴퓨터 아키텍쳐를 제안하였다. 전자식 기억장치에 프로그램 명령어를 저장하는 전산기이다. 폰 노이만 구조는, 프로그램 데이터와 명령어 데이터를 같은 메모리에 저장하는 프로그램..

CPU & System BUS

명령어 처리 절차 (Instruction Processing) 1. FETCH 메모리에 저장된 명령어를 읽어오는 과정이다. PC에 저장된 메모리 주소를 MAR에 저장하여 명령어를 MDR로 읽어 들이고, MDR에 저장된 명령어를 IR로 옮기면 된다. 그리고 PC의 값을 1만큼 증가시켜서 다음 FETCH를 수행할 때는 바로 다음에 위치한 명령어를 읽을 수 있게 한다. 2. DECODE 명령어가 어떤 종류의 명령인지 파악하는 과정이다. 명령어의 opcode에 해당하는 부분을 CPU 내 Decoder에 입력하여 어떤 명령인지 파악하고, 그것에 따라 opcode를 제외한 나머지 비트를 해석하는 방법을 결정하게 된다. 예를 들어 ADD 명령어는 opcode를 제외한 하위 비트 중 어떤 부분은 첫 번째 피연산자에 해..

심리 음향

소리의 물리적 특성이 동일하더라도 소리는 종종 청자에 따라 다르게 인식되곤 한다. 심리음향이란 공간에서 발생하는 소리라는 물리적 현상을 인간은 기계적으로 받아들이지 않고 주관적이고 감각적으로 인식하는 것을 연구하는 분야가 심리 음향이다. 변 수 내 용 특 성 물리적 변수 압력(pressure) 주파수(frequency) 스펙트럼(spectrum) 지속시간(duration) envelope 소리에 관련된 현상을 객관적으로 설명 주관적 변수 Loudness Pitch Timble Duration 소리의 경험 인간의 주관적인 속성을 감안 LOUDNESS PITCH TIMBLE DURATION PRESSURE 강 약 약 약 FREQUENCY 약 강 약 약 SPECTRUM 약 약 강 약 DURATION 약 약 약..

소리의 물리량

소리는 일반적으로 진동으로 인한 공기의 압축으로 생성된다. 그 압축이 얼마나 되었느냐에 따라서 표현되는 것이 바로 Wave(파동)이다. 파동은 진동하며 공간/매질을 전파해 나가는 현상이다 (소리는 종파이다). 질량의 이동은 없지만 에너지/운동량의 운반은 존재한다. 파동에서 얻을 수 있는 물리량은 크게 세 가지이다. 1. Amplitude: 진폭 2. Frequency: 주파수 3. Phase: 위상

LINUX에서 Cmake 설치하기

Linux에서 Build를 위해서는 cmake가 필요하다.​cd .. // Build 하려는 디렉토리 이동mkdir build; cd buildcmake .. // cmake를 실행한다. Error 발생 시 cmake를 설치해야한다.make./DNN_yolo ​https://cmake.org/download/  $ wget https://github.com/Kitware/CMake/releases/download/v3.28.0-rc3/cmake-3.28.0-rc3.tar.gz // wget을 통해 cmake tar 파일을 다운로드  2023. 11. 2 현재 최신버전이 cmake-3.28.0-rc3이다.그 이후에 압축..

LINUX OpenSSL 설치하기

LINUX OpenSSL 설치하기 cmake 하던 중간에 종종 make나 sudo make install에서 오류가 뜨는 경우가 있다.그럴 때는 OpenSSL을 설치한다.​https://www.openssl.org/source/ 위 사이트에 들어가서, openssl-1.1.1w.tar.gz를 마우스 우클릭 후에 링크 복사를 한다. ( 2023-Sep-11, 가장 최신 버전) // wget으로 Download. wget이 없으면 yum install wget (Redhat) || apt-get install wget (Ubuntu)$ wget https://www.openssl.org/source/openssl-1-1-1w.tar.gz// tar xvfz로 압축풀기..

Linux : Build System (Makefile, CMake)

Intro : C 프로그래밍 작업 순서Ⅰ. 프로그램을 작성Ⅱ. 컴파일러를 통해 컴파일 진행Ⅲ. 링크 진행Ⅳ. 실행파일 생성      Ⅰ. 프로그램 작성  자신이 구현하고자 하는 것을 C언어를 사용하여 논리적으로 작성한다.(이렇게 작성된 것을 Source-Code라 한다.)  이렇게 프로그램을 작성하는 과정을 흔히 코딩(coding)이라 한다. C/C++에서 우리가 작성한 소스 코드를 실제 실행할 수 있는 실행 파일로 변환하기 위해서는 빌드라는 과정이 필요하다.이 과정은 전처리(Preprocessing), 컴파일(Compile), 어셈블링(Assemble), 링킹(Linking) 순서로 이루어진다.     Ⅱ. 컴파일러를 통해 컴파일 진행  C언어를 이용해 작성한 코드를 컴퓨터가 이해할 수 있도록 기계어로..