웹사이트를 개발하고 개발한 웹사이트를 이용하기 위해선 서버 컴퓨터가 필요하다.이 때, 서버 컴퓨터는 각기 다른 성능, 용량, 비용을 가지고 있다.고로 훌륭한 개발자라면 상황에 맞는 성능, 용량, 비용을 고려할 수 있는 개발자가 되어야 한다!컴퓨터 구조는 두 가지로 나누
문자집합과 인코딩문자집합컴퓨터가 인식하고 표현할 수 있는 문자의 모음인코딩문자집합에 속한 문자는 컴퓨터가 그대로 이해할 수 없다. (0, 1로만 표현)→ 문자를 변환하는 과정을 인코딩이라고 한다. (컴퓨터가 이해할 수 있게)디코딩인코딩의 반대과정인코딩의 종류 (⭐ 가볍
주소 지정 방식 > 오퍼랜드 필드에서 연산에 사용될 데이터의 위치를 찾는 방법(유효주소 → 데이터가 저장된 위치) 즉시 주소 지정 방식 > 연산에 사용될 데이터를 오퍼랜드 필드에 메모리나 레지스터로 부터 찾지 않고 직접 명시하는 방법
레지스터를 통해 피연산자를 받아들이고, 제어장치로부터 수행할 연산을 알려주는 제어신호를 받아들여 산술 연산, 논리 연산 등 다양한 연산을 수행하는 부품(계산기 같은 느낌..)제어장치로부터 제어 신호를 받아들이기 + 레지스터로부터 피연산자 받아들이기 → 결과값을 레지스터
⭐레지스터의 흐름만 잘 관찰해도 프로그램의 실행 흐름을 파악할 수 있다!⭐1\. 프로그램 카운터→ 메모리에서 가져올 명령어의 주소, 즉 메모리에서 읽어 들일 명령어의 주소를 저장하는 레지스터→ 운영체제에서도 많이 등장하는 녀석.. 2\. 메모리 주소 레지스터→ 메모리의
CPU가 하나의 명령어를 처리하는 과정에는 정해진 흐름이 있고 그 흐름을 명령어 사이클이라고 한다.명령어 사이클이 도는 과정에서 흐름이 끊기는 현상이 발생할 수도 있는데 이를 인터럽트라고 한다.인출 사이클 → 메모리에 있는 명령어를 CPU로 가지고 오는 단계실행 사이클
컴퓨터의 모든 부품을 일사불란하게 움직이게 하는 시간단위.→ 클럭 속도가(Hz) 높으면 일반적으로 CPU의 성능이 좋다. 허나 무작정 높으면 발열 문제가 더 심각해진다. 고로 근본적인 해결책은 아니다.그럼 대표적인 해결책은 뭘까 ? → CPU의 코어와 스레드 수를 늘려
명령어 병렬 처리기법
CPU를 비롯한 하드웨어가 소프트웨어를 어떻게 이해할지에 대한 약속→ CPU마다 ISA가 다를 수 있다.CPU가 이해할 수 있는 명령어들의 모음복잡한 명령어 집합을 활용하는 컴퓨터가변길이 명령어복잡하고 다양한 명령어다양한 주소 지정 방식여러 클럭에 걸쳐 멍령어 수행파이
CPU는 끝~! 드디어 메모리⭐ RAM에는 실행할 프로그램의 명령어와 데이터가 저장되는 공간이다. ⭐앞에서 배운 바로는 RAM은 컴퓨터 전원을 끄면 저장된 명령어와 데이터가 모두 날아가는 휘발성 저장 장치였다. 반면, 전원이 꺼져도 내용이 유지되는 저장장치도 존재하는데
물리주소와 논리주소 > 물리 주소 → 메모리 하드웨어가 사용하는 주소 논리 주소 → CPU와 실행 중인 프로그램이 사용하는 주소
CPU는 프로그램을 실행하는 과정에서 메모리에 저장된 데이터를 빈번하게 사용한다앞 게시물에서도 말했듯이 매번 CPU에 접근해 데이터를 가져오는거 보다 레지스터에 저장하여데이터에 접근하는것이 더 빨랐다. 그럼 레지스터 말고는 다른 방법이 없을까 생각이 들 때,사용하는 저
자기적인 방식으로 데이터를 저장하는 보조기억장치 → 얘네가 바로 비휘발성 저장 장치플래터 → 하드 디스크에서 실질적으로 데이터가 저장되는 곳트랙 → 플래터를 여러 동심원으로 나누었을 때 그중 하나의 원섹터 → 트랙은 마치 피자처럼 여러 조각으로 나누어지는데, 그 중 한
데이터의 안정성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술RAID0, RAID1, RAID2 ... 이런식으로 기능이 달라짐에 따라 숫자가 올라가면서 구성 되어있다.→ 우리는 RAID 0, RAID 1, R
→ 앞서 게시한 CPU와 메모리보다 다루기가 더 까다롭다..입출력장치에는 종류가 너무나도 많다.일반적으로 CPU와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮다.모든 입출력 장치는 각자의 장치 컨트롤러를 통해 컴퓨터 내부와 정보를 주고받고, 장치 컨