기본적으로 컴퓨터는 하드웨어와 소프트웨어로 구성 되어있다.
컴퓨터 하드웨어는 CPU,주기억,보조기억,입력 등의 장치와 시스템 버스로 구성된다.
각 구성 요소들은 시스템 버스를 통해 상호 연결 되어있다.
버스 : 컴퓨터 부품간 or 컴퓨터간 데이터와 정보를 전송하는 통로(통신시스템)
- 하드웨어 부품이나 통신 규약인 프로토콜을 아우른다.
Central Processing Unit, CPU이다.
흔히 말하는 암드가 어쩌구..인텔이 어쩌구..하는 그 씨피유 맞다.
산술 연산 논리 연산, 보수 연산, 시프트 연산을 수행한다.
프로그램의 명령어를 해독하여 명령어 실행에 필요한 제어 신호를 발생시키고 컴퓨터의 모든 장치를 제어한다.
중앙 처리 장치 내부에 있는 데이터를 일시적으로 보관하는 임시기억 장치로, 프로그램 실행 중에 사용되며 고속으로 액세스할 수 있다.
우리가 어셈블리어를 통해서 접근 가능한 장소다. 중요한 요소
주기적 장치는 엑세스가 빠르지만 비싸고, 휘발성 메모리다.
기억장치의 계층구조에서 보조기억장치 보다는 빠르고 Cache
메모리보다는 느리다.
중앙처리장치가 직간접적으로 접근하여 데이터를 처리할 수 있는 기억장치로 컴퓨터 내부에서 현재 중앙처리장치가 처리하고 있는 내용을 저장하고 있다.CPU에서 정보를 보내면 그걸 가지고 있다가 연산에 쓴다는 뜻.
하드디스크,SSD 와 같은 비휘발성 메모리며 용량이 크지만 속도는 느리다.
용량이 클수록 버스를 통해 엑세스 하는 시간이 오래 걸린다.
소프트웨어는 시스템 소프트웨어와 응용 소프트웨어로 나눌 수 있다.
기본적으로 소프트웨어는 하드웨어를 동작하도록 제어하는 프로그램의 종류다, 우리가 맨날 코드짜는것도 컴퓨터 놈한테 명령하는거니까. 특이점이온다.
하드웨어를 관리하고 응용 소프트웨어를 실행하는데 필요한 프로그램이다. 우리가 흔히 사용하는 윈도우
,MacOs
처럼 운영체제가 여기 속한다.
인터프리터
(interpreter)는 소스 프로그램을 한 줄씩 기계어로 번역하여 실행하기 때문에 실행 속도가 컴파일러보다 느리다. Basic이나 자바스크립트, HTML, SQL, Python 등컴파일러
(compiler)는 전체 소스 프로그램을 한 번에 기계어로 직접 번역하여 실행하기 때문에 실행 속도가 빠르다. C, C++, C#, 자바