CS

CS

밑바닥부터 만드는 컴퓨팅 시스템 ch03

3 메모리조합 칩 - 시간과 무관한 칩순차 칩 - 시간에 무관한 조합 칩과 달리, 현재 시점의 입력 뿐만 아니라 이전에 처리했던 입력 및 출력에도 영향을 받음클록틱 톡 이라는 2진 신호를 연속적으로 생성하는 것 => 클록틱의 시작과 톡의 종료 사이의 시간 => 주기DFF(데이터 플립 플롭)DFF란 out(t) = in(t-1) 이라는 식을 만족하는 칩순차 칩의 가장 기본적인 형태DFF는 이전의 입력을 기억하고, 현재 입력을 다음 클록 신호에 전달즉, 현재 출력은 이전 클록 신호의 입력과 같음ALU에 x + y를 계산하는 명령을 내렸다고 가정할 때, x는 근처 레지스터의 값이고 y는 멀리 위치한 RAM 레지스터의 값이라고 가정x,y의 전기신호가 ALU에 도착하는 시점이 서를 다를 가능성이 높음=> 컴퓨터 ..

CS

컴파일러 VS 인터프리터

컴파일러란?컴파일러는 프로그래밍 언어로 작성된 코드를 기계어로 변환하는 프로그램이다. 컴파일 과정은 소스 코드를 한 번에 전체적으로 분석하고, 이를 실행 파일로 변환하여 이후 실행할 때 별도의 변환 과정 없이 실행 가능하게 만든다.컴파일러의 주요 특징전체 번역: 프로그램 전체를 한 번에 번역한다.빠른 실행 속도: 실행 파일로 변환되기 때문에 실행 시 속도가 빠르다.에러 탐지: 컴파일 시점에 대부분의 문법적 오류를 발견할 수 있다.대표적인 컴파일러 기반 언어CC++Java (컴파일 후 바이트코드로 변환, JVM에서 실행)인터프리터란?인터프리터는 소스 코드를 한 줄씩 읽고, 실행 시마다 즉석에서 기계어로 변환하며 실행하는 프로그램이다. 인터프리터는 실행 단계에서 소스 코드의 각 명령어를 번역하고 실행한다.인..

CS

RISC vs CISC: 컴퓨터 아키텍처의 두 가지 접근법

개요컴퓨터 아키텍처는 컴퓨터의 성능과 효율성에 큰 영향을 미칩니다. RISC(Reduced Instruction Set Computer)와 CISC(Complex Instruction Set Computer)는 두 가지 주요 명령어 집합 아키텍처입니다. 이 글에서는 RISC와 CISC의 기본 개념, 특징, 장단점, 그리고 현대 컴퓨터에서 이 두 아키텍처가 어떻게 적용되고 있는지를 살펴보겠습니다.1. 기본 개념1.1 CISC (Complex Instruction Set Computer)정의: CISC는 복잡한 명령어 세트를 사용하여 하나의 명령어로 여러 작업을 수행할 수 있는 아키텍처입니다.특징:명령어 집합: 다양한 명령어가 제공되며, 각 명령어는 여러 개의 마이크로 코드로 내부적으로 처리됩니다.가변 길이..

CS

정적 배열(Static Arrays)과 동적 배열(Dynamic Arrays)

데이터 구조에서 배열은 메모리 할당 개념에 따라 두 가지 방식으로 정의될 수 있다.배열의 유형기본적으로 배열에는 두 가지 유형이 있다.정적 배열 : 컴파일 타임에 고정된 크기의 메모리가 할당됨. 이 배열의 크기를 변경하거나 업데이트 할 수 없음 O(1)동적 배열 : 메모리가 런타임에 할당되지만 크기는 고정되지 않음.  배열의 크기를 변경하거나 업데이트가 가능. O(N)정적 배열과 동적 배열의 예시int a[5] = {1, 2, 3, 4, 5}; //Static Integer Arrayint *a = new int[5]; //Dynamic Integer Array정적 배열 : int a[5] = {1, 2, 3, 4, 5};a라는 배열은 1, 2, 3, 4, 5 의 값으로 선언과 동시에 초기화 된다. 따라..

CS

하이퍼바이저(Hypervisor)

하이퍼 바이저란?가상머신 하이퍼바이저(Hypervisor)는 컴퓨터 하드웨어 위에서 다수의 운영체제를 동시에 실행할 수 있게 해주는 소프트웨어이다. 하이퍼바이저는 기본적으로 물리적 호스트 시스템에서 실행되며, 각 가상머신(VM)은 독립적으로 운영체제를 실행할 수 있다. 하이퍼바이저는 두 가지 주요 유형으로 나뉜다타입 1(베어 메탈)과 타입 2(호스트형) 하이퍼바이저이다.타입 1 하이퍼바이저 (베어 메탈)- 정의: 직접 하드웨어에서 실행되며, 운영체제 없이 바로 물리적 서버의 리소스를 관리.- 예시: VMware ESXi, Microsoft Hyper-V, Xen- 특징: 더 나은 성능과 보안, 낮은 오버헤드, 더 높은 안정성타입 2 하이퍼바이저 (호스트형)- 정의: 기존 운영체제 위에서 실행되는 하이퍼바..

CS

도커와 VM의 차이

도커와 VM(가상 머신)의 차이에 대해 알아보자도커 (Docker)도커는 컨테이너 기술을 사용하여 소프트웨어 애플리케이션을 격리된 환경에서 실행할 수 있게 하는 플랫폼이다.도커 컨테이너는 애플리케이션과 그 종속성을 하나의 패키지로 묶어서, 어디서든 동일하게 실행할 수 있도록 한다. 가상머신 (Virtual Machine, VM)가상머신은 물리적인 하드웨어 위에서 여러 개의 독립된 운영체제를 실행할 수 있게 하는 기술이다.VM은 하이퍼바이저(가상화 소프트웨어)를 사용하여 물리적 자원을 분할하고, 각 VM이 독립된 시스템처럼 작동하도록 한다.  하이퍼 바이저에 대한 설명은 하단 링크에 들어가 살펴보자https://jspark33.tistory.com/116아래의 그림은 도커와 VM의 작동 방식을 나타낸 그림..

HoyiTT
'CS' 카테고리의 글 목록