Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

Computer Science/컴퓨터 구조18

5. ALU와 제어장치 📱ALU와 제어장치📱 CPU는 크게 ALU, 제어장치, 여러 개의 레지스터로 구성되어 있다. ALU: 계산 장치(Arithmetic and Logical Unit) 제어 장치: 제어 신호 발생 및 명령어 해석 [ALU] ALU가 계산을 하기 위해서 필요한 정보들은? 피연산자와 수행할 연산이다. ALU가 내보내는 정보 피연산자(숫자 등)은 레지스터로 부터 받고, 수행할 연산(사칙연산 등)은 제어장치의 제어신호로 받아들인다. 연산의 결과는 또 레지스터로 보낸다.(메모리보다 접근 속도가 빠르기 때문) ALU는 플래그(flag)라는 정보를 플래그 레지스터에 보내기도 하는데, 플래그는 '연산 결과에 대한 부가 정보'를 말한다. ex. 0과 1로(이진법으로) 숫자로 표현할 때 양수인지 음수인지 컴퓨터가 구별하기 .. 2023. 8. 10.
4. 명령어의 구조 📱명령어의 구조📱 우리가 작성한 소스코드는 컴퓨터 내부에서 저급언어로 변환돼서 실행된다. 저급 언어는 크게 기계어, 어셈블리어로 나뉘고! 이런 저급 언어는 결국 명령어이다. 명령어들은 어떻게 생겼고 어떻게 동작할까? 우리가 강아지에게 명령을 하면 솔아 공 물어와! 라고 할 수 있을 것이다. 컴퓨터에서도 마찬가지로, '무엇에 대해 무엇을 수행하라' 라고 명령을 한다. 명령어의 구조는 간단하게 아래와 같다. 수행할 연산 + 연산에 사용되는 데이터 or 연산에 사용되는 데이터가 저장된 위치. ex. 더해라 + 10과, 20을 ex. 나눠라 + 100을, 메모리 20번지의 값으로 ex. 저장해라 + 10을, 메모리 128번지에 연산코드 + 오퍼렌드(데이터/데이터 위치) 오퍼랜드 오퍼랜드에는 연산에 필요한 데이터.. 2023. 7. 16.
3. 소스코드/명령어 📱소스코드/명령어📱 우리가 작성하는 코드를 컴퓨터가 바로바로 이해하고 실행하는 것일까? iOS 개발을 위해 사용되는 언어인 Swift는 사람, 개발자가 이해하기 쉽게 되어있는 '고급 언어'이다. 즉 우리는 고급 언어로 소스코드를 작성하고 있는 것! ex. Swift, Python, Java... 반면 컴퓨터가 이해하고, 실행하기 위해 필요한 언어는 '저급 언어'이다. 저급언어는 크게 기계어, 어셈블리어로 나눌 수 있다. 기계어? 0과 1로 이루어진 명령어로 구성되어 있다. 0101010101010101010101010101010111100101... or 16진수로 표기 00CB 02AA fd7b... 근데 이걸 우리가 보면.. 외계어 그 자체다. 그래서 이걸 사람이 좀 보고 읽고 이해하기 편하도록 번역.. 2023. 7. 11.
2. 0과 1로 문자 표현 📱0과 1로 문자 표현📱 문자 집합(Character set) 문자 집합은 컴퓨터가 이해할 수 있는 문자들의 모음을 의미한다. 인코딩(encoding) 코드화 하는 과정을 말한다. 문자 인코딩의 경우, 문자를 0과 1로 이루어진 문자 코드로 변환하는 과정을 말한다. 디코딩(decoding) 코드를 해석하는 과정을 말한다. 0과 1로 표현된 문자 코드를 문자로 변환하는 과정을 말한다. ex. JSON Parsing, Coadable, Encodable, Decodable을 다루면서 했던 인코딩 디코딩 아스키 코드 미국정보교환표준부호, 줄여서 ASCII는 영문 알파벳을 사용하는 대표적인 문자 인코딩 초창기 문자 집합 중 하나로 알파벳, 아라비아 숫자 및 일부 특수/제어 문자 포함되어 있음. 문자당 8비트지만.. 2023. 7. 6.
1. 0과 1로 숫자 표현 📱이진법, 십육진법📱 컴퓨터는 기본적으로 0과 1, 즉 이진(binary) 형태의 데이터를 처리한다. 이를 이해하기 위해서는 컴퓨터의 기본 구성 요소인 트랜지스터를 알아야 한다. 트랜지스터는 컴퓨터의 전자 회로에서 중요한 역할을 하는데, 전기 신호를 제어해서 컴퓨터의 작업을 수행한다. 트랜지스터는 스위치로 생각할 수도 있는데, 전기가 흐르면 1, 전기가 흐르지 않으면 0으로 간단하게 표현할 수 있다. 정보 단위 비트(bit) -0과 1을 표현하는 가장 작은 정보 단위 1비트는 꺼짐, 켜짐 즉 2가지를 표현할 수 있다. n비트는? 2^n 즉 2의 n승 가지의 정보 표현이 가능하다. 프로그램은 수많은 비트로 이루어져 있다. 하지만 프로그램의 크기를 전부 비트로 표현하는 것은 한계가 있기 때문에 더 큰 단위가.. 2023. 7. 5.
0. 컴퓨터 구조 개론 📱컴퓨터 구조 개론📱 컴퓨터 구조는 크게 1. 컴퓨터가 이해하는 정보, 그리고 컴퓨터의 네 가지 핵심 부품으로 나눌 수 있다. 1. 컴퓨터가 이해하는 정보 '데이터' 숫자, 문자, 이미지, 동영상 같은 정적인 정보 컴퓨터와 주고받거나 내부에 저장된 정보를 데이터라 통칭하기도 함. ex. 0과 1로 숫자나 문자를 표현하는 방법 '명령어' 컴퓨터는 명령어를 처리하는 기계다! 명령어는 컴퓨터를 실질적으로 움직이는 정보. 데이터는 명령어를 위한 재료로 이해할 수 있음. 예: "Hello, World!"를 출력하라 -> 명령어, "Hello, World"는 데이터 2. 컴퓨터의 네 가지 핵심 부품 라즈베리파이, 맥북, 아이폰, 서버컴퓨터 등 컴퓨터의 종류는 정말 다양하다. 공통적으로 컴퓨터이기 위해 필요한 부품은.. 2023. 7. 3.