전체 글

전체 글

    Computer Architecture - Processor Mode

    Computer Architecture - Processor Mode

    목차 PSR 프로세서 모드 예외 처리 PSR(Program Status Registers) PSR은 말 그대로 현재 프로그램이 가지고 있을 상태/옵션을 저장하는 레지스터입니다. 현재 상태인 CPSR(Current PSR)과 5개의 SPSR(Saved PSR)이 있으며, SPSR은 프로세서 모드에 각각 1개씩 총 5개의 모드에 5개의 SPSR이 있습니다. 이 PSR들은 특수한 명령어들로만 조작 가능합니다. PSR은 32비트의 공간을 쪼개서 상태/옵션에 대한 정보를 담습니다. ○Condition code flags : ALU의 연산 결과에 flag 정보. N(마이너스), Z(0), C(Carry. 올림/내림,Shift연산 넘어갈 때), V(oVerflow 발생인 경우) ○ Sticky Overflow fla..

    Computer Architecture - Registers and Instruction Set

    Computer Architecture - Registers and Instruction Set

    목차ARM 데이터 크기, 명령어 셋ARM Register Set명령어 셋VFP, NEON Data sizes and Instruction SetsARM은 RISC 아키텍쳐입니다. 그래서 대부분의 명령어는 싱글 사이클에 실행됩니다. ARM은 32bit load/store 아키텍쳐입니다. 대부분의 내부 레지스터는 32비트 폭을 가지고 있고, 허용되는 메모리 엑세스는 loads / sotres 2가지 경우입니다.ARM에서 사용하는 경우 다음 3가지 크기로 데이터가 쓰입니다.Halfwrod = 16 bits (2 bytes)Word = 32 bits (4 bytes)Double Word = 64 bits (8 bytes)대부분 ARM 코어는 2가지 명령어 셋을 포함합니다.1. 32-bits 크기에 Arm Ins..

    OS - Thread

    목차스레드스레드 라이브러리(POSIX Pthread)프로세스와 스레드에 대한 고찰스레드풀OpenMPTLS(Thread - Local Storage) 스레드(Thread)애플리케이션은 여러 작업(task)를 할 수 있습니다. 디스플레이를 업데이트하고, 네트워크 통신을 하며, 데이터를 가지고 올 수도 있습니다. 이때 여러 프로세스로 각각의 일을 하는 것보다 한 프로세스가 내부에서 여러 실행 흐름, 실행 유닛을 가지는 방식이 더 단순한 코드와 효율성 증대되고 더 가볍습니다. 커널과 많은 프로그램이 현재 멀티스레드 방식을 사용합니다.프로세스 속 스레드는 스택, PC(Program Counter. 레지스터 실행 위치), 레지스터를 제외하고 code, data, files, heap 공간을 공유합니다. 프로세스는 ..

    컴퓨터네트워크 - Application Layer

    컴퓨터네트워크 - Application Layer

    목차Application LayerSocketsHTTP (HTTP/3)WEB Cache(Proxy Server)DNS Application Layer (사용자 공간 User Space)네트워크는 결국 처음부터 끝까지 "프로토콜"에 대한 이야기이고, 애플리케이션 레이어는 애플리케이션, 즉 프로세스(웹 브라우저 등)를 위한 통신 프로토콜 규약에 대한 이야기입니다.Network APP웹 브라우저, 이메일, 멀티 게임, 유튜브 등 스트리밍, VOIP 등등 Network APP은 네트워크를 사용하는 프로그램들입니다.Network APP은 다음 2가지 경우가 있습니다.■Client-Server paradigm (HTTP, FTP..)서버를 사용하는 방식.-서버-Always on host. 항상 호스트가 켜져있습니다..

    프로그래머스 - k진수에서 소수 개수 구하기(92335)

    링크 : https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 양의 정수 n을 k진수로 바꿨을 대, 아래 조건에 맞는 소수가 몇개인지 확인하시오. 0P0 처럼 소수 양쪽이 0 인 경우 P0처럼 소수 오른쪽에만 0이 있고 왼쪽에는 아무것도 없는 경우 0P처럼 소수 왼쪽에만 0이 있고 왼쪽에는 아무것도 없는 경우 P처럼 소수 양쪽에 아무것도 없는 경우 단, P는 각 자릿수에 0을 포함하지 않는 소수입니다. (ex : 101은 P가 될 수 없습..

    OS - Processes

    OS - Processes

    프로세스 (Process) 목차프로세스프로세스 State간단 스레드프로세스 스케줄링Context Switch프로세스 생성프로세스 통신 프로세스 (Process)컴퓨터에서 실행되고 있는 프로그램으로, 하드디스크에 저장되어 있는 프로그램을 메모리에 할당한 상태인 프로그램입니다. 프로그램 = Passive, 프로세스 = Active프로세스의 메모리 영역은 아래와 같은 부분들로 구성되어 있습니다.프로그램 카운터, 프로세서 레지스터Text or Code: 프로그램 코드 저장 부분 - passiveData : 초기값 있는 전역 변수, 정적 변수 - passiveBss : 초기값 없는 전역 변수, 정적 변수 - passiveHeap : 동적할당 변수 공간 - active공유 라이브러리 : 공유 라이브러리 공간Stac..

    프로그래머스 - 튜플(64065)

    링크 : https://school.programmers.co.kr/learn/courses/30/lessons/64065 문제 설명 셀수있는 수량의 순서있는 열거 또는 어떤 순서를 따르는 요소들의 모음을 튜플(tuple)이라고 합니다. n개의 요소를 가진 튜플을 n-튜플(n-tuple)이라고 하며, 다음과 같이 표현할 수 있습니다. (a1, a2, a3, ..., an) 튜플은 다음과 같은 성질을 가지고 있습니다. 중복된 원소가 있을 수 있습니다. ex : (2, 3, 1, 2) 원소에 정해진 순서가 있으며, 원소의 순서가 다르면 서로 다른 튜플입니다. ex : (1, 2, 3) ≠ (1, 3, 2) 튜플의 원소 개수는 유한합니다. 원소의 개수가 n개이고, 중복되는 원소가 없는 튜플 (a1, a2, a..

    Computer Architecture - Overview

    Computer Architecture - Overview

    Computer Architecture1. 소프트웨어 계층 : 크게 3가지로 하드웨어, 시스템 소프트웨어, 애플리케이션 소프트웨어로 구분합니다.OS : 메모리와 저장장치 할당, 입/출력 동작 처리, 애플리케이션 병렬 처리, ...etc컴파일러 : 고수준(High-level) 언어를 바이너리로 된 머신 코드로 변환2. 고수준 언어 → 머신 코드○ 고수준 언어 : C와 같은 언어로 표준화된 규격이 있습니다.○ 어셈블리어 :  머신코드와 1:1 대응되는 저수준 언어입니다. tool 제조사, 아키텍쳐별로 구문(Syntax)이 다릅니다.○ 머신코드 : 기계어로 CPU가 직접 실행할 수 있는 비트 단위로 쓰인 컴퓨터 언어입니다.과정 : Compiling, Assembling, Linking, Building(빌드하..