2019/09 7

CPU 레지스터 (Register) 의 이해 및 종류

CPU 레지스터 : 중앙처리장치(CPU) 내에 위치한 기억장치로 많은 수의 레지스터를 CPU내에 포함시키는 것은 어렵기 때문에 특수 목적용 레지스터들과 몇몇 일반 목적용 레지스터만 존재한다. 대표적인 레지스터의 종류 : PC (Program Counter) : 다음 인출(Fetch) 될 명령어의 주소를 가지고 있는 레지스터 AC (Accumulator) : 연산 결과 데이터를 일시적으로 저장하는 레지스터 IR (Instruction Register) : 가장 최근에 인출된 명령어(현재 실행 중인 명령어)가 저장되어 있는 레지스터 SR (Status Register) : 현재 CPU 의 상태를 가지고 있는 레지스터 MAR (Memory Address Register) : PC 에 저장된 명령어 주소가 사용..

CPU 클럭 주파수 (Clock Frequency)

CPU clock frequency 는 CPU 동작 속도를 의미하고, '초당 사이클'을 의미한다. (단위는 Hz) (사이클은 명령어가 요구하는 동작들을 수행하는 단위) Clock Frequency 1초 기준 사이클의 수 1 사이클 기준 걸리는 시간 1 Hz 1초에 1개의 사이클을 수행 1개의 사이클을 수행하는데 걸리는 시간은 1초 100 Hz 1초에 100개의 사이클을 수행 1개의 사이클을 수행하는데 걸리는 시간은 1/100 초 즉, Hz가 높을 수록 더 빠르게 처리하는 것을 알 수 있다.

하이퍼바이저 (hypervisor) 의 이해

하나의 컴퓨터에서 다수의 운영체제를 동시에 실행하기 위한 논리적인 플랫폼을 의미한다. 여기서 대상이 되는 컴퓨터는 호스트 컴퓨터라고 한다. 하이퍼바이저는 Type 에 따라 다음과 같이 두가지 형태로 나뉜다. Type - 1 : Native 혹은 Bare-metal hypervisor Hardware 위에서 바로 Hypervisor가 실행되는 구조 Type - 2 : Hosted hypervisor Type - 1 과 달리 Hardware 와 Hypervisor 사이에 호스트 운영체제가 존재하는 구조

OS 2019.09.16

Python - 지능형 리스트 (List Comprehension)/제너레이터 표현식 (Generator expression) 의 이해 및 비교

지능형 리스트 (List Comprehension) : Python 에서는 리스트 구성을 위해 항목을 하나하나 나열하는 방식외에 구문을 통해 sequence 형태의 데이터를 가공하여 리스트를 구성하는 방법을 제공하고 있다. 지능형 리스트를 사용하게 되면 코드가 간결해지고 상황에 따라서는 성능이 좋은 코드를 작성할 수 있다. 제너레이터 표현식 (Generator expression) : 지능형 리스트 (List Comprehension) 과 유사하지만 별도의 리스트는 생성하지 않고, iterator 를 생성하여 항목을 하나씩 처리할 수 있도록 한다. 지능형 리스트를 만든 후 하나씩 항목을 처리하여도 되지만 별도의 메모리 공간을 차지하지 않는다는 차이점이 있다. 지능형 리스트의 경우 대괄호 [] 를 사용하는..

Language/Python 2019.09.13

[Notepad++] '자동 완성' 기능 끄기

Notepad++ 을 사용하다 보면 앞서 나온 단어를 바탕으로 자동 완성 기능이 동작해 불편한 경우가 있다. Code 짤 때는 같은 변수를 사용하는 경우가 많아 유용할지 모르지만 일반 글을 작성할 때는 불편하여 해당 자동 완성 기능 종료가 필요하였다. 아래 화면과 같이 환경 설정 메뉴를 실행한다. [F10 > 설정 > 환경 설정] 환경 설정 팝업창을 보면 자동 완성 항목을 볼 수 있다. 아래와 같이 필요하지 않은 기능들을 모두 끄고 '닫기'를 선택한다. 이후 설정에서 빠져 나와 글을 작성해 보면 더 이상 자동 완성이 동작하지 않는 것을 볼 수 있다.

[CA] Pipelined Instruction 수행시 발생할 수 있는 Hazard 종류

Pipelined Instruction 수행시 발생할 수 있는 Hazard 의 종류 Sturcuctural Hazard Data Hazard Freezing the pipeline Forwarding Compiler Scheduling Control Hazard Optimized branch processing Branch prediction Delayed branch 1) Structural Hazard : 동일 자원(Resouce : Memory or register)에 대해 pipelined 된 다중 instruction이 동시에 접근하는 문제 (기본적으로 하나의 자원에는 하나의 instruction 만이 접근하여 사용할 수 있다.) 즉, 동일 Cycle에 서로 다른 instruction 에서 동일..

카테고리 없음 2019.09.08

Python - pathlib, File/Directory Path 관련 모듈

>>> from pathlib import Path >>> Path("/home/ubuntu") PosixPath('/home/ubuntu') pathlib 는 python 3.4 에서 처음 소개 되었다. 서로 다른 운영체제의 파일 시스템에서도 동일한 코드를 통해 동작할 수 있도록 Object-oriented (객체지향)으로 구현되어 있는 특징이 있다. I/O 동작 포함 여부에 따라 다음과 같이 2가지 형태로 구분된다. PurePath : 실질적인 File system 접근 (I/O 동작) 없이 File/Directory Path 만 계산 PurePosixPath : non-Windows 파일 시스템의 특성에 따라 동작 수행 PureWindowsPath : Windows 파일 시스템의 특성에 따라 동작 ..

카테고리 없음 2019.09.02