차곡차곡 성 쌓기
article thumbnail
컴퓨터 구조 #12 - RAM의 특성과 종류
CS/컴퓨터 구조 2024. 1. 30. 23:50

본 카테고리는 "혼자 공부하는 컴퓨터구조 + 운영체제 (강민철 저)" 책과 강의를 기반으로 작성하였습니다. RAM이 크면 뭐가 좋을까? CPU는 메인 메모리(RAM)에서 명령어를 가져와 실행한다. 즉 RAM에 필요한 명령어가 있어야 바로바로 가져올 수 있다. 하지만 RAM의 크기는 한정적이고 휘발성 장치이기 때문에, 모든 명령어를 가지고 있을 수 가 없다. 바로 그래서 보조 기억 장치가 존재하는 것이다. 보조 기억 장치는 비휘발성이면서 비교적 큰 저장 용량을 가진다. 하지만 메모리에서 보조기억 장치에 있는 데이터를 가지오는 것은 빠른 CPU의 연산 속도에 비해 매우 느리다. 따라서 최대한 보조기억 장치에서 데이터를 가져오는 것을 줄여야하기 때문에 RAM에서 최대한 많은 데이터들을 가지고 있는 것이 좋다...

article thumbnail
컴퓨터 구조 #11 - 명렁어 집합 구조, CISC와 RISC
CS/컴퓨터 구조 2024. 1. 30. 15:49

본 카테고리는 "혼자 공부하는 컴퓨터구조 + 운영체제 (강민철 저)" 책과 강의를 기반으로 작성하였습니다. 컴퓨터 구조 #10 - 명령어 병렬 처리 기법(파이프 라인, 비순차적 명령어 처리) CPU 속도를 빠르게 하기 위해선 CPU가 쉬는 시간 없이 명령어를 처리하는 것이 매우 중요하다. 이를 쉽게 구현할 수 있는 방법이 바로 명령어 파이프 라인이다. 명령어 파이프 라인 하나의 명령어 uzinlab.tistory.com 앞선 글에서 CPU를 효율적으로 사용할 수 있는 방법인 파이프 라이닝에 대해 배웠다. 컴퓨터가 수행하는 명령어는 생김새, 연산, 주소 지정 방식 등이 달라 매우 다양하다. 하지만 이 중에서도 파이프 라이닝에 유리한 명령어들이 있다. 과연 이 중에서 파이프라이닝에 유리한 명령어는 무엇일까?..

article thumbnail
컴퓨터 구조 #10 - 명령어 병렬 처리 기법(파이프 라인, 비순차적 명령어 처리)
CS/컴퓨터 구조 2024. 1. 29. 21:59

본 카테고리는 "혼자 공부하는 컴퓨터구조 + 운영체제 (강민철 저)" 책과 강의를 기반으로 작성하였습니다. CPU 속도를 빠르게 하기 위해선 CPU가 쉬는 시간 없이 명령어를 처리하는 것이 매우 중요하다. 이를 쉽게 구현할 수 있는 방법이 바로 명령어 파이프 라인이다. 명령어 파이프 라인 하나의 명령어가 처리되는 과정을 비슷한 시간 간격으로 나누면 다음과 같이 4가지로 나눌 수 있다. 명령어 인출 (Instruction Fetch) 명령어 해석 (Instruction Decode) 명령어 실행 (Execute Instruction) 결과 저장 (Write Back) CPU는 같은 단계가 겹치지만 않는다면 CPU는 각 단계를 동시에 실행할 수 있다! 즉 병렬 처리가 가능하다. 파이프라인은 CPU의 처리 과..

article thumbnail
컴퓨터 구조 #6 - CPU 내부 구성(ALU, 제어 장치)
CS/컴퓨터 구조 2024. 1. 27. 02:02

본 카테고리는 "혼자 공부하는 컴퓨터구조 + 운영체제 (강민철 저)" 책과 강의를 기반으로 작성하였습니다. ALU CPU의 핵심 부품 중 하나로 연산을 담당하는 부품이다. ALU에서 연산을 하기 위해서는 피연산자와 수행할 연산이 필요하다. ▶︎ 받아들이는 정보 제어 장치, 레지스터 ➞ ALU 제어 장치 : 제어 신호 보냄 레지스터 : 피연산자 보냄 ▶︎ 내보내는 정보 ALU ➞ 레지스터, 플래그 레지스터 빠르기 때문에 메모리가 아닌 레지스터에게 보낸다. 레지스터 :결과 값 플래그 레지스터 : 연산 결과에 대한 부가 정보 (ex: 양수, 음수 플래그, 범위 오버) 플래그 레지스터 : 플래그의 종류 부호 플래그 : 연산한 결과의 부호를 나타낸다. 제로 플래그 : 연산 결과가 0인지 나타낸다. 캐리 플래그 :..

article thumbnail
컴퓨터 구조 #5 - 명령의 구조와 주소 지정 방식
CS/컴퓨터 구조 2024. 1. 26. 14:48

