Computer Architecture

  • refers to those attributes of the system that are visible to a programmer – those attributes that have a direct impact on the execution of a program (프로그래머에게 보이는 개념)

  • Instruction set: 3-, 2-, 1-, 0-address format, CISC and RISC, ……

  • Data representations: signed magnitude, 2’s complement, floating-point

  • Addressing: direct, indirect, relative, ……

  • I/O mechanisms: memory mapped, I/O mapped

Computer Organization

Synonymous with architecture in many uses
프로그래머에게 보이지 않는 개념(더 로우레벨)
Device를 어떻게 만들 것인가?

Why Learn Computer Architecture

  • CA lies between hardware and software
  • Hardware implies performance
  • Software affects usefulness (ease of use)
  • CA cannot be isolated from software issues (OS, complier, OOP, ……) and technology issues (memory technologies, underlying VLSI trends, ……)

폰노이만 구조

  • 프로그램을 메모리에 저장해서 실행하는 개념
  • 메모리에 저장하는 것이니 CPU 입장에서 불러오는 메모리의 내용만 바꾸면 매번 다른 일을 할 수 있다 => 소프트웨어 라는 개념이 탄생
  • 단점으로는 CPU가 아무리 빨라도 메모리가 bottle neck이 된다는 것.
  • 메모리 용량은 유지하면서 어떻게 하면 속도를 빠르게 할 수 있을까 라는 게 컴퓨터하는 사람들의 중요한 연구 주제

Logic Gates

  • AND/OR/NOT 만 있으면 모든 회로를 다 만들 수 있다(=Complete set)
  • 사실은 여기 중에서도 AND/NOT 아니면 OR/NOT만 있어도 된다.
  • Buffer는 input/output이 똑같은데 왜 필요하나? => logical하게 의미는 없지만 신호의 특성을 바꿔준다
  • NAND가 중요한 게이트, 복잡해보이지만 만들기 쉬움. AND게이트를 만든 다음에 NOT을 붙인다(AND게이트보다 비용이 적게 듬), 수학적으로 문제를 풀 때는 Complete set(AND,OR,NOT)을 써야되지만 NAND게이트만 있으며 다 만들 수 있기 때문에 비용측면에서 많이 쓰인다
  • NOR도 NAND랑 마찬가지.
  • XOR: ODD function(1이 홀수개냐)으로 정의
  • XNOR: EVEN function(1이 짝수개냐)으로 정의

Canonical Form(표준형식)

  • Minterm: 1을 위주로…, AND-OR

  • Maxterm: 0을 위주로…, OR-AND

  • Minterm으로 만들어야 비용을 적게 들일 수 있다

  • 예를 들어, XOR 게이트를 다음과 같이 나타낼 수 있다

    a b f
    0 0 0
    0 1 1
    1 0 1
    1 1 0
  • Minterm

  • 1을 기준으로 표현하여 각 항을 +한다

1
f = a'b + ab'
  • Maxterm
  • 0을 기준으로 표현하여 각 항을 *한다
1
f = (a+b) * (a'+b')