The World of ISA

이은서·2022년 8월 3일
0

TellMe

목록 보기
2/10
post-custom-banner

What is...


❓What is a ISA?

❕CPU마다 제각기 언어가 다르다
∴ 👩‍💻프로그래머가 짠 코드를 해당 CPU에 맞게 번역해 주어야 프로그램이 돌아간다
➩ 번역 = 컴파일


🖇️컴파일?
processor가 쉽게 0/1로 바꿀 수 있으면서
인간도 살짝 이해할 수 있는 언어: (Assembly Language) 로 바꾸는 것
➩ 실행파일 .exe , .dll 로 바뀜.
processor = CPU

⌨️Assembly Language?
기계에게 프로그램을 실행시키기 위한 모든 스텝들을 하나하나 설명
=C코드 따위가 변환되어 processor가 코드를 실행하기 위해 따라야 하는 명령들로 나뉜다

e.g.)

명령어수행
LOAD 0X001메모리에 공간예약
PUT 2, 0X001해당 메모리 주소에 숫자 넣기
ADD 0X001, 0X002, 0X003메모리 주소 내부에 값 추가
* ISA별로 이 명령어가 다를 수 있다.

  • ISA = CPU들의 언어 = 기계어
  • Instruction Set Architecture



🤷‍♀️ARM AMD?

They are all ISAs; ISA의 종류들이다. 그밖에도 x86 등이 대표적이다.

多인 이유?
특정 ISA 겨냥 프로그램 을 다른 ISA 기반의 CPU 에서 돌아가게 하기 힘들다.


🥊Competition

IntelAMD는 CPU 부문에서 서로에게 유일한 경쟁사이다.
Intel이 사용하는 CPU에는 x86라는 ISA가 사용되는데, AMD 역시 x86-64에 맞게 CPU를 설계해왔다.



Then & Now


Then: x86의 시대
1981년부터 대세로 자리잡은 x86. 그로부터는 x86의 독주체제였다. 세상에 나와있는 수많은 프로그램들이 이미 x86에 맞춰져 호환이 어려웠기 때문이다. 소프트웨어 회사들 역시 비용을 들여 다른 isa에 맞춰 프로그램을 개발할 필요성을 굳이 느끼지 못했다.

Now: ARM VS Intel
ARM은 Intel이나 AMD와는 조금 다른 행보를 보여주었다.
Intel과 AMD가 자신만의 CPU를 온전히 만들어냈다면,
ARM은 뼈대까지만 만든 설계도를 다른 CPU 설계사에게 제공하면(licensing IP), 설계도를 산 회사가 살을 붙여 CPU를 완성하는 식이다.
ARM은 처음에는 모바일 기기에서만 유명했으나, 점차 노트북과 서버로 영역을 확장해나가고 있다. ARM의 활발한 이용 덕분에 서버비용은 저렴해지고 속도는 빨라지고 있는 추세이다.




The Differences: ARM| Intel&AMD


어셈블리어 내 명령어도 물론 다르지만, processor가 이용하는 architecture에 따라서도 그 차이가 도드라진다.

CISC & RISC

x86 processor는 CISC를 쓰는 반면, ARM processor는 RISC를 쓴다.

processorarchitecture
x86: Intel & AMDCISC
ARMRISC

CISC: Complex IS Computing = 복잡한 작업 수행. = 지시사항이 더 多 = more energy needed
RISC: Reduced IS Computing = 기본작업을 빠르게. = less features, less transistors = less space, less money

Why do we still use CISC?

  • CISC와 RISC는 서로에게 영향을 주며 점차 그 경계가 모호해지게 되었다. ARM은 더 많은 명령들을 추가했고, x86 역시 일부 RISC 기능을 적용하였다.
  • x86 기반 소프트웨어는 이미 많이 사용되고 있기 때문이다.




ARM Usages


  • mobile, iOT devices
  • Apple M1 chips for their computers
  • Amazon's Graviton Server
  • MS surface PCs

AMD도 ARM 칩을?
https://techrecipe.co.kr/posts/33860

post-custom-banner

0개의 댓글