하드웨어 관계와 구조

#SYSTEM_001
Dec 11, 2023
하드웨어 관계와 구조
 
 

🍉 입력구조

 
  • 컴퓨터와 사용자간의 관계
notion image
 
 
  • 사용자가 입력한 문자들을 자바같은 가상머신이 컴파일작업을 통해서 OS가 이해할 수 있는 언어를 변환해준다.
 
  • SHELL언어는 HW가 이해할수 있는 2진수 언어로 변환하여 하드웨어에게 명령을 내린다.
 
  • 특히 C언어 같은경우에는 Windows라는 프로그램에 종속된 언어기 때문에, C언어로 프로그램을 개발한다면 IOS에서 구동이 되지 않는다. 따라서 MAC유저를 위해서 프로그램을 다시 짜야하는 상황이 발생한다.
    • 이런 상황에서 자바같은 가상머신은 OS를 위해 변환해주는 작업을 대행해준다. 그래서 이런 언어로 개발을 하게 된다면은 일을 두번할 상황이 줄어든다.
    • 플러터 언어도 마찬가지이다. 한번 프로그램을 짜놓으면 다른 OS와 호환이 가능해서 효율적이다.
 
 
 
 
 

🍑 기본 통신 체계

 
notion image
 
 
  • 사용자의 언어가 기계가 이해할 수 있는 언어로 변환
 
  • OS는 HW가 이해할 수 있는 8비트언어로 변환 → 인코딩 작업
    • OS언어 SHELL이 아스키코드로 인코딩 되어서 2진수 언어로 전환
 
전달되는 8비트 정보의 모습, 이 8비트의 경우의 수로 아스키 코드와 연결된 문자의 값을 변환할 수 있다.
전달되는 8비트 정보의 모습, 이 8비트의 경우의 수로 아스키 코드와 연결된 문자의 값을 변환할 수 있다.
 
 
 
 
8비트로 표현가능한 경우의 수와 아스키코드 그리고 연결된 문자들 
(출처 https://velog.io/@rkio)
8비트로 표현가능한 경우의 수와 아스키코드 그리고 연결된 문자들 (출처 https://velog.io/@rkio)
 
  • 8비트로 변환된 언어는 전류와 함께 이동 → 통신
 
  • 통신전달된 8비트 언어는 상대방의 HW로 입력됨
 
  • 입력된 8비트 언어를 SHELL언어로 변환 → 디코딩 작업
    • 아스키코드가 OS언어 SHELL로 변환됨
 
 
 
 
 

🍒 하드웨어 구조와 관계

 
 
notion image
 
 
  • cpu에는 레지스터에 저장된 정보를 가지고 연산을 한다. (캐시메모리)
 
  • 버스의 크기 - 한방에 퍼줄 수 있는 용량
    • 레지스터의 처리용량에 따라 프로그램의 버스의 크기를 결정한다.
      • 레지스터크기 32bit에 64bit프로그램을 사용한다면 에러가 난다.
      • 레지스터크기 64bit에 32bit프로그램을 사용한다면 에러는 나지 않으나 속도가 엄청 느려진다.
 
  • 캐시 메모리 - 상대적으로 더 빨리 엑세스할 수 있는 메모리
    • 메모리에 비해서 레지스터를 캐시메모리라 부를수 있다.
    • 하드디스크에 비해서 메모리를 캐시메모리라 부를수 있다.
    • 책상위에 사용중인 책과 책장에 꽂힌 책을 비교한다면 책상위에 바로 사용할 수 있는 책들을 일컫는 경우이다.
 
  • 메모리 (전류기반) - 하드디스크 (물리기반)
    • RAM이 휘발성인 이유는 전류로 데이터를 저장하기 때문
      • 하지만 그 때문에 처리속도 검색속도가 ROM에 비서 100배 정도 차이가남
 
  • 로딩 - 하드디스크에 기록된 물리기반의 정보를 전류기반인 메모리로 변환해주는 과정
 
  • IO (Input Output) → 컴퓨터의 속도에서 제일 오래걸리는 작업.
    • 결국 속도를 줄이기 위해서는 핵심인 IO시간을 줄여야된다. IO 최적화없이 시간줄이는 건은 뛰어봤자 도찐개찐.
 
  • 부팅 - 윈도우 실행시 필요한 정보들을 메모리에 올리는 과정
 
 
 
 
 
 

🥂하이브리드 언어 (두가지의 기능을 갖춘 언어)

 
  • 기능1 - 컴파일
    • 사전에 받은 스크립트를 변환
      • 속도가 빠르다
 
  • 기능2 - 인터프리터
    • 명령을 내림을 동시에 번역 - 실시간 번역
      • 속도가 컴파일에 비해서 상대적으로 느리다.
    • 컴파일이 없는 언어들을 말함
      • 파이썬
 
  • 두가지 기능을 갖춘언어를 하이브리드언어
    • 자바
Share article

More articles

See more posts
RSSPowered by inblog