[혼공컴운] 명령어

5w31892p·2023년 5월 1일
0

혼공컴운

목록 보기
3/3

소스코드와 명령어

고급언어

  • 개발자가 이해하기 쉽게 만든 언어 (프로그래밍언어)
  • 컴파일 언어, 인터프리터 언어

컴파일 언어

  • 컴파일을 통해 저급언어로 변환
  • 컴파일러에 의해 저급언어로 변환 (처음부터 끝까지 다 보고 변환) -> 컴파일
  • 컴파일의 결과로 저급언어인 목적코드(Object Code) 생성
  • 컴파일 중 오류 발생하면 소스코드 전체 실행 안됨

인터프리터 언어

  • 인터프리트를 통해 저급언어로 변환
  • 인터프리터에 의해 한줄씩 실행
  • 소스코드 전체가 저급언어로 변환되기까지 기다릴 필요없음
  • 소스코드 인터프리트 중 오류 발생하면 오류 발생 전까지의 코드는 실행
    위 두가지 방식만 있는 것이 아닌 많은 방식이 있지만 대표적인 방식이 컴파일 방식과 인터프리트 방식

저급언어

  • 컴퓨터가 이해하고 실행하는 언어 (명령어)
  • 기계어, 어셈블리어

기계어

  • 0과 1로 표현 (이진수로 이루어진 명령어)
  • 십육진로도도 표현

어셈블리어

  • 0과 1로 이루어진 기계어를 읽기 편한 형태로 변역
  • 소스코드에 명시하며 개발하기도 함

명령어의 구조

명령어의 구조

  • 오퍼랜드
    • 무엇을 대상으로??
    • 연산에 사용될 데이터 or 연산에 사용될 데이터가 저장된 위치
  • 연산 코드
    • 무엇을 수행하라!!
    • 수행할 연산

오퍼랜드

  • 연산에 사용될 데이터 또는 연산에 사용될 데이터가 저장된 위치
  • 사용될 데이터가 저장된 위치를 더 자주 저장하고 사용함
    • 사용될 데이터가 저장된 위치 == 주소필드
    • 명령어에서 표현할 수 있는 데이터 크기가 제한 되기 때문에 더 자주 사용
    • 그래서 메모리 주소나 레지스터 등의 주소를 적어 표현할 수있는 데이터 크기를 키우는 것
  • 없는 경우도 있고, 하나 이상인 경우도 있음

연산코드

  • 수행할 연산
  • CPU마다 다 다름
  • 연산코드 종류
    • 데이터 전송 : 옮겨라, 저장해라, 가져와라 ...
    • 산술 / 논리 연산 : 더해라, 빼라, 비교해라 ...
    • 제어 흐름 변경 : 순서 옮겨라, 돌아가라, 멈춰라 ...
    • 입출력 제어 : 읽어라, 써라, 시작해라, 확인해라 ...

명령어 주소 지정방식

  • 유효주소 (effective address)
    연산에 사용될 데이터가 저장된 위치
  • 명령어 주소 지정 방식 (addressing modes)
    • CPU가 연산에 사용할 데이터 저장 위치 찾는 방법
    • 유효 주소 찾는 방법
    • 다양한 명령어 주소 지정 방식들이 있음

메모리에 저장

즉시 주소 지정 방식 (immediate addressing mode)

  • 연산에 사용할 데이터를 오퍼랜드 필드에 직접 명시
  • 가장 간단한 형태의 주소 지정 방식
  • 연산에 사용할 데이터 크기가 작아질 수 있지만, 속도 빠름

직접 주소 지정 방식 (direct addressing mode)

  • 오퍼랜드 필드에 유효 주소 직접적으로 명시
  • 즉, 유효주소를 찾아갔더니 사용될 데이터 있음
  • 유효 주소를 표현할 수 있는 크기가 연산 코드만큼 줄어듦

간접 주소 지정 방식 (indirect addressing mode) - 메모리에

  • 오퍼랜드 필드에 유효 주소의 주소 명시
  • 앞선 주소 지정 방식들에 비해 속도 느림

레지스터에 저장

레지스터 주소 지정 방식 (register addressing mode)

  • 연산에 사용될 데이터가 저장된 레지스터 명시
  • 메모리에 접근하는 속도보다 레지스터에 접근하는 것이 빠름

레지스터 간접 주소 지정 방식 (register indrect addressing mode)

  • 연산에 사용될 데이터를 메모리에 저장
  • 그 주소를 저장한 레지스터를 명시

메모리는 CPU 밖에 있고, 레지스터는 CPU 안에 있기 때문에 레지스터에 저장하는 것의 속도가 빠르다.

스택

  • 한쪽 끝이 막혀있는 자료구조
  • 선입후출 구조

  • 양쪽 끝이 뚫려 있는 자료구조
  • 선입선출 구조

인프런 강의

0개의 댓글