반응형

CPU 9

[TIL] mmap()

mmap() - Memory Mapping 1) 파일 처리 성능 개선 기법 - 메모리에 파일을 매핑하기 프로세스에서 파일을 읽을 때, OS의 System Call을 시작으로 저장 매체에 접근하고 파일을 읽기까지의 과정이 복잡하고 오래 걸린다 또한, 내부적으로 OS가 처리해야 하는 과정이 많아 CPU의 성능이 떨어지기 때문에 파일에 접근하는 과정의 효율성을 높이기 위해 사용하는 함수가 mmap() 이다 2) mmap() 의 동작 방식 mmap() 은 파일의 내용을 메모리에 맵핑하여 올려서 파일이 마치 메모리에 있는 배열처럼 동작하게 만든다 파일을 읽기 위해서 저장 매체에 접근하는 것이 아닌 메모리의 데이터에 접근하는 방식이다 OS의 개입과 저장 매체로의 접근이 필요하지 않아 성능이 개선된다  3) mmap..

TIL 2024.10.22

[TIL] DMA, Direct Memory Access

직접 메모리 접근 DMA, Direct Memory Access CPU 개입 없이 주변 장치가 메모리에 접근하는 하드웨어 기능 주변 장치의 데이터는 장치 컨트롤러에 의해 로컬 버퍼로 이동하며, 특히 전송할 데이터 양이 많을 경우 더욱 효과적이다 전송할 데이터가 많은 경우 많은 양의 데이터 이동으로 인한 부담을 줄이기 위해 DMA를 이용한다 장치 컨트롤러가 데이터의 한 블록을 이동시키는 과정에서 CPU의 개입을 없애고, CPU에서는 데이터 이동이 완료되었다는단 한 번의 인터럽트만 발생시킴으로써, 데이터가 전송되는 동안 CPU는 다른 작업을 수행할 수 있어 효율성이 높아진다  DMA 작동 방식1. DMA 컨트롤러DMA 연산은 DMA 컨트롤러라는 특수한 하드웨어에 의해 수행된다이 컨트롤러는 주변 장치와 메모..

TIL 2024.10.21

[혼공컴운] CH09 운영체제 시작하기

CH09 운영체제 시작하기09-1 운영체제를 알아야 하는 이유운영체제란모든 프로그램은 실행을 위해 자원 Resource 을 필요로 한다자원 - 프로그램 실행에 있어서 마땅히 필요한 요소 (컴퓨터의 네 가지 핵심 부품 포함)운영체제는 실행할 프로그램에 필요한 자원을 할당하고 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램이고,운영체제는 중요한 프로그램이기 때문에 커널 영역이라는 특별한 영역에 적재되어 실행된다    운영체제는 사용자를 위한 프로그램이 아니고, 프로그램을 위한 프로그램이다문제 해결 능력 - 오류 메세지에 대한 깊은 이해  09-2 운영체제의 큰 그림  운영체제는 현존하는 프로그램 중 규모가 가장 큰 프로그램 중 하나 운영체제가 제공하는 기능은 다양하지만, 가장 핵심적인 서비스는 존재한다 ..

[OSTEP] 가상화 CH01-CH04

발표 일자 2024.10.14 MON 10:00 a.m. CH01 이 책에 관한 대화앞으로 배울 주제 1) 가상화 2) 병행성 3) 영속성 + 스터디 추가) 가상화는 물리적 자원을 논리 영역에서 재분배하여 효율적으로 사용하는 개념 (물리적 한계를 넘어설 수 있다)CH02 운영체제 개요 운영체제 Operating System 은 시스템 콜을 제공하여 가상 머신과 관련된 여러 가지 작업을 진행하고, 시스템의 자원을 효율적으로 관리할 수 있게 한다 가상화 Virtualization 은 물리적인 자원을 이용해서 가상 형태의 자원을 생성하고, 많은 프로그램들이 동시에 실행될 수 있게 한다 2.1 CPU 가상화하나 또는 소규모의 CPU를 무한 개의 CPU가 존재하는 것처럼 변환하여 동시에 많은 수의 프로그램을 실행..

[혼공컴운] CH06 메모리와 캐시 메모리