본 카테고리는 "혼자 공부하는 컴퓨터구조 + 운영체제 (강민철 저)" 책과 강의를 기반으로 작성하였습니다. 명령의 구조와 주소 지정 방식 명령어는 컴퓨터를 움직이게 하는 정보이다. 우리가 짠 코드가 최종적으로 컴파일되어 컴퓨터가 이해하는 기계어로 변환된 것이다. 이때 명령어는 당연하게도 정해진 구조가 있다. 명령어의 구조에 대하 알아보고, 데이터를 어떻게 저장하는지 주소 지정 방식에 대해 알아본다. 명령어의 구조 명령 코드(operation code)와 오퍼랜드(operand)로 구성되어 있다. 명령 코드 : 명령어가 수행할 연산 오퍼랜드 : 연산에 사용할 데이터 또는 여산에 사용할 데이터가 저장된 위치 무엇을 대상, 무엇을 수행 오퍼랜드 연산에 사용될 데이터 or 연산에 사용될 데이터가 저장된 위치(주..

article thumbnail
컴퓨터 구조 #4 - 저급언어와 고급언어
CS/컴퓨터 구조 2024. 1. 26. 02:36

본 카테고리는 "혼자 공부하는 컴퓨터구조 + 운영체제" 책과 강의를 기반으로 작성하였습니다. 저급언어 기계어 : 0과 1로 이루어진 명령어로 구성 (2진수, 16진수) 어셈블리어 : 기계어를 읽기 편한 상태로 번역한 저급언어 0101 0101 → Push rbp 1100 0011 → ret 고급 언어 컴퓨터가 이해할 수 있는 기계어로 변환하기 위해 인터프리터나 컴파일러가 필수적으로 요구됨 컴파일 언어 인터프리터 언어 ✓ 컴파일 언어 코드가 실행되기 전 컴파일러를 거쳐서 기계어로 변환되어 실행되는 프로그래밍 언어 소스 코드를 전체적으로 컴파일하여 목적 코드(기계어 또는 중간 코드)로 변환 컴파일 과정에서 최적화(주석 제거 등)가 가능하며, 목적 코드는 특정 하드웨어 아키텍처에 최적화되어 실행 C, C++(..

article thumbnail
컴퓨터 구조 #3 - 0과 1로 문자를 표현하는 방법
CS/컴퓨터 구조 2024. 1. 24. 23:57

본 카테고리는 "혼자 공부하는 컴퓨터구조 + 운영체제" 책과 강의를 기반으로 작성하였습니다. 문자 집합과 인코딩 컴퓨터 어떻게 문자를 이해하는지 알기 위해선 다음 3가지 개념을 알고 있어야 한다. 문자 집합, 인코딩, 디코딩 ▶︎ 문자 집합 컴퓨터가 이해할 수 있는 문자의 모음 ex ) 아스키 코드, 유니 코드 등 ▶︎ 인코딩 코드화 하는 과정 문자를 0과 1로 이루어진 문자 코드로 변환하는 과정 ▶︎ 디코딩 코드를 해석하는 과정 0과 1로 표현된 문자 코드를 문자로 변환하는 과정 아스키 코드 초창기 문자 집합 중 하나 알파벳, 아리비아 숫자, 일부 특수 문자 및 제어 문자 표현 7비트로 하나의 문자를 표현 => 128개의 문자 표현 1비트는 오류 검출을 위해 사용되는 패리티 비트 But 한국어, 중국어..

article thumbnail
컴퓨터 구조 #2 - 0과 1로 숫자를 표현하는 방법
CS/컴퓨터 구조 2024. 1. 24. 13:40

본 카테고리는 "혼자 공부하는 컴퓨터구조 + 운영체제" 책과 강의를 기반으로 작성하였습니다 정보단위와 워드 ▶︎ 정보단위 비트 : 0과 1을 표현. 가장 작은 정보 단위 1byte 8bit 1kB 1000Byte 1MB 1000kB 1GB 1000MB 1TB 1000GB c.f) 1024개씩 묶은 단위는 따로 있다. kiB, MiB, GiB, ・・・ ▶︎ 워드(word) CPU가 한 번에 처리할 수 있는 정보의 크기 단위 2 진수 ▶︎ 표기방법 (2) 첨자를 붙이기 앞에 ob 붙이기 ▶︎ 음수 표현하기 : 2의 보수(가장 대표적 방법) 쉬운 방법 : 모든 0과 1을 뒤집고, 1더한 값 ▶︎ 음수와 양수를 어떻게 구별? 예를 들어 01₂은 -11이기도 하면서 1로 표현 됨 → 보기에는 구별 못한다. 하지만..

article thumbnail
컴퓨터 구조 #1 - 대략적인 컴퓨터 구성(CPU, 메모리, 레지스터)
CS/컴퓨터 구조 2024. 1. 24. 01:47

본 카테고리는 "혼자 공부하는 컴퓨터구조 + 운영체제" 책과 강의를 기반으로 작성하였습니다 컴퓨터가 이해하는 정보 ▶︎ 데이터 숫자, 문자, 이미지, 동영상 같은 정적인 정보 컴퓨터와 주고 받는/ 내부에 저장된 정보를 통칭하기도 함 ▶︎ 명령어 컴퓨터는 명령어를 처리하는 기계이다. 명령어는 컴퓨터를 실질적으로 움직이는 정보 데이터는 명령을 위한 정보일 뿐이다. ex) 1과 2를 더하라 명령어 : 더하라 데이터 : 1, 2 컴퓨터의 4가지 핵심 부품 CPU 메모리 보조기억 장치 입축력 장치 4개의 장치를 연결해주고 합치기 위해 메인 보드가 존재한다. 각 핵심 부품에 대해 알아보자. ▶︎ 메모리 메인 메모리(주기억 장치)를 의미하며 RAM이다 -> 휘발성 장치 현재 실행되는 프로그램(프로세스)의 명령어와 데..

728x90