트랜지스터(삼 석, 다리 세게 달리고 가운데가 긺. )
- 컴퓨터의 가장 기본적인 요소임
- 컴퓨터는 수천, 수억 개의 수많은 트랜지스터들로 만들어져 있음
- CPU는 트랜지스터 덩어리임
- 컴퓨터에서는 트랜지스터를 전기만 가지고 스위치의 역할을 하는 것으로 쓴다.
- 전기적 신호로 작동함. (진짜 스위치는 물리적인 힘으로 껏다 켰다 해야함.)
- 1 비트는 하나의 트랜지스터라고 보면 된다.
발광 다이오드= LED
- 성질이 다른 두 개의 실리콘을 겹쳐서 N,P다이오드를 만들어서 건전지를 달면 전기가 흘러서 불이 들어옴
- 발광 다이오드에서 좀더 발전해서 트랜지스터가 된다.
트랜지스터로 논리소자를 만들 수 있다.
BOOL 대수 - AND, OR, NOT
도체 - 전기가 흐르는 물질 - 구리, 철, 금, 물, 몸
부도체 - 그릇, 세라믹, 돌
부도체는 저항이 무한대에 가깝다.
도체는 저항이 매우 작다. = 0에 가깝다.
반도체는 도체로 됐다가 부도체로 됐다가 하는 애다.
트랜지스터 → 논리소자 → 계산기 → 컴퓨터
컴퓨터(CPU) ← 트랜지스터 ← 실리콘 ← 규소 ← 모래
컴퓨터를 발명해낸 사람들은 아래와 같다.
튜링
업적
- 튜링테스트(AI를 테스트 하는 기법)
- 튜링 기계 (상상 속의 기계)
- 한줄씩 명령을 수행하는 기계가 있으면 연산을 수행하기 좋겠다 라는 생각을 했다.
폰노이만
업적
- 우주 최강의 두뇌 소유자
- 폰 노이만 기계
- 전자계산기, 전자시계, 네비게이션과 컴퓨터는 차이가 있다.
- 컴퓨터는 프로그램을 교체하면서 모든걸 다 할 수 있었다.
- 튜링 기계랑 비슷한 기계를 만듦
- 초창기 컴퓨터의 구조와 비슷함
컴퓨터란, 명령을 하나씩 순서대로 수행하는 기계다.
명령: Add, Sub, Div, etc,,
CPU의 각 코어는 코어마다 명령을 하나씩 수행함
IP(instruction point)
프로그램은 어떤 명령을 어떤 순서로 수행할 것인지 적어놓은 것을 말한다.
컴퓨터는 1, 0밖에 모르고 add 등 밖에 못한다.
인간이 표현하는 그림, 음악, 문자는 숫자로 표현 가능하다.
A=65, a=97 , , , (ASCII-255개 문자에 코드)
1byte = 8bit 2^8은 256임
0-255 개 만 표현할 수 있다.
영문자만 표현할 수는 없어서 확장으로 UNICode 2byte 를 많이 사용하고 있음.
이미지는 모니터의 1080*720은 가로에 1080픽셀이 있다.
색 → 숫자로 RGB 로 표현할 수 있음
점하나에 LED3개가 묶여있다. RGB(LED)
R - 255, G - 255, B - 255, A - 투명도
4byte숫자를 쭉 나열하면 화면을 보여줄 수 있다.
소리는 주파수에 따른 세기를 통해 나타낼 수 있다.
모든 숫자는 이진수로 표현할 수 있다.
하드웨어란?
비유
요리할 때 레시피가 필요하다. → 요리하는 방법이 적혀있다. ⇒ 프로그램이다.
요리 재료가 필요하다. → 마트가 필요함→ 마트에 버스타고 간다.
이때 마트는 하드디스크임(HDD), 버스는 진짜 버스임
마트에서 사와서 냉장고에 재료를 넣는다. (메모리) 마트보다 가까움
요리준비 끝.
필요한 만큼 마늘과 고기를 꺼내서 도마 위에 놓는다. = CACHE
이렇게 하는 이유는 효율적이기 때문이다.
이때, 도마는 Register 이다. (값을 딱 준비 시켜놓는 자리)
CPU는 요리하는 사람.
요리하는 도중에 마트에 가는 비효율적이고 시간이 오래 걸린다.
메모리에 가기도 그렇고 그래서 캐시를 쓴다.
컴퓨터 성능 3GHZ = 주파수
1초당 연산을 3G만큼 한다.
1초에 3 * 1024(GB) *. 1024(MB) *. 1024(KB) 만큼의 연산을 한다.
해당 글은 [Tucker의 Go 언어 프로그래밍] 1장을 읽고 공부한 글입니다.
'Golang' 카테고리의 다른 글
[묘공단] Go언어 기초 15-17장(문자열, 패키지) (0) | 2024.01.23 |
---|---|
[묘공단] Go언어 기초 12-14장(배열, 구조체, 포인터) (0) | 2024.01.23 |
[묘공단] Go언어 기초 8-11장(상수, if문, switch문, for문) (1) | 2024.01.23 |
[묘공단] Go언어 기초 3-7장(Go언어란?, 변수, 표준입출력, 연산자, 함수) (0) | 2024.01.23 |
[묘공단] Go언어 기초 2장 프로그래밍 언어 (0) | 2024.01.23 |