CH06 메모리와 캐시 메모리 06-1 RAM 의 특성과 종류 주기억장치의 종류에는 크게 RAM 과 ROM 두 가지가 있고,'메모리' 라는 용어는 그 중 RAM 을 지칭하는 경우가 많다  CPU - RAM 으로부터 명령어와 데이터를 가져와서 실행RAM - 실행할 대상 저장, 휘발성 보조기억장치 - 보관할 대상 저장, 비휘발성 ex) SSD, USB, CD-ROM   DRAM Dynamic RAM 저장된 데이터가 동적으로 사라지는 RAM (전원을 꽂고 있어도 데이터가 점점 사라진다)데이터 소멸을 막기 위해 주기적으로 재활성화 Refresh 필요 일반적으로 메모리로 사용됨 - 상대적으로 소비 전력이 낮고 저렴하고 집적도가 높아 대용량으로 설계하기 용이SRAM Static RAM저장된 데이터가 정적인 (사라지..

[혼공컴운] CH05 CPU 성능 향상 기법

CH05 CPU 성능 향상 기법05-1 빠른 CPU 를 위한 설계 기법 CPU 의 속도를 빠르게 만들어보기1) 컴퓨터 부품들은 '클럭 신호'에 맞춰 일사불란하게 움직인다2) CPU 는 '명령어 사이클' 이라는 정해진 흐름에 맞춰 명령어들을 실행한다 클럭 신호가 빠르게 반복되면 CPU 를 비롯한 컴퓨터 부품들이그만큼 빠른 박자게 맞춰 움직일까? -> 일반적으로는 YES 다만 필요 이상으로 클럭을 높이면 발열이 심각해진다 클럭 속도* 클럭 속도 - 헤르츠 Hz 단위로 측정 * 헤르츠 Hz - 1초에 클럭이 반복되는 횟수클럭이 '똑-딱-' 하고 1초에 한 번 반복되면 1Hz클럭이 1초에 100번 반복되면 100Hz 코어 (Core)현대적인 관점에서 "CPU" 라는 용어를 재해석해야 한다 전통적으로 '명령어를 ..

[혼공컴운] CH04 CPU 와 작동 원리

CH04 CPU 와 작동 원리04-1  ALU 와 제어장치 ALU - 계산하는 장치 제어장치 - 제어 신호를 발생시키고 명령어를 해석하는 장치   ALU 계산하는 장치 계산을 하기 위해서는 피연산자와 수행할 연산이 필요 결과를 레지스터에 저장하는 이유는, CPU 가 메모리에 저장하는 것보다 레지스터에 접근하는 것이 빠르기 때문 플래그플래그 레지스터에 담기는 정보 - 연산 결과에 대한 부가 정보 (연산 결과 - 음수, 0 등) 연산 결과가 (결과를 담을 레지스터에 비해) 너무 클 경우, 플래그 레지스터에 결과가 담긴다  제어 장치제어 장치가 받아 들이는 정보 1) 클럭 신호  2) 해석할 명령어명령어 레지스터에 해석할 명령어가 저장되어 있다  3) 플래그 연산 결과의 부가 정보도 명령어를 해석하는 과정에서..

[혼공컴운] CH01 컴퓨터 구조를 알아야 하는 이유

CH01 컴퓨터 구조를 알아야 하는 이유01-1. 컴퓨터 구조를 알아야 하는 이유문제 해결 능력을 배양할 수 있다 - 컴퓨터를 미지의 대상이 아니라 분석의 대상으로 인식하고 개발할 수 있다성능, 용량, 비용을 고려한 프로그래밍을 할 수 있다 01-2. 컴퓨터 구조의 큰 그림 컴퓨터가 이해하는 두 가지 정보1) 데이터- 숫자, 문자, 이미지, 동영상과 같은 정적인 정보- 컴퓨터와 주고받는/ 내부에 저장된 정보를 데이터라 통칭하기도 한다2) 명령어- 컴퓨터를 실질적으로 움직이는 정보- 데이터는 명령어를 위한 일종의 재료  컴퓨터의 네 가지 핵심 부품1) 메모리- 프로그램이 실행되기 위해서는 메모리에 저장되어 있어야 한다- 메모리는 실행되는 프로그램의 명령어와 데이터를 저장한다 - 메모리에 저장된 값의 위치는..

CH01 컴퓨터 시스템으로의 여행

컴퓨터 시스템은 하드웨어와 시스템 소프트웨어로 구성되며, 이들이 함께 작동하여 응용프로그램을 실행한다모든 컴퓨터 시스템은 유사한 기능을 수행하는 유사한 하드웨어와 소프트웨어 컴포넌트를 가지고 있다1.1 정보는 비트와 컨텍스트로 이루어진다소스 프로그램은 0 과 1 로 표시되는 비트들의 연속이며, Byte 라는 8 bit 단위로 구성된다 각 바이트는 프로그램의 텍스트 문자를 나타낸다 아스키 코드들로만 구성된 프로그램 == 텍스트 파일, 다른 모든 파일은 바이너리 파일이라고 부른다  hello.c 프로그램은 연속된 바이트들로 파일에 저장되고,각 바이트들은 특정 문자에 대응되는 정수 값을 가진다 (ex. 문자 i 는 아스키 코드 105)# hello.c Program#include int main(){ prin..

반응